Agent Skillssoftaworks/agent-toolkit › web-to-markdown

web-to-markdown

GitHub

将网页URL转换为干净Markdown的Skill,支持JS渲染页面。需用户显式调用,通过本地web2md CLI提取内容并输出文件。

skills/web-to-markdown/SKILL.md softaworks/agent-toolkit

Trigger Scenarios

用户明确要求使用 web-to-markdown skill 需要将网页内容转化为 Markdown 格式

Install

npx skills add softaworks/agent-toolkit --skill web-to-markdown -g -y
More Options

Use without installing

npx skills use softaworks/agent-toolkit@web-to-markdown

指定 Agent (Claude Code)

npx skills add softaworks/agent-toolkit --skill web-to-markdown -a claude-code -g -y

安装 repo 全部 skill

npx skills add softaworks/agent-toolkit --all -g -y

预览 repo 内 skill

npx skills add softaworks/agent-toolkit --list

SKILL.md

Frontmatter
{
    "name": "web-to-markdown",
    "metadata": {
        "version": "0.1.0"
    },
    "description": "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."
}

web-to-markdown

Convert web pages to clean Markdown by driving a locally installed browser (via web2md).

Hard trigger gate (must enforce)

This skill MUST NOT be used unless the user explicitly wrote exactly a phrase like:

  • use the skill web-to-markdown ...
  • use a skill web-to-markdown ...

If the user did not explicitly request this skill by name, stop and ask them to re-issue the request including: use the skill web-to-markdown.

What this skill does

  • Handles JS-rendered pages (Puppeteer → user Chrome).
  • Works best with Chromium-family browsers (Chrome/Chromium/Brave/Edge) via puppeteer-core.
  • Extracts main content (Readability).
  • Converts to Markdown (Turndown) with cleaned links and optional YAML frontmatter.

Non-goals

  • Do not use Playwright or other browser automation stacks; the mechanism is web2md.

Inputs you should collect (ask only if missing)

  • url (or a list of URLs)
  • Output preference:
    • Print to stdout (--print), OR
    • Save to a file (--out ./file.md), OR
    • Save to a directory (--out ./some-dir/ to auto-name by page title)
  • Optional rendering controls for tricky pages:
    • --chrome-path <path> (if Chrome auto-detection fails)
    • --interactive (show Chrome and pause so the user can complete human checks/login, then press Enter)
    • --wait-until load|domcontentloaded|networkidle0|networkidle2
    • --wait-for '<css selector>'
    • --wait-ms <milliseconds>
    • --headful (debug)
    • --no-sandbox (sometimes required in containers/CI)
    • --user-data-dir <dir> (login/session; use a dedicated profile directory)

Workflow

  1. Confirm the user explicitly invoked the skill (use the skill web-to-markdown).
  2. Validate URL(s) start with http:// or https://.
  3. Ensure web2md is installed:
    • Run: command -v web2md
    • If missing, instruct the user to install it (assume the project exists at ~/workspace/softaworks/projects/web2md):
      • cd ~/workspace/softaworks/projects/web2md && npm install && npm run build && npm link
      • Or: cd ~/workspace/softaworks/projects/web2md && npm install && npm run build && npm install -g .
  4. Convert:
    • Single URL → file:
      • web2md '<url>' --out ./page.md
    • Single URL → auto-named file in directory:
      • mkdir -p ./out && web2md '<url>' --out ./out/
    • Human verification / login walls (interactive):
      • mkdir -p ./out && web2md '<url>' --interactive --user-data-dir ./tmp/web2md-profile --out ./out/
      • Then: complete the check in the browser window and press Enter in the terminal to continue.
    • Print to stdout:
      • web2md '<url>' --print
    • Multiple URLs (batch):
      • Create output dir (e.g. ./out/) then run one web2md command per URL using --out ./out/
  5. Validate output:
    • If writing files, verify they exist and are non-empty (e.g. ls -la <path> and wc -c <path>).
  6. Return:
    • The saved file path(s), or the Markdown (stdout mode).

Defaults (recommended)

  • For most pages: --wait-until networkidle2
  • For heavy apps: start with --wait-until domcontentloaded --wait-ms 2000, then add --wait-for 'main' (or another stable selector) if needed.

Version History

  • 3027f20 Current 2026-08-20 07:06

Same Skill Collection

skills/agent-md-refactor/SKILL.md
skills/backend-to-frontend-handoff-docs/SKILL.md
skills/c4-architecture/SKILL.md
skills/codex/SKILL.md
skills/command-creator/SKILL.md
skills/commit-work/SKILL.md
skills/crafting-effective-readmes/SKILL.md
skills/daily-meeting-update/SKILL.md
skills/database-schema-designer/SKILL.md
skills/datadog-cli/SKILL.md
skills/dependency-updater/SKILL.md
skills/design-system-starter/SKILL.md
skills/difficult-workplace-conversations/SKILL.md
skills/domain-name-brainstormer/SKILL.md
skills/draw-io/SKILL.md
skills/excalidraw/SKILL.md
skills/feedback-mastery/SKILL.md
skills/frontend-to-backend-requirements/SKILL.md
skills/game-changing-features/SKILL.md
skills/gemini/SKILL.md
skills/gepetto/SKILL.md
skills/jira/SKILL.md
skills/lesson-learned/SKILL.md
skills/marp-slide/SKILL.md
skills/meme-factory/SKILL.md
skills/mui/SKILL.md
skills/naming-analyzer/SKILL.md
skills/openapi-to-typescript/SKILL.md
skills/perplexity/SKILL.md
skills/plugin-forge/SKILL.md
skills/professional-communication/SKILL.md
skills/qa-test-planner/SKILL.md
skills/react-dev/SKILL.md
skills/react-useeffect/SKILL.md
skills/reducing-entropy/SKILL.md
skills/requirements-clarity/SKILL.md
skills/ship-learn-next/SKILL.md
skills/skill-judge/SKILL.md
skills/writing-clearly-and-concisely/SKILL.md
skills/humanizer/SKILL.md
skills/mermaid-diagrams/SKILL.md
skills/session-handoff/SKILL.md

Metadata

Files
0
Version
3027f20
Hash
9c61df95
Indexed
2026-08-20 07:06

- 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-25 11:41
浙ICP备14020137号-1 $방문자$