From writing-workflows
Converts web URLs to cleaned Markdown with site-specific routing: r.jina.ai for general/X/Twitter pages, defuddle.md for YouTube, browser-impersonated extraction for WeChat/Zhihu/Feishu using Mozilla Readability and Turndown.
npx claudepluginhub rookie-ricardo/erduo-skills --plugin writing-workflowsThis skill uses the workspace's default tool permissions.
Convert URLs into usable Markdown by applying domain-aware fetching routes, then return the cleaned content directly.
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.
Routes website URLs through markdown.new for clean Markdown views of docs, blogs, changelogs, and GitHub issues to extract notes or summarize.
Fetches any URL as clean markdown using OpenCLI for login platforms (Twitter/X, Reddit, Zhihu, Weibo) or Jina Reader/defuddle chain for generic pages. For JS-rendered, paywalled, or complex content.
Share bugs, ideas, or general feedback.
Convert URLs into usable Markdown by applying domain-aware fetching routes, then return the cleaned content directly.
r.jina.ai: general web + X/Twitter.defuddle.md: YouTube transcript/content extraction.special-browser-fetch: WeChat/Zhihu/Feishu.For generic URLs (non-YouTube, non-WeChat/Zhihu/Feishu), use this fallback chain:
r.jina.ai first,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
https://r.jina.ai/<url>.youtube.com, youtu.be): https://defuddle.md/<url>.x.com, twitter.com): https://r.jina.ai/<url>.scripts/fetch_special_sites.mjs.https://defuddle.md/https://... or https://r.jina.ai/https://...), normalize back to the original URL and re-apply routing.Use a two-stage strategy for WeChat/Zhihu/Feishu:
cuimp HTTP/TLS impersonation first, then clean HTML with Mozilla Readability.puppeteer-extra browser impersonation.cuimp.sec-ch-ua headers.CHROME_PATH first, then system Chrome/Chromium/Edge paths.If special-site extraction fails due to anti-bot checks, account-only pages, or network limits, report failure clearly and ask for fallback input (for example raw page text).
For normal usage, output markdown only.
When --json is used, return:
source: backend source (r.jina.ai, defuddle, cuimp, browser-readability).strategy: selected route (r-jina, defuddle, special-http-fetch, special-browser-fetch-fallback).requestedUrl: original input.resolvedUrl: normalized/final URL.markdown: extracted markdown body.scripts/url_to_markdown.mjs: primary entrypoint.scripts/fetch_special_sites_http.mjs: WeChat/Zhihu/Feishu HTTP impersonation fetcher (cuimp JS).scripts/fetch_special_sites.mjs: two-stage extractor (HTTP-first, browser-fallback).