{"id":"2b332998-fc1b-4212-96ac-c48453a83ea9","shortId":"RC567X","kind":"skill","title":"html-to-markdown","tagline":"Convert a URL or HTML into clean Markdown with metadata using markmaton. Handles browser capture for JS-heavy pages and deterministic HTML-to-Markdown conversion in one skill.","description":"# HTML to Markdown\n\n## Composes with\n\n- **Use for** — capture-a-web-page tasks where browser-rendered HTML or structured Markdown is needed.\n- **Wraps** — nodriver (CDP-based headless browser capture for JS-heavy pages, with Playwright Chromium discovery) and markmaton (HTML→Markdown with main-content extraction, metadata, and link/image inventory). See `references/integration-patterns.md` for browser-vs-fetch guidance.\n- **Outputs** — JSON envelope by default (markdown body + metadata + links + images + quality signals). Use `--output-format markdown` when only the raw Markdown body is needed.\n\nConverts a URL or HTML into clean Markdown plus metadata, links, images, and quality signals.\n\n## From a URL\n\nCapture the page and convert in one pipeline:\n\n```bash\nuv run --script scripts/capture_html.py <url> \\\n  | uv run --script scripts/markmaton_convert.py --from-capture --output-format json\n```\n\nThe capture script outputs a JSON envelope by default. `--from-capture` reads it and extracts `html`, `url`, `final_url`, and `content_type` automatically — no context lost, URL typed once.\n\n- Add `--wait-selector <css>` or `--wait-text <string>` to the capture step for pages that need a readiness signal.\n- Prefer a simple fetch over browser capture for static articles, wikis, and server-rendered docs.\n\n## From HTML\n\n```bash\nuv run --script scripts/markmaton_convert.py --html-file page.html \\\n  --url <url> --output-format json\n```\n\nOr from stdin:\n\n```bash\necho \"$html\" | uv run --script scripts/markmaton_convert.py --url <url>\n```\n\nPass `--url` when available — it improves link resolution and canonical metadata.\n\n## Key defaults\n\n- Output: `json`. Use `--output-format markdown` for raw Markdown only.\n- Main-content extraction: on. Use `--full-content` to disable.\n- Capture: always headless. Timeout `10s`, override with `--timeout`.\n- Browser discovery: user's Chrome → user's Chromium → Playwright's Chromium.\n\n## References\n\nRead only when needed:\n\n- `references/usage.md` — full CLI reference for both scripts\n- `references/integration-patterns.md` — browser vs fetch guidance, contracts, parser defaults","tags":["html","markdown","webmaton","appautomaton","agent-skills","ai-agents","browser-automation","claude-code","codex","html-to-markdown","playwright","web-automation"],"capabilities":["skill","source-appautomaton","skill-html-to-markdown","topic-agent-skills","topic-ai-agents","topic-browser-automation","topic-claude-code","topic-codex","topic-html-to-markdown","topic-playwright","topic-web-automation","topic-web-scraping"],"categories":["webmaton"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/appautomaton/webmaton/html-to-markdown","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add appautomaton/webmaton","source_repo":"https://github.com/appautomaton/webmaton","install_from":"skills.sh"}},"qualityScore":"0.458","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 17 github stars · SKILL.md body (2,125 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-18T19:06:02.483Z","embedding":null,"createdAt":"2026-05-06T01:03:38.485Z","updatedAt":"2026-05-18T19:06:02.483Z","lastSeenAt":"2026-05-18T19:06:02.483Z","tsv":"'10s':294 'add':193 'alway':291 'articl':221 'automat':186 'avail':258 'base':62 'bash':147,230,247 'bodi':102,118 'browser':18,50,64,92,217,298,322 'browser-rend':49 'browser-vs-fetch':91 'canon':264 'captur':19,43,65,139,158,164,174,203,218,290 'capture-a-web-pag':42 'cdp':61 'cdp-base':60 'chrome':302 'chromium':73,305,308 'clean':11,127 'cli':316 'compos':38 'content':82,184,281,287 'context':188 'contract':326 'convers':31 'convert':5,121,143 'default':100,171,267,328 'determinist':26 'disabl':289 'discoveri':74,299 'doc':227 'echo':248 'envelop':98,169 'extract':83,178,282 'fetch':94,215,324 'file':237 'final':181 'format':111,161,242,273 'from-captur':156,172 'full':286,315 'full-cont':285 'guidanc':95,325 'handl':17 'headless':63,292 'heavi':23,69 'html':2,9,28,35,52,77,125,179,229,236,249 'html-file':235 'html-to-markdown':1,27 'imag':105,132 'improv':260 'inventori':87 'js':22,68 'js-heavi':21,67 'json':97,162,168,243,269 'key':266 'link':104,131,261 'link/image':86 'lost':189 'main':81,280 'main-cont':80,279 'markdown':4,12,30,37,55,78,101,112,117,128,274,277 'markmaton':16,76 'metadata':14,84,103,130,265 'need':57,120,208,313 'nodriv':59 'one':33,145 'output':96,110,160,166,241,268,272 'output-format':109,159,240,271 'overrid':295 'page':24,46,70,141,206 'page.html':238 'parser':327 'pass':255 'pipelin':146 'playwright':72,306 'plus':129 'prefer':212 'qualiti':106,134 'raw':116,276 'read':175,310 'readi':210 'refer':309,317 'references/integration-patterns.md':89,321 'references/usage.md':314 'render':51,226 'resolut':262 'run':149,153,232,251 'script':150,154,165,233,252,320 'scripts/capture_html.py':151 'scripts/markmaton_convert.py':155,234,253 'see':88 'selector':196 'server':225 'server-rend':224 'signal':107,135,211 'simpl':214 'skill':34 'skill-html-to-markdown' 'source-appautomaton' 'static':220 'stdin':246 'step':204 'structur':54 'task':47 'text':200 'timeout':293,297 'topic-agent-skills' 'topic-ai-agents' 'topic-browser-automation' 'topic-claude-code' 'topic-codex' 'topic-html-to-markdown' 'topic-playwright' 'topic-web-automation' 'topic-web-scraping' 'type':185,191 'url':7,123,138,180,182,190,239,254,256 'use':15,40,108,270,284 'user':300,303 'uv':148,152,231,250 'vs':93,323 'wait':195,199 'wait-selector':194 'wait-text':198 'web':45 'wiki':222 'wrap':58","prices":[{"id":"3c6808e7-1291-43c5-acd7-d98e5c504d74","listingId":"2b332998-fc1b-4212-96ac-c48453a83ea9","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"appautomaton","category":"webmaton","install_from":"skills.sh"},"createdAt":"2026-05-06T01:03:38.485Z"}],"sources":[{"listingId":"2b332998-fc1b-4212-96ac-c48453a83ea9","source":"github","sourceId":"appautomaton/webmaton/html-to-markdown","sourceUrl":"https://github.com/appautomaton/webmaton/tree/main/skills/html-to-markdown","isPrimary":false,"firstSeenAt":"2026-05-06T01:03:38.485Z","lastSeenAt":"2026-05-18T19:06:02.483Z"}],"details":{"listingId":"2b332998-fc1b-4212-96ac-c48453a83ea9","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"appautomaton","slug":"html-to-markdown","github":{"repo":"appautomaton/webmaton","stars":17,"topics":["agent-skills","ai-agents","browser-automation","claude-code","codex","html-to-markdown","playwright","web-automation","web-scraping"],"license":"mit","html_url":"https://github.com/appautomaton/webmaton","pushed_at":"2026-05-17T00:55:04Z","description":"Portable web-research and browser-automation SKILLs for Claude Code, Codex, and OpenCode — Playwright, Chrome DevTools, nodriver, and HTML-to-Markdown.","skill_md_sha":"cf4171c4910bf8a1f2405ab63fe4010dfc7770e3","skill_md_path":"skills/html-to-markdown/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/appautomaton/webmaton/tree/main/skills/html-to-markdown"},"layout":"multi","source":"github","category":"webmaton","frontmatter":{"name":"html-to-markdown","description":"Convert a URL or HTML into clean Markdown with metadata using markmaton. Handles browser capture for JS-heavy pages and deterministic HTML-to-Markdown conversion in one skill."},"skills_sh_url":"https://skills.sh/appautomaton/webmaton/html-to-markdown"},"updatedAt":"2026-05-18T19:06:02.483Z"}}