AgentStack
SKILL verified MIT Self-run

Webfetch Patterns

skill-jasondocton-rad-claude-webfetch-patterns · by JasonDocton

Fetch web content via Gemini CLI when direct access fails. Triggers on WebFetch 403/blocked errors, Reddit URLs, or sites with bot protection.

No reviews yet
0 installs
5 views
0.0% view→install

Install

$ agentstack add skill-jasondocton-rad-claude-webfetch-patterns

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Webfetch Patterns? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Gemini CLI Web Bridge

Execution Model

Run as subagent to isolate tmux noise from main session.

Output contract: Return ONLY raw content wrapped in `` tags, then terminate immediately. No logs, no status updates, no commentary.

Protocol

1. Init Session

S="fetch_$(date +%s)"
tmux new-session -d -s "$S" -x 200 -y 50
tmux send-keys -t "$S" 'gemini' Enter
sleep 2

2. Send Request

tmux send-keys -t "$S" "Fetch and return full text from: [URL]. No summaries." Enter

3. Poll Until Complete

Loop until READY or FAILURE. Wait 3s between polls, max 15 attempts.

tmux capture-pane -t "$S" -p | awk '
  /Type your message/ {print "READY"; exit}
  /[Rr]ate.[Ll]imit|[Qq]uota/ {print "FAILURE:THROTTLED"; exit}
  /[Ss]ign.[Ii]n|[Ll]ogin/ {print "FAILURE:AUTH"; exit}
  /Internal error|unexpected/ {print "FAILURE:ERROR"; exit}
  END {print "PENDING"}
'
Stuck in PENDING? Visual State Check

Capture pane and inspect where YOUR QUERY appears relative to the input box:

Enter NOT sent — query is INSIDE the bordered box:

╭─────────────────────────────────────╮
│ > Your query text here              │
╰─────────────────────────────────────╯

→ Fix: tmux send-keys -t "$S" Enter

Enter WAS sent — query is OUTSIDE box, activity below:

> Your query text here
⠋ Working...
╭─────────────────────────────────────╮
│ > Type your message                 │
╰─────────────────────────────────────╯

→ Keep polling. For complex queries, extend max attempts to 30.

4. Extract & Return

tmux capture-pane -t "$S" -p -S -1500 > /tmp/"$S".txt
cat /tmp/"$S".txt
tmux kill-session -t "$S"
rm /tmp/"$S".txt

Parse the Gemini response from captured output. Strip tmux UI artifacts (boxes, prompts, spinners). Return only the substantive content:


[extracted content only]

Failure Handling

On any FAILURE:* status or max poll timeout:


ERROR: [reason] - Unable to fetch [URL]

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.