
Web To Markdown
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-codeInstalls 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
- Normalize and validate the input URL.
- Select route:
r.jina.ai: general web + X/Twitter.defuddle.md: YouTube transcript/content extraction.special-browser-fetch: WeChat/Zhihu/Feishu.
- Return markdown text (or JSON metadata if needed).
For generic URLs (non-YouTube, non-WeChat/Zhihu/Feishu), use this fallback chain:
- try
r.jina.aifirst, - 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