Claude Marketplaces
SkillsMCP serversMarketplacesDigestTools
Submit

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP servers by category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control
Claude Marketplaces

An independent directory of skills, plugins and MCP servers for Claude Code. Not affiliated with Anthropic.

Browse

  • Skills
  • MCP servers
  • Marketplaces
  • Weekly digest
  • Skill index
  • MCP index
  • Marketplace index

Site

  • About
  • Tools
  • Submit
  • Feedback
  • Privacy
  • llms.txt
  • Plugins reference

Maker

  • Snug
  • Agent Caffeine
  • knobs
  • Wax
  • Vectoys
  • mertduzgun.com
Crafted at
Skills/Design & UI/UX
jimliu avatar

Baoyu Url To Markdown

jimliu/baoyu-skills

The baoyu-url-to-markdown skill fetches URLs and converts them to markdown using Chrome DevTools Protocol with site-specific adapters for platforms like X/Twitter, YouTube, and Hacker News, plus a generic fallback adapter. It's built for developers and content creators who need to save webpages as markdown files, handling authentication and CAPTCHAs through interactive wait modes. The skill solves the problem of extracting and reformatting web content into a portable markdown format without manual copying.

installs
30.4K
GitHub stars
27K
last updated
Aug 21, 2026
View on GitHubSave

Install

$ npx -y skills add jimliu/baoyu-skills --skill baoyu-url-to-markdown --agent claude-code

Installs into .claude/skills of the current project.

Files

URL to Markdown

User Input Tools

When this skill prompts the user, follow this tool-selection rule (priority order):

  1. Prefer built-in user-input tools exposed by the current agent runtime — e.g., AskUserQuestion, request_user_input, clarify, ask_user, or any equivalent.
  2. Fallback: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.
  3. Batching: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.

Concrete AskUserQuestion references below are examples — substitute the local equivalent in other runtimes.

CLI Setup

The CLI source is vendored in {baseDir}/scripts/lib; scripts/package.json installs only third-party runtime dependencies.

  1. {baseDir} = this SKILL.md's directory
  2. ${BUN} = bun if installed; otherwise suggest installing Bun
  3. If {baseDir}/scripts/node_modules is missing: ${BUN} install --cwd {baseDir}/scripts
  4. ${READER} = {baseDir}/scripts/baoyu-fetch (substitute everywhere below)

Preferences (EXTEND.md)

First one found wins:

