Takes a URL and returns clean Markdown, with smart routing under the hood. General pages hit r.jina.ai, YouTube goes through defuddle.md for transcript extraction, and paywalled Chinese sites like WeChat, Zhihu, and Feishu get a two-stage treatment: HTTP impersonation with cuimp first, then Puppeteer with browser fingerprinting if that fails. The fallback chain is sensible, it handles pre-proxied URLs correctly, and the JSON mode gives you provenance metadata so you know which backend actually worked. Useful when you're building agents that need to ingest web content reliably without maintaining your own anti-bot infrastructure for every regional platform.

skills.sh installs
249
GitHub stars
943
last updated
Aug 21, 2026

Install

$ npx -y skills add rookie-ricardo/erduo-skills --skill web-to-markdown --agent claude-code

Installs into .claude/skills of the current project.

Files

Web To Markdown

Convert URLs into usable Markdown by applying domain-aware fetching routes, then return the cleaned content directly.

Quick Workflow

  1. Normalize and validate the input URL.
  2. Select route:
  • r.jina.ai: general web + X/Twitter.
  • defuddle.md: YouTube transcript/content extraction.
  • special-browser-fetch: WeChat/Zhihu/Feishu.
  1. Return markdown text (or JSON metadata if needed).

For generic URLs (non-YouTube, non-WeChat/Zhihu/Feishu), use this fallback chain:

  • try r.jina.ai first,
  • if it fails, fallback to direct HTTP fetch + Readability,
  • if direct fetch still fails or returns shell-like content, fallback to browser extraction.

Commands

Run from this skill directory (skills/web-to-markdown):

npm install
node scripts/url_to_markdown.mjs <url>

Return metadata with markdown:

node scripts/url_to_markdown.mjs <url> --json

Force special-site browser extraction:

node scripts/fetch_special_sites.mjs <url> --json

Routing Policy

Sponsors

Details

Repository
github.com/rookie-ricardo/erduo-skills
Category
Automation & Workflows
First seen
Jun 3, 2026

More from rookie-ricardo/erduo-skills

All 6
1jwilger avatarmemory-protocoljwilger/agent-skillsPersistent cross-session memory using Memento MCP knowledge graph (mcp__memento__* tools). Recall-before-acting: search memory before starting tasks, on errors,248skills.sh installs
2membranedev avatarmailchimpmembranedev/application-skillsMailchimp integration. Manage marketing automation data, records, and workflows. Use when the user wants to interact with Mailchimp data.247skills.sh installs
3davila7 avatardaskdavila7/claude-code-templatesParallel/distributed computing. Scale pandas/NumPy beyond memory, parallel DataFrames/Arrays, multi-file processing, task graphs, for larger-than-RAM datasets a246skills.sh installs
4netease-youdao avatarweb-searchnetease-youdao/lobsteraiReal-time web search using Playwright-controlled browser. Use this skill when you need current information, latest documentation, recent news, or any data beyon246skills.sh installs
5davila7 avatardoc-coauthoringdavila7/claude-code-templatesGuide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs,245skills.sh installs
6membranedev avatarcisco-merakimembranedev/application-skillsCisco Meraki integration. Manage data, records, and automate workflows. Use when the user wants to interact with Cisco Meraki data.245skills.sh installs