{"id":"d2fe1590-11ab-42d9-9067-0a50fe045bbf","shortId":"Y7A9cf","kind":"skill","title":"web-to-markdown","tagline":"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.","description":"# web-to-markdown\n\nConvert web pages to clean Markdown by driving a locally installed browser (via `web2md`).\n\n## Hard trigger gate (must enforce)\n\nThis skill MUST NOT be used unless the user explicitly wrote **exactly** a phrase like:\n- `use the skill web-to-markdown ...`\n- `use a skill web-to-markdown ...`\n\nIf 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`.\n\n## What this skill does\n\n- Handles JS-rendered pages (Puppeteer → user Chrome).\n- Works best with Chromium-family browsers (Chrome/Chromium/Brave/Edge) via `puppeteer-core`.\n- Extracts main content (Readability).\n- Converts to Markdown (Turndown) with cleaned links and optional YAML frontmatter.\n\n## Non-goals\n\n- Do not use Playwright or other browser automation stacks; the mechanism is `web2md`.\n\n## Inputs you should collect (ask only if missing)\n\n- `url` (or a list of URLs)\n- Output preference:\n  - Print to stdout (`--print`), OR\n  - Save to a file (`--out ./file.md`), OR\n  - Save to a directory (`--out ./some-dir/` to auto-name by page title)\n- Optional rendering controls for tricky pages:\n  - `--chrome-path <path>` (if Chrome auto-detection fails)\n  - `--interactive` (show Chrome and pause so the user can complete human checks/login, then press Enter)\n  - `--wait-until load|domcontentloaded|networkidle0|networkidle2`\n  - `--wait-for '<css selector>'`\n  - `--wait-ms <milliseconds>`\n  - `--headful` (debug)\n  - `--no-sandbox` (sometimes required in containers/CI)\n  - `--user-data-dir <dir>` (login/session; use a dedicated profile directory)\n\n## Workflow\n\n1) Confirm the user explicitly invoked the skill (`use the skill web-to-markdown`).\n2) Validate URL(s) start with `http://` or `https://`.\n3) Ensure `web2md` is installed:\n   - Run: `command -v web2md`\n   - If missing, instruct the user to install it (assume the project exists at `~/workspace/softaworks/projects/web2md`):\n     - `cd ~/workspace/softaworks/projects/web2md && npm install && npm run build && npm link`\n     - Or: `cd ~/workspace/softaworks/projects/web2md && npm install && npm run build && npm install -g .`\n4) Convert:\n   - Single URL → file:\n     - `web2md '<url>' --out ./page.md`\n   - Single URL → auto-named file in directory:\n     - `mkdir -p ./out && web2md '<url>' --out ./out/`\n   - Human verification / login walls (interactive):\n     - `mkdir -p ./out && web2md '<url>' --interactive --user-data-dir ./tmp/web2md-profile --out ./out/`\n     - Then: complete the check in the browser window and press Enter in the terminal to continue.\n   - Print to stdout:\n     - `web2md '<url>' --print`\n   - Multiple URLs (batch):\n     - Create output dir (e.g. `./out/`) then run one `web2md` command per URL using `--out ./out/`\n5) Validate output:\n   - If writing files, verify they exist and are non-empty (e.g. `ls -la <path>` and `wc -c <path>`).\n6) Return:\n   - The saved file path(s), or the Markdown (stdout mode).\n\n## Defaults (recommended)\n\n- For most pages: `--wait-until networkidle2`\n- For heavy apps: start with `--wait-until domcontentloaded --wait-ms 2000`, then add `--wait-for 'main'` (or another stable selector) if needed.","tags":["web","markdown","agent","toolkit","softaworks","agent-skills","automation","claude","claude-code","coding-agent","development"],"capabilities":["skill","source-softaworks","skill-web-to-markdown","topic-agent-skills","topic-automation","topic-claude","topic-claude-code","topic-coding-agent","topic-development"],"categories":["agent-toolkit"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/softaworks/agent-toolkit/web-to-markdown","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add softaworks/agent-toolkit","source_repo":"https://github.com/softaworks/agent-toolkit","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 1689 github stars · SKILL.md body (3,187 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-03T00:52:51.168Z","embedding":null,"createdAt":"2026-04-18T21:54:48.634Z","updatedAt":"2026-05-03T00:52:51.168Z","lastSeenAt":"2026-05-03T00:52:51.168Z","tsv":"'/file.md':209 '/out':370,373,381,390,419,429 '/page.md':359 '/some-dir':216 '/tmp/web2md-profile':388 '/workspace/softaworks/projects/web2md':331,333,343 '1':287 '2':302 '2000':483 '3':309 '4':352 '5':430 '6':450 'add':485 'anoth':491 'app':473 'ask':112,187 'assum':326 'auto':219,236,363 'auto-detect':235 'auto-nam':218,362 'autom':177 'batch':414 'best':141 'browser':62,146,176,397 'build':338,348 'c':449 'call':34 'cd':332,342 'check':394 'checks/login':250 'chrome':139,231,234,241 'chrome-path':230 'chrome/chromium/brave/edge':147 'chromium':144 'chromium-famili':143 'clean':31,55,161 'cli':38 'collect':186 'command':315,424 'complet':248,392 'confirm':288 'containers/ci':275 'content':154 'continu':406 'control':226 'convert':27,51,156,353 'core':151 'creat':415 'data':278,386 'debug':268 'dedic':283 'default':462 'detect':237 'dir':279,387,417 'directori':214,285,367 'domcontentload':258,479 'drive':58 'e.g':418,444 'empti':443 'enforc':69 'ensur':310 'enter':253,401 'exact':81 'exist':329,438 'explicit':10,79,104,291 'extract':152 'fail':238 'famili':145 'file':207,356,365,435,454 'frontmatt':166 'g':351 'gate':67 'goal':169 'handl':132 'hard':65 'head':267 'heavi':472 'human':249,374 'includ':120 'input':183 'instal':61,313,324,335,345,350 'instruct':320 'interact':239,378,383 'invok':292 'issu':117 'js':44,134 'js-render':43,133 'la':446 'like':84 'link':162,340 'list':194 'load':257 'local':36,60 'login':376 'login/session':280 'ls':445 'main':153,489 'markdown':4,18,26,32,50,56,91,98,127,158,301,459 'mechan':180 'miss':190,319 'mkdir':368,379 'mode':461 'ms':266,482 'multipl':412 'must':68,72 'name':109,220,364 'need':495 'networkidle0':259 'networkidle2':260,470 'no-sandbox':269 'non':168,442 'non-empti':441 'non-goal':167 'npm':334,336,339,344,346,349 'one':422 'option':164,224 'output':197,416,432 'p':369,380 'page':46,53,136,222,229,466 'path':232,455 'paus':243 'per':425 'phrase':83 'playwright':173 'prefer':198 'press':252,400 'print':199,202,407,411 'profil':284 'project':328 'puppet':39,137,150 'puppeteer-cor':149 're':116 're-issu':115 'readabl':40,155 'recommend':463 'render':45,135,225 'request':105,119 'requir':273 'return':451 'run':314,337,347,421 'sandbox':271 'save':204,211,453 'say':11 'selector':493 'show':240 'singl':354,360 'skill':14,22,71,87,94,107,123,130,294,297 'skill-web-to-markdown' 'sometim':272 'source-softaworks' 'stabl':492 'stack':178 'start':306,474 'stdout':201,409,460 'stop':110 'suitabl':41 'termin':404 'titl':223 'topic-agent-skills' 'topic-automation' 'topic-claude' 'topic-claude-code' 'topic-coding-agent' 'topic-development' 'tricki':228 'trigger':66 'turndown':159 'unless':76 'url':29,191,196,304,355,361,413,426 'use':5,12,20,75,85,92,121,172,281,295,427 'user':9,78,101,138,246,277,290,322,385 'user-data-dir':276,384 'v':316 'valid':303,431 'verif':375 'verifi':436 'via':63,148 'wait':255,262,265,468,477,481,487 'wait-for':261,486 'wait-m':264,480 'wait-until':254,467,476 'wall':377 'wc':448 'web':2,16,24,48,52,89,96,125,299 'web-to-markdown':1,15,23,47,88,95,124,298 'web2md':37,64,182,311,317,357,371,382,410,423 'webpag':28 'window':398 'work':140 'workflow':286 'write':434 'wrote':80 'yaml':165","prices":[{"id":"4f1e6519-92db-4b09-94c8-216c6e4465c7","listingId":"d2fe1590-11ab-42d9-9067-0a50fe045bbf","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"softaworks","category":"agent-toolkit","install_from":"skills.sh"},"createdAt":"2026-04-18T21:54:48.634Z"}],"sources":[{"listingId":"d2fe1590-11ab-42d9-9067-0a50fe045bbf","source":"github","sourceId":"softaworks/agent-toolkit/web-to-markdown","sourceUrl":"https://github.com/softaworks/agent-toolkit/tree/main/skills/web-to-markdown","isPrimary":false,"firstSeenAt":"2026-04-18T21:54:48.634Z","lastSeenAt":"2026-05-03T00:52:51.168Z"}],"details":{"listingId":"d2fe1590-11ab-42d9-9067-0a50fe045bbf","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"softaworks","slug":"web-to-markdown","github":{"repo":"softaworks/agent-toolkit","stars":1689,"topics":["agent-skills","ai","automation","claude","claude-code","coding-agent","development"],"license":"mit","html_url":"https://github.com/softaworks/agent-toolkit","pushed_at":"2026-03-05T16:46:24Z","description":"A curated collection of skills for AI coding agents. Skills are packaged instructions and scripts that extend agent capabilities across development, documentation, planning, and professional workflows.","skill_md_sha":"fb51af06c33872de59060fac711227be1492820b","skill_md_path":"skills/web-to-markdown/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/softaworks/agent-toolkit/tree/main/skills/web-to-markdown"},"layout":"multi","source":"github","category":"agent-toolkit","frontmatter":{"name":"web-to-markdown","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."},"skills_sh_url":"https://skills.sh/softaworks/agent-toolkit/web-to-markdown"},"updatedAt":"2026-05-03T00:52:51.168Z"}}