From web-to-markdown
Fetch web pages and save them as clean Markdown files into a docs/ directory. Use when the user provides a URL and wants its content saved as a local .md file for reference — especially documentation pages, API references, blog posts, or technical guides. Triggers on requests like "save this page as markdown", "fetch this docs page", "grab this URL into docs/", or when given a URL with intent to capture its content locally. Supports Cloudflare Markdown for Agents (Accept text/markdown) for higher quality output on supported sites, with automatic HTML-to-Markdown fallback for all other sites. Configurable via CLOUDFLARE_API_KEY environment variable for authenticated Cloudflare access.
How this skill is triggered — by the user, by Claude, or both
Slash command
/web-to-markdown:web-to-markdownThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Fetch a URL and save its content as a clean `.md` file in the project's `docs/` directory.
Fetch a URL and save its content as a clean .md file in the project's docs/ directory.
Run the bundled script:
python3 <skill-path>/scripts/fetch_markdown.py <url> [--output <path>]
The script automatically:
Accept: text/markdown header (Cloudflare Markdown for Agents)docs/<url-derived-name>.md by default| Flag | Description | Default |
|---|---|---|
--output, -o | Custom output path | docs/<name>.md |
--api-key | Cloudflare API key | $CLOUDFLARE_API_KEY env |
--zone-id | Cloudflare Zone ID | $CLOUDFLARE_ZONE_ID env |
python3 <skill-path>/scripts/fetch_markdown.py "https://react.dev/reference/react/useState"
# → docs/reference_react_useState.md
python3 <skill-path>/scripts/fetch_markdown.py "https://docs.example.com/api" --output docs/api/example-api.md
python3 <skill-path>/scripts/fetch_markdown.py "https://docs.example.com/getting-started" --output docs/getting-started.md
python3 <skill-path>/scripts/fetch_markdown.py "https://docs.example.com/api-reference" --output docs/api-reference.md
export CLOUDFLARE_API_KEY="your-key"
python3 <skill-path>/scripts/fetch_markdown.py "https://example.com/docs"
<main>, <article>, or <body> content, strips nav/footer/scripts, and converts to markdown. Quality is good for documentation sites but may include some noise for complex layouts.Each saved file includes source metadata:
<!-- Source: https://example.com/docs/page -->
<!-- Fetched: 2026-02-17 14:30 -->
# Page Title
...content...
Accept: text/markdown header works without authentication on many Cloudflare-proxied sites that have enabled the featurefetch_markdown.py — Main fetch and conversion script. Zero dependencies, runs with Python 3.10+.npx claudepluginhub rungchan2/frontend-skills --plugin web-to-markdownFetches any URL and converts to clean markdown using baoyu-fetch CLI (Chrome CDP with site-specific adapters). Built-in support for X/Twitter, YouTube transcripts, Hacker News, and generic pages. Handles login/CAPTCHA via interaction wait modes.
Extracts clean Markdown from any URL using ezycopy CLI. Handles JS-rendered pages with headless Chrome, retries on failure, and auto-installs tool if needed.
Fetches any URL and returns clean Markdown via local trafilatura, with Exa MCP fallback for JS-rendered or anti-bot pages. Use instead of built-in WebFetch for reading, scraping, or summarizing web pages.