Use ONLY when the user explicitly says: 'use the skill web-to-markdown ...' (or 'use a skill web-to-markdown ...'). Converts webpage URLs to clean Markdown by calling the local web2md CLI (Puppeteer + Readability), suitable for JS-rendered pages.
Convert web pages to clean Markdown using local browser automation with Puppeteer and Readability.
This skill enables Claude Code to convert web pages (including JavaScript-rendered content) into clean, readable Markdown format by leveraging the web2md CLI tool. It's particularly useful for extracting article content, documentation, or any web content that needs to be processed, archived, or analyzed in Markdown format.
Use this skill when you need to:
Important: This skill must be explicitly invoked by the user with phrases like:
This is a hard requirement to prevent accidental usage when simpler tools might suffice.
The skill uses the web2md CLI tool which:
This approach handles modern single-page applications and JavaScript-rendered content that simple HTTP fetchers cannot process.
The web2md CLI tool must be installed. The skill will check for it and provide installation instructions if needed:
cd ~/workspace/softaworks/projects/web2md
npm install
npm run build
npm link
Convert a single URL and save to a file:
use the skill web-to-markdown to convert https://example.com/article to article.md
This will run:
web2md 'https://example.com/article' --out ./article.md
Convert a URL and let the tool name the file based on page title:
use the skill web-to-markdown to convert https://example.com/article and save to ./output/
This creates a directory and auto-names the file:
mkdir -p ./output
web2md 'https://example.com/article' --out ./output/
Convert and display the Markdown (useful for quick inspection):
use the skill web-to-markdown to convert https://example.com/article and print the result
This will run:
web2md 'https://example.com/article' --print
Handle pages requiring login or human verification:
use the skill web-to-markdown to convert https://example.com/protected-article in interactive mode
This will run:
mkdir -p ./tmp/web2md-profile
web2md 'https://example.com/protected-article' --interactive --user-data-dir ./tmp/web2md-profile --out ./output/
The browser window will appear, allowing you to complete login or verification, then press Enter to continue.
Convert multiple URLs:
use the skill web-to-markdown to convert these URLs:
- https://example.com/article1
- https://example.com/article2
- https://example.com/article3
Save them to ./articles/
This will create the directory and run separate commands for each URL:
mkdir -p ./articles
web2md 'https://example.com/article1' --out ./articles/
web2md 'https://example.com/article2' --out ./articles/
web2md 'https://example.com/article3' --out ./articles/
For heavy JavaScript applications:
use the skill web-to-markdown to convert https://app.example.com/dashboard
Wait for the main selector to appear
This will run:
web2md 'https://app.example.com/dashboard' --wait-until domcontentloaded --wait-for 'main' --out ./dashboard.md
The skill supports various options to handle tricky pages:
--chrome-path <path>: Specify Chrome/Chromium location if auto-detection fails--interactive: Show browser and pause for manual intervention--wait-until <event>: Wait for load, domcontentloaded, networkidle0, or networkidle2 (default: networkidle2)--wait-for '<selector>': Wait for specific CSS selector to appear--wait-ms <milliseconds>: Additional wait time in milliseconds--headful: Show browser window (useful for debugging)--no-sandbox: Disable sandbox (sometimes required in containers/CI)--user-data-dir <dir>: Use persistent browser profile (for sessions/logins)The generated Markdown includes:
puppeteer-core with local Chrome/ChromiumChrome not found:
--chrome-pathPage content incomplete:
--wait-until networkidle2 (waits for network to settle)--wait-for '<selector>' to wait for specific elements--wait-ms 2000 for additional delayLogin required:
--interactive mode to manually login--user-data-dir to persist session across runsVerification/CAPTCHA:
--interactive mode to complete verification manuallyCurrent version: 0.1.0
For simpler use cases without JavaScript, consider using Claude Code's built-in WebFetch tool instead.
下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer