web-browsinglisted
Install: claude install-skill chenwei791129/agent-skills
# web-browsing
Two CLIs cover every web task:
- **`agent-browser`** drives a real headless Chrome over CDP. Accessibility-tree
snapshots with compact `@eN` refs let you click and fill in ~200-400 tokens
instead of parsing raw HTML.
- **`defuddle`** strips navigation, ads, and sidebars out of an HTML document
and emits clean Markdown — keeping hyperlink targets, table structure, and
`<head>` metadata.
This skill is the routing layer between them. It does **not** restate the
agent-browser command reference: the CLI serves its own always-current docs (see
[Path C](#path-c--interact-with-the-page)).
## Pick the path
| Situation | Path |
|---|---|
| URL ends in `.md`, or is a raw text/JSON endpoint | Neither tool — fetch it directly |
| Public, server-rendered page: article, blog post, docs | [A](#path-a--static-page-defuddle-alone) — `defuddle` alone, no browser |
| JS-rendered SPA, dashboard, or a page behind a login | [B](#path-b--js-rendered-or-authenticated-page) — browser capture, then `defuddle` |
| Anything that changes page state: click, fill, submit, screenshot, test | [C](#path-c--interact-with-the-page) — agent-browser's own core skill |
Start at the cheapest path that can work. Launching Chrome to read a static
article wastes seconds and memory; running `defuddle` against a URL that renders
client-side returns an empty shell.
## Path A — static page, defuddle alone
`defuddle` fetches the URL itself. No browser, no daemon, no cleanup.
```bash
defuddle