All skills
oaustegard avatar

/fetching-blocked-urls

@6154d36

Retrieve clean markdown from URLs when web_fetch fails. Converts pages via Jina AI reader service with automatic retry. Use when web_fetch or curl returns 403, blocked, paywall, timeout, JavaScript-rendering errors, or empty content or user explicitly suggests using jina.

Use this Skill: https://skilld.dev/gh/oaustegard/claude-skills/fetching-blocked-urls

This session only. Nothing lands on disk.

SKILL.md

≈74 tokens always: the name and description. ≈408 when used: this file. ≈146 more on demand in 2 files.

Fetching Blocked URLs

Retrieve readable content from URLs that web_fetch cannot access. Jina AI's reader service renders JavaScript, bypasses soft blocks, and returns clean markdown.

Activation Triggers

Invoke this skill immediately when web_fetch returns:

  • 403 Forbidden or access denied
  • Paywall or login wall indicators
  • Empty, garbled, or truncated content
  • JavaScript-heavy SPA failures
  • Timeout errors

Core Command

curl -s --max-time 30 "https://r.jina.ai/TARGET_URL"

The service returns markdown with page title, body text, and preserved links.

Retry Pattern

Jina's backend has ~10% intermittent failures. Use retry logic to achieve 99%+ success:

for attempt in 1 2 3; do
  result=$(curl -s --max-time 30 "https://r.jina.ai/TARGET_URL" 2>&1)
  echo "$result" | grep -q "upstream connect error" || { echo "$result"; break; }
  [ $attempt -lt 3 ] && sleep 1
done

Workflow Integration

  1. Primary: Use web_fetch (native tool)
  2. Fallback: This skill with retry when web_fetch fails
  3. Escalate: Request user assistance only after retry exhaustion

Attempt this fallback before asking users to copy-paste content manually.

Output Format

Jina returns structured markdown:

  • Title: page title
  • URL Source: original URL
  • Markdown Content: extracted body text, links preserved

Limitations

  • Long pages may truncate
  • Sites blocking all scrapers remain inaccessible
  • Login-required content limited to public portions
  • Real-time dynamic content may not render

Domain Access

r.jina.ai is whitelisted in Claude container network configuration.

Source: SKILL.md on GitHub

2 warnings3d4 checks · Risk SAFE
  • Gen Agent Trust Hub3d

    This skill provides a fallback mechanism to fetch and convert web content into markdown using Jina AI's reader service. It utilizes shell-based curl commands for data retrieval. The primary security consideration is that the skill processes untrusted content from arbitrary URLs, which could contain malicious instructions designed to influence the agent's behavior.

  • Socket3d

    No alerts

  • Snyk3d

    Risk: MEDIUM · 1 issue

  • Runlayer7mo

    4/4 files flagged

Signed by skilld at 6154d36. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 3 months ago
metadata
{
  "version": "0.1.1"
}

README badge

README badge for oaustegard/claude-skills/fetching-blocked-urls