agentsclimarketplace

Html to markdown

Skill appautomaton/webmaton/skills/html-to-markdown

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.From its SKILL.md

Install
npx -y skills add appautomaton/webmaton --skill html-to-markdown

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 18 stars18 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 3 commands, including `uv run --script scripts/capture_html.py <url> | uv run --script scripts/markmaton_convert.py --from-capture --output-format json` and 2 more.

SKILL.md

2.3 KB, 498 tokens by cl100k_base, as published. Nobody here has run it

HTML to Markdown

Composes with

  • Use for — capture-a-web-page tasks where browser-rendered HTML or structured Markdown is needed.
  • 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.
  • Outputs — JSON envelope by default (markdown body + metadata + links + images + quality signals). Use --output-format markdown when only the raw Markdown body is needed.

Converts a URL or HTML into clean Markdown plus metadata, links, images, and quality signals.

From a URL

Capture the page and convert in one pipeline:

uv run --script scripts/capture_html.py <url> \
  | uv run --script scripts/markmaton_convert.py --from-capture --output-format json

The 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.

  • Add --wait-selector <css> or --wait-text <string> to the capture step for pages that need a readiness signal.
  • Prefer a simple fetch over browser capture for static articles, wikis, and server-rendered docs.

From HTML

uv run --script scripts/markmaton_convert.py --html-file page.html \
  --url <url> --output-format json

Or from stdin:

echo "$html" | uv run --script scripts/markmaton_convert.py --url <url>

Pass --url when available — it improves link resolution and canonical metadata.

Key defaults

  • Output: json. Use --output-format markdown for raw Markdown only.
  • Main-content extraction: on. Use --full-content to disable.
  • Capture: always headless. Timeout 10s, override with --timeout.
  • Browser discovery: user's Chrome → user's Chromium → Playwright's Chromium.

References

Read only when needed:

  • references/usage.md — full CLI reference for both scripts
  • references/integration-patterns.md — browser vs fetch guidance, contracts, parser defaults

What ships with it: 4 files

15.9 KB alongside SKILL.md, 2 of them executable

references/

scripts/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.