PriorityPathScope
1.baoyu-skills/baoyu-url-to-markdown/EXTEND.mdProject
2${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-url-to-markdown/EXTEND.mdXDG
3$HOME/.baoyu-skills/baoyu-url-to-markdown/EXTEND.mdUser home

Found → read and apply. Not found → BLOCKING first-time setup: ask the questions in references/config/first-time-setup.md (Media, Output, Save — all in one call) before any conversion, write EXTEND.md, confirm "Preferences saved to [path]", then continue. Never create EXTEND.md with silent defaults.

KeyDefaultValuesCLI mapping
download_mediaaskask (prompt each time) / 1 (always) / 0 (never)1 → --download-media (requires --output)
default_output_dirempty (= ./url-to-markdown/)path or emptyAgent builds --output <dir>/{domain}/{slug}.md; not a direct flag

Value priority: CLI arguments → EXTEND.md → skill defaults.

Usage

${READER} <url>                                          # headless, markdown to stdout
${READER} <url> --output article.md --download-media     # save with local media
${READER} <url> --wait-for interaction --output a.md     # login/CAPTCHA: auto-detect and continue
${READER} <url> --wait-for force --output a.md           # manual: Enter to continue
${READER} <url> --format json --output a.json
${READER} <url> --adapter youtube --output transcript.md

Options

OptionDescription
<url>URL to fetch
--output <path>Output file path (default: stdout)
--format <type>markdown (default) or json
--jsonShorthand for --format json
--adapter <name>Force adapter: x, youtube, hn, or generic (default: auto-detect)
--headlessForce headless Chrome
--wait-for <mode>none (default), interaction, or force
--wait-for-interactionAlias for --wait-for interaction
--wait-for-loginAlias for --wait-for interaction
--timeout <ms>Page load timeout (default: 30000)
--interaction-timeout <ms>Login/CAPTCHA wait timeout (default: 600000 = 10 min)
--interaction-poll-interval <ms>Interaction poll interval (default: 1500)
--download-mediaDownload images/videos to local imgs/ and videos/, rewrite links. Requires --output
--media-dir <dir>Base directory for downloaded media (default: --output directory)
--cdp-url <url>Reuse existing Chrome DevTools Protocol endpoint
--browser-path <path>Custom Chrome/Chromium binary path
--chrome-profile-dir <path>Chrome user data directory (default: BAOYU_CHROME_PROFILE_DIR env or ./baoyu-skills/chrome-profile)
--debug-dir <dir>Write debug artifacts (document.json, markdown.md, page.html, network.json)

Quality Gate

Headless capture is provisional: some sites silently return low-quality content with exit code 0. Inspect the saved markdown after every headless run, using references/quality-gate.md for the checklist, recovery steps, and capture modes.

Output Path

baoyu-fetch does not generate paths; the agent builds one and passes it to --output:

  1. Base dir: EXTEND.md default_output_dir or ./url-to-markdown/
  2. Domain from URL (e.g., example.com)
  3. Slug from URL path or page title (kebab-case, 2-6 words)
  4. Path: {base_dir}/{domain}/{slug}/{slug}.md — one directory per URL so media stays isolated
  5. On conflict: {slug}-YYYYMMDD-HHMMSS/{slug}-YYYYMMDD-HHMMSS.md

Downloaded media goes into subdirectories next to the markdown file.

Adapters & Media

references/adapters.md: adapter catalog (X, YouTube, Hacker News, generic), media download flow (ask / always / never), JSON output schema. Read it for adapter-specific questions or media prompts.

Environment Variables

VariableDescription
BAOYU_CHROME_PROFILE_DIRChrome user data directory (or --chrome-profile-dir)

Troubleshooting: Chrome not found → --browser-path. Timeout → raise --timeout. Login/CAPTCHA → --wait-for interaction. Debug → --debug-dir to inspect captured HTML and network logs.

Extension Support

Custom configurations via EXTEND.md — see Preferences above.

SKILL.md on GitHub

Sponsors

SnugThe clipboard manager you and your agent can use, safelyAgent CaffeineClose your lid, come back to finished workWaxBlock anything with supervision, without erasing your iPhoneOpen StepsSponsoredFree and open-source skills that make AI coding agents easier to understand, verify, and control.

Details

Repository
github.com/jimliu/baoyu-skills
Categories
Design & UI/UX, CLI & Terminal

More from jimliu/baoyu-skills

All 24
  • Baoyu Comic29.9K
  • Baoyu Post To X28.9K
  • Baoyu Compress Image28.2K
  • Baoyu Format Markdown28.2K
  • Baoyu Danger X To Markdown28K
  • Baoyu Danger Gemini Web28K
  • Release Skills25.7K
  • Baoyu Translate25.6K
  • Baoyu Youtube Transcript21.8K
  • Baoyu Post To Weibo21.6K
  • Baoyu Diagram15.4K
  • Baoyu Wechat Summary9.9K
  • Baoyu Imagine9.3K
  • Baoyu Electron Extract7.9K
  • Baoyu Image Cards6.2K
  • Baoyu Post To Wechat34.5K
  • Baoyu Image Gen33.7K
  • Baoyu Infographic32.9K
  • Baoyu Markdown To Html32.3K
  • Baoyu Cover Image32.1K
  • Baoyu Article Illustrator32K
  • Baoyu Xhs Images31.4K
  • Baoyu Slide Deck31.2K

Recommended

More Design & UI/UX
1pbakaus avatarshapepbakaus/impeccablePlan the UX and UI for a feature before writing code. Runs a structured discovery interview, then produces a design brief that guides implementation. Use during30Kinstalls
2software-mansion avatarargent-android-emulator-setupsoftware-mansion/argentSet up and connect to an Android emulator using argent MCP tools. Use when starting a new session on Android, booting an emulator, getting a device serial, or b26.9Kinstalls
3warpdotdev avatarreproduce-bug-reportwarpdotdev/common-skillsLaunch Oz cloud agents with computer use to reproduce UI-focused bug reports, capture visual evidence (a screen recording by default), and report reproduction f26.8Kinstalls
4software-mansion avatarargent-ios-simulator-setupsoftware-mansion/argentSet up and connect to an iOS simulator using argent MCP tools. Use when starting a new session, booting an iOS simulator, getting an iOS UDID, or before any iOS26.7Kinstalls
5software-mansion avatarargent-test-ui-flowsoftware-mansion/argentAutonomously test an app UI (iOS or Android) by running interact-screenshot-verify loops using argent MCP tools. Use when testing UI flows, verifying login work26.6Kinstalls
6pbakaus avatarlayoutpbakaus/impeccableImprove layout, spacing, and visual rhythm. Fixes monotonous grids, inconsistent spacing, and weak visual hierarchy. Use when the user mentions layout feeling o26.4Kinstalls