Webapp Testing

Kit de ferramentas para interagir e testar aplicações web locais usando Playwright. Suporta verificação de funcionalidades do frontend, depuração de comportamento da interface, captura de capturas de tela do navegador e visualização de logs do navegador. licença: Termos completos em LICENSE.txt

npx skills add https://github.com/anthropics/skills --skill webapp-testing

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 ingested into your context window.

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:

python scripts/with_server.py --server "npm run dev" --port 5173 -- python your_automation.py

Multiple servers (e.g., backend + frontend):

python scripts/with_server.py \
  --server "cd backend && python server.py" --port 3000 \
  --server "cd frontend && npm run dev" --port 5173 \
  -- python your_automation.py

To create an automation script, include only Playwright logic (servers are managed automatically):

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True) # Always launch chromium in headless mode
    page = browser.new_page()
    page.goto('http://localhost:5173') # Server already running and ready
    page.wait_for_load_state('networkidle') # CRITICAL: Wait for JS to execute
    # ... your automation logic
    browser.close()

Reconnaissance-Then-Action Pattern

  1. Inspect rendered DOM:

    page.screenshot(path='/tmp/inspect.png', full_page=True)
    content = page.content()
    page.locator('button').all()
    
  2. Identify selectors from inspection results

  3. Execute actions using discovered selectors

Common Pitfall

Don't inspect the DOM before waiting for networkidle on dynamic apps ✅ Do wait for page.wait_for_load_state('networkidle') before inspection

Best Practices

  • Use bundled scripts as black boxes - To accomplish a task, consider whether one of the scripts available in scripts/ can help. These scripts handle common, complex workflows reliably without cluttering the context window. Use --help to see usage, then invoke directly.
  • Use sync_playwright() for synchronous scripts
  • Always close the browser when done
  • Use descriptive selectors: text=, role=, CSS selectors, or IDs
  • Add appropriate waits: page.wait_for_selector() or page.wait_for_timeout()

Reference Files

  • examples/ - Examples showing common patterns:
    • element_discovery.py - Discovering buttons, links, and inputs on a page
    • static_html_automation.py - Using file:// URLs for local HTML
    • console_logging.py - Capturing console logs during automation

Mais skills de Anthropic

Algorithmic Art
Anthropic
Criação de arte algorítmica usando p5.js com aleatoriedade seedada e exploração interativa de parâmetros. Use isto quando usuários solicitarem criação de arte usando código, arte generativa, arte algorítmica, campos de fluxo ou sistemas de partículas. Crie arte algorítmica original em vez de copiar o trabalho de artistas existentes para evitar violações de direitos autorais. licença: Termos completos em LICENSE.txt
creativeofficial
Brand Guidelines
Anthropic
Aplica as cores oficiais da marca e a tipografia da Anthropic a qualquer tipo de artefato que possa se beneficiar da aparência e identidade visual da Anthropic. Use quando cores da marca, diretrizes de estilo, formatação visual ou padrões de design da empresa forem aplicáveis. licença: Termos completos em LICENSE.txt
creativeofficial
Canvas Design
Anthropic
Crie arte visual bonita em documentos .png e .pdf usando filosofia de design. Você deve usar esta habilidade quando o usuário pedir para criar um pôster, obra de arte, design ou outra peça estática. Crie designs visuais originais, nunca copiando o trabalho de artistas existentes para evitar violações de direitos autorais. licença: Termos completos em LICENSE.txt
creativeofficial
Docx
Anthropic
Criação, edição e análise abrangente de documentos com suporte para controle de alterações, comentários, preservação de formatação e extração de texto. Quando o Claude precisar trabalhar com documentos profissionais (arquivos .docx) para: (1) Criar novos documentos, (2) Modificar ou editar conteúdo, (3) Trabalhar com controle de alterações, (4) Adicionar comentários, ou qualquer outra tarefa com documentos" licença: Proprietária. LICENSE.txt contém os termos completos
documentofficial
Frontend Design
Anthropic
Gera interfaces frontend distintas e de nível de produção que evitam estéticas genéricas de IA.
developmentfeaturedofficial
Internal Comms
Anthropic
Um conjunto de recursos para me ajudar a escrever todos os tipos de comunicações internas, usando os formatos que minha empresa prefere utilizar. Claude deve usar esta habilidade sempre que for solicitado a escrever algum tipo de comunicação interna (relatórios de status, atualizações para a liderança, atualizações de terceiros, newsletters da empresa, FAQs, relatórios de incidentes, atualizações de projetos, etc.). licença: Termos completos em LICENSE.txt
official
MCP Builder
Anthropic
Guia para criar servidores MCP (Model Context Protocol) de alta qualidade que permitem que LLMs interajam com serviços externos por meio de ferramentas bem projetadas. Use ao construir servidores MCP para integrar APIs ou serviços externos, seja em Python (FastMCP) ou Node/TypeScript (MCP SDK). licença: Termos completos em LICENSE.txt
developmentofficial
Artifacts Builder
Anthropic
Conjunto de ferramentas para criar artefatos HTML elaborados e com múltiplos componentes no claude.ai, utilizando tecnologias modernas de frontend web (React, Tailwind CSS, shadcn/ui). Use para artefatos complexos que exigem gerenciamento de estado, roteamento ou componentes shadcn/ui — não para artefatos simples de HTML/JSX em arquivo único. licença: Termos completos em LICENSE.txt
development