Webapp Testing

Kit d'outils pour interagir avec et tester des applications web locales à l'aide de Playwright. Permet de vérifier les fonctionnalités frontend, de déboguer le comportement de l'interface utilisateur, de capturer des captures d'écran du navigateur et de consulter les journaux du navigateur. licence : Conditions complètes dans 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

Plus de skills de Anthropic

Algorithmic Art
Anthropic
Création d'art algorithmique avec p5.js utilisant l'aléatoire ensemencé et l'exploration interactive de paramètres. Utilisez ceci lorsque les utilisateurs demandent la création d'art par code, d'art génératif, d'art algorithmique, de champs de flux ou de systèmes de particules. Créez un art algorithmique original plutôt que de copier le travail d'artistes existants pour éviter les violations de droits d'auteur. licence : Conditions complètes dans LICENSE.txt
creative
Internal Comms
Anthropic
Un ensemble de ressources pour m'aider à rédiger toutes sortes de communications internes, en utilisant les formats que mon entreprise préfère. Claude doit utiliser cette compétence chaque fois qu'on lui demande de rédiger une communication interne (rapports d'avancement, mises à jour pour la direction, mises à jour 3P, bulletins d'entreprise, FAQ, rapports d'incidents, mises à jour de projet, etc.). licence : Conditions complètes dans LICENSE.txt
Artifacts Builder
Anthropic
Suite d'outils pour créer des artefacts HTML claude.ai élaborés et multi-composants à l'aide de technologies frontend web modernes (React, Tailwind CSS, shadcn/ui). À utiliser pour les artefacts complexes nécessitant une gestion d'état, un routage ou des composants shadcn/ui - pas pour les artefacts HTML/JSX simples à fichier unique. licence : Conditions complètes dans LICENSE.txt
development
XLSX
Anthropic
Création, édition et analyse complètes de feuilles de calcul avec prise en charge des formules, du formatage, de l'analyse des données et de la visualisation. Lorsque Claude doit travailler avec des feuilles de calcul (.xlsx, .xlsm, .csv, .tsv, etc.) pour : (1) Créer de nouvelles feuilles de calcul avec formules et formatage, (2) Lire ou analyser des données, (3) Modifier des feuilles de calcul existantes tout en préservant les formules, (4) Analyser et visualiser des données dans des feuilles de calcul, ou (5) Recalculer des formules licence : Propriétaire. LICENSE.txt contient les conditions complètes
document
Skill Creator
Anthropic
Guide pour créer des skills efficaces. Cette compétence doit être utilisée lorsque les utilisateurs souhaitent créer un nouveau skill (ou mettre à jour un skill existant) qui étend les capacités de Claude avec des connaissances spécialisées, des workflows ou des intégrations d'outils. licence : Conditions complètes dans LICENSE.txt
Slack Gif Creator
Anthropic
Boîte à outils pour créer des GIFs animés optimisés pour Slack, avec des validateurs pour les contraintes de taille et des primitives d'animation composables. Cette compétence s'applique lorsque les utilisateurs demandent des GIFs animés ou des animations d'emoji pour Slack à partir de descriptions comme "fais-moi un GIF pour Slack de X faisant Y". licence : Conditions complètes dans LICENSE.txt
creative
Theme Factory
Anthropic
Boîte à outils pour styliser des artefacts avec un thème. Ces artefacts peuvent être des diapositives, des documents, des rapports, des pages d'atterrissage HTML, etc. Il existe 10 thèmes prédéfinis avec des couleurs/polices que vous pouvez appliquer à tout artefact déjà créé, ou générer un nouveau thème à la volée. licence : Conditions complètes dans LICENSE.txt
creative
Brand Guidelines
Anthropic
Applique les couleurs officielles de la marque Anthropic et sa typographie à tout type d'artefact pouvant bénéficier de l'apparence et de la sensation d'Anthropic. Utilisez-le lorsque les couleurs de la marque, les directives de style, le formatage visuel ou les normes de conception de l'entreprise s'appliquent. licence : Conditions complètes dans LICENSE.txt
creative