Files
cursor__plugins/web-browser/README.md
ericzakariasson 97128c02db Apply writing guide: sentence-case titles, remove em-dashes and semicolons
- Convert all H1 headings to sentence case across skills, rules, agents,
  commands, and READMEs (~65 headings)
- Replace em-dashes with colons in plugin.json descriptions and README
  taglines to match marketplace.json convention
- Replace semicolons with periods and restructure sentences across skills,
  rules, agents, and READMEs (~19 instances)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-10 18:11:09 -08:00

43 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Web browser plugin
Browser debugging: DevTools, network traces, and reproducible bug reports.
## Installation
```bash
agent install web-browser
```
## Components
### Skills
| Skill | Description |
|:------|:------------|
| `debug-with-browser-tools` | DevTools and network-debug workflow |
| `analyze-web-performance` | Performance bottlenecks with reproducible metrics |
| `capture-browser-repro` | Precise reproduction record for debugging |
| `network-trace-debug` | Structured network analysis for request/response failures |
### Agents
| Agent | Description |
|:------|:------------|
| `browser-debugger` | Reproduction, trace analysis, and fix validation |
## MCP browser workflow (canonical)
**Lock/unlock (critical):** `browser_lock` requires an existing tab. You cannot lock before `browser_navigate`. Correct order: `browser_navigate` (or verify via `browser_tabs`) → `browser_lock` → interactions → `browser_unlock` when fully done. If a tab exists, call `browser_lock` first.
**Pre-interaction:** Use `browser_tabs` (action: list) and `browser_snapshot` to get element refs before any click, type, or hover.
**Waiting:** Prefer short incremental waits (1–3s) with `browser_snapshot` checks between them instead of a single long wait.
**Performance profiling:** `browser_profile_start`/`browser_profile_stop` for CPU profiling. Profile data in `~/.cursor/browser-logs/`. Read raw cpu-profile-*.json to verify findings. Cross-reference with summary.
**Notes:** Native dialogs (alert/confirm/prompt) never block automation. Iframe content is not accessible. Use `browser_type` to append text, `browser_fill` to clear and replace. For nested scroll containers, use `browser_scroll` with `scrollIntoView: true` before clicking obscured elements.
## License
MIT