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
creative
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
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
XLSX
Anthropic
Criação, edição e análise abrangente de planilhas com suporte a fórmulas, formatação, análise de dados e visualização. Quando o Claude precisar trabalhar com planilhas (.xlsx, .xlsm, .csv, .tsv, etc) para: (1) Criar novas planilhas com fórmulas e formatação, (2) Ler ou analisar dados, (3) Modificar planilhas existentes preservando fórmulas, (4) Análise e visualização de dados em planilhas, ou (5) Recalcular fórmulas licença: Proprietária. LICENSE.txt contém os termos completos
document
Skill Creator
Anthropic
Guia para criar skills eficazes. Esta skill deve ser usada quando os usuários quiserem criar uma nova skill (ou atualizar uma existente) que estenda as capacidades do Claude com conhecimento especializado, fluxos de trabalho ou integrações de ferramentas. licença: Termos completos em LICENSE.txt
Slack Gif Creator
Anthropic
Kit de ferramentas para criar GIFs animados otimizados para o Slack, com validadores para restrições de tamanho e primitivas de animação combináveis. Esta habilidade é aplicada quando usuários solicitam GIFs animados ou animações de emoji para o Slack a partir de descrições como "faça um GIF para o Slack de X fazendo Y". licença: Termos completos em LICENSE.txt
creative
Theme Factory
Anthropic
Kit de ferramentas para estilizar artefatos com um tema. Esses artefatos podem ser slides, documentos, relatórios, páginas de destino HTML, etc. Existem 10 temas predefinidos com cores/fontes que você pode aplicar a qualquer artefato que tenha sido criado, ou pode gerar um novo tema em tempo real. licença: Termos completos em LICENSE.txt
creative
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
creative