web-fetch-linkup

📁 romainjeff/linkup-fetch-skill 📅 2 days ago
1
总安装量
1
周安装量
#44972
全站排名
安装命令
npx skills add https://github.com/romainjeff/linkup-fetch-skill --skill web-fetch-linkup

Agent 安装分布

amp 1
opencode 1
kimi-cli 1
codex 1
github-copilot 1
claude-code 1

Skill 文档

Web Fetch with Linkup

Fetch clean web content via the Linkup API using a standalone Python script.

Prerequisites

A .env file in the skill directory (.claude/skills/web-fetch-linkup/.env) with:

LINKUP_API_KEY=your_api_key_here

See .env.example for the template.

Workflow

Step 1: Collect the URL

Get the URL from the user via AskUserQuestion or directly if provided in the request.

Step 2: Fetch the content

Run the script using Bash:

python3 .claude/skills/web-fetch-linkup/fetch.py "<URL>"

Options:

Flag Effect
--no-render-js Disable JavaScript rendering (default: enabled)
--extract-images Include image URLs in output
--include-raw-html Include raw HTML in output

Examples:

# Standard fetch (JS rendering enabled)
python3 .claude/skills/web-fetch-linkup/fetch.py "https://example.com/article"

# Static page, faster
python3 .claude/skills/web-fetch-linkup/fetch.py "https://example.com" --no-render-js

# With images
python3 .claude/skills/web-fetch-linkup/fetch.py "https://example.com" --extract-images

Step 3: Parse the response

The script outputs JSON on stdout with:

  • url — The fetched URL
  • markdown — The extracted content in Markdown format
  • images — (only with --extract-images) List of image URLs
  • rawHtml — (only with --include-raw-html) Raw HTML source

Step 4: Save the content

Create a file in fetched-content/ with the format:

Filename: {domain}-{YYYYMMDD-HHmmss}.md

Structure:

---
source: <URL>
fetched_at: <ISO timestamp>
---

# <Title inferred from content>

<Extracted markdown content>

Step 5: Confirm

Inform the user of the created file path.

Exit codes

Code Meaning
0 Success
1 .env missing or LINKUP_API_KEY not set
3 401 — Invalid or expired API key
4 429 — Rate limit exceeded
5 Other HTTP error
6 Network error (DNS, timeout, etc.)

Error handling

Error Action
Exit 1 Check .claude/skills/web-fetch-linkup/.env exists with LINKUP_API_KEY
Exit 3 API key is invalid or expired — get a new one at https://app.linkup.so
Exit 4 Rate limit — wait before retrying
Exit 5 Check stderr for HTTP status details
Exit 6 Network issue — retry with --no-render-js if timeout

Usage examples

Fetch an article:

“Fetch the content of https://example.com/article

Fetch documentation:

“Use linkup to scrape https://docs.example.com/api

Dynamic page:

“Extract content from this React page: https://app.example.com/dashboard