Skill · em Corrigir bugs
webapp-testing
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Procedência
- Origem: anthropics/skills
- Caminho:
skills/webapp-testing - Versão fixada:
33375500bcea98d610eb30ce10ac4e59b89c390d - Licença: Apache-2.0
- Espelhado em 25/09/2026
- 163,3 mil instalações no skills.sh (lido em 25/09/2026)
Antes de instalar
6 arquivos · 21,9 KB · inclui 4 scripts que executam: examples/console_logging.py, examples/element_discovery.py, examples/static_html_automation.py, scripts/with_server.py
Instalar na sua CLI
O comando baixa a versão fixada (commit 3337550) direto da origem, para a pasta que a CLI lê. Precisa de curl (macOS e Linux); no Windows não há comando, porque o Rook Labs é para macOS.
Claude Code
Neste projeto: instala em .claude/skills/webapp-testing/.
d=".claude/skills/webapp-testing" u="https://raw.githubusercontent.com/anthropics/skills/33375500bcea98d610eb30ce10ac4e59b89c390d/skills/webapp-testing" curl -fsSL --create-dirs \ -o "$d/SKILL.md" "$u/SKILL.md" \ -o "$d/examples/console_logging.py" "$u/examples/console_logging.py" \ -o "$d/examples/element_discovery.py" "$u/examples/element_discovery.py" \ -o "$d/examples/static_html_automation.py" "$u/examples/static_html_automation.py" \ -o "$d/LICENSE.txt" "$u/LICENSE.txt" \ -o "$d/scripts/with_server.py" "$u/scripts/with_server.py"
Global: instala em ~/.claude/skills/webapp-testing/.
d="$HOME/.claude/skills/webapp-testing" u="https://raw.githubusercontent.com/anthropics/skills/33375500bcea98d610eb30ce10ac4e59b89c390d/skills/webapp-testing" curl -fsSL --create-dirs \ -o "$d/SKILL.md" "$u/SKILL.md" \ -o "$d/examples/console_logging.py" "$u/examples/console_logging.py" \ -o "$d/examples/element_discovery.py" "$u/examples/element_discovery.py" \ -o "$d/examples/static_html_automation.py" "$u/examples/static_html_automation.py" \ -o "$d/LICENSE.txt" "$u/LICENSE.txt" \ -o "$d/scripts/with_server.py" "$u/scripts/with_server.py"
Codex
Neste projeto: instala em .agents/skills/webapp-testing/.
d=".agents/skills/webapp-testing" u="https://raw.githubusercontent.com/anthropics/skills/33375500bcea98d610eb30ce10ac4e59b89c390d/skills/webapp-testing" curl -fsSL --create-dirs \ -o "$d/SKILL.md" "$u/SKILL.md" \ -o "$d/examples/console_logging.py" "$u/examples/console_logging.py" \ -o "$d/examples/element_discovery.py" "$u/examples/element_discovery.py" \ -o "$d/examples/static_html_automation.py" "$u/examples/static_html_automation.py" \ -o "$d/LICENSE.txt" "$u/LICENSE.txt" \ -o "$d/scripts/with_server.py" "$u/scripts/with_server.py"
Global: instala em ~/.agents/skills/webapp-testing/.
d="$HOME/.agents/skills/webapp-testing" u="https://raw.githubusercontent.com/anthropics/skills/33375500bcea98d610eb30ce10ac4e59b89c390d/skills/webapp-testing" curl -fsSL --create-dirs \ -o "$d/SKILL.md" "$u/SKILL.md" \ -o "$d/examples/console_logging.py" "$u/examples/console_logging.py" \ -o "$d/examples/element_discovery.py" "$u/examples/element_discovery.py" \ -o "$d/examples/static_html_automation.py" "$u/examples/static_html_automation.py" \ -o "$d/LICENSE.txt" "$u/LICENSE.txt" \ -o "$d/scripts/with_server.py" "$u/scripts/with_server.py"
Antigravity
Neste projeto: instala em .agents/skills/webapp-testing/.
d=".agents/skills/webapp-testing" u="https://raw.githubusercontent.com/anthropics/skills/33375500bcea98d610eb30ce10ac4e59b89c390d/skills/webapp-testing" curl -fsSL --create-dirs \ -o "$d/SKILL.md" "$u/SKILL.md" \ -o "$d/examples/console_logging.py" "$u/examples/console_logging.py" \ -o "$d/examples/element_discovery.py" "$u/examples/element_discovery.py" \ -o "$d/examples/static_html_automation.py" "$u/examples/static_html_automation.py" \ -o "$d/LICENSE.txt" "$u/LICENSE.txt" \ -o "$d/scripts/with_server.py" "$u/scripts/with_server.py"
Global: instala em ~/.gemini/antigravity-cli/skills/webapp-testing/.
d="$HOME/.gemini/antigravity-cli/skills/webapp-testing" u="https://raw.githubusercontent.com/anthropics/skills/33375500bcea98d610eb30ce10ac4e59b89c390d/skills/webapp-testing" curl -fsSL --create-dirs \ -o "$d/SKILL.md" "$u/SKILL.md" \ -o "$d/examples/console_logging.py" "$u/examples/console_logging.py" \ -o "$d/examples/element_discovery.py" "$u/examples/element_discovery.py" \ -o "$d/examples/static_html_automation.py" "$u/examples/static_html_automation.py" \ -o "$d/LICENSE.txt" "$u/LICENSE.txt" \ -o "$d/scripts/with_server.py" "$u/scripts/with_server.py"
Peça ao Rook
Já usa o Rook Labs? Cole no chat do Rook: instale a skill https://rooklabs.sh/marketplace/anthropic.webapp-testing
Prévia do SKILL.md
---
name: webapp-testing
description: Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
license: Complete terms in LICENSE.txt
---
# Web Application Testing
To test local web applications, write native Python Playwright scripts.
**Helper Scripts Available**:
- `scripts/with_server.py` - Manages server lifecycle (supports multiple servers)
**Always run scripts with `--help` first** to see usage. DO NOT read the source until you try running the script first and find that a customized solution is abslutely necessary. These scripts can be very large and thus pollute your context window. They exist to be called directly as black-box scripts rather than inges…
## Decision Tree: Choosing Your Approach
```
User task → Is it static HTML?
├─ Yes → Read HTML file directly to identify selectors
│ ├─ Success → Write Playwright script using selectors
│ └─ Fails/Incomplete → Treat as dynamic (below)
│
└─ No (dynamic webapp) → Is the server already running?
├─ No → Run: python scripts/with_server.py --help
│ Then use the helper + write simplified Playwright script
│
└─ Yes → Reconnaissance-then-action:
1. Navigate and wait for networkidle
2. Take screenshot or inspect DOM
3. Identify selectors from rendered state
4. Execute actions with discovered selectors
```
## Example: Using with_server.py
To start a server, run `--help` first, then use the helper:
**Single server:**
```bash
…