playwright

À utiliser lorsque la tâche nécessite d'automatiser un vrai navigateur depuis le terminal (navigation, remplissage de formulaires, instantanés, captures d'écran, extraction de données, débogage de flux d'interface utilisateur)…

npx skills add https://github.com/firecrawl/openai-skills --skill playwright

Playwright CLI Skill

Drive a real browser from the terminal using playwright-cli. Prefer the bundled wrapper script so the CLI works even when it is not globally installed. Treat this skill as CLI-first automation. Do not pivot to @playwright/test unless the user explicitly asks for test files.

Prerequisite check (required)

Before proposing commands, check whether npx is available (the wrapper depends on it):

command -v npx >/dev/null 2>&1

If it is not available, pause and ask the user to install Node.js/npm (which provides npx). Provide these steps verbatim:

# Verify Node/npm are installed
node --version
npm --version

# If missing, install Node.js/npm, then:
npm install -g @playwright/cli@latest
playwright-cli --help

Once npx is present, proceed with the wrapper script. A global install of playwright-cli is optional.

Skill path (set once)

export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export PWCLI="$CODEX_HOME/skills/playwright/scripts/playwright_cli.sh"

User-scoped skills install under $CODEX_HOME/skills (default: ~/.codex/skills).

Quick start

Use the wrapper script:

"$PWCLI" open https://playwright.dev --headed
"$PWCLI" snapshot
"$PWCLI" click e15
"$PWCLI" type "Playwright"
"$PWCLI" press Enter
"$PWCLI" screenshot

If the user prefers a global install, this is also valid:

npm install -g @playwright/cli@latest
playwright-cli --help

Core workflow

  1. Open the page.
  2. Snapshot to get stable element refs.
  3. Interact using refs from the latest snapshot.
  4. Re-snapshot after navigation or significant DOM changes.
  5. Capture artifacts (screenshot, pdf, traces) when useful.

Minimal loop:

"$PWCLI" open https://example.com
"$PWCLI" snapshot
"$PWCLI" click e3
"$PWCLI" snapshot

When to snapshot again

Snapshot again after:

  • navigation
  • clicking elements that change the UI substantially
  • opening/closing modals or menus
  • tab switches

Refs can go stale. When a command fails due to a missing ref, snapshot again.

Recommended patterns

Form fill and submit

"$PWCLI" open https://example.com/form
"$PWCLI" snapshot
"$PWCLI" fill e1 "user@example.com"
"$PWCLI" fill e2 "password123"
"$PWCLI" click e3
"$PWCLI" snapshot

Debug a UI flow with traces

"$PWCLI" open https://example.com --headed
"$PWCLI" tracing-start
# ...interactions...
"$PWCLI" tracing-stop

Multi-tab work

"$PWCLI" tab-new https://example.com
"$PWCLI" tab-list
"$PWCLI" tab-select 0
"$PWCLI" snapshot

Wrapper script

The wrapper script uses npx --package @playwright/cli playwright-cli so the CLI can run without a global install:

"$PWCLI" --help

Prefer the wrapper unless the repository already standardizes on a global install.

References

Open only what you need:

  • CLI command reference: references/cli.md
  • Practical workflows and troubleshooting: references/workflows.md

Guardrails

  • Always snapshot before referencing element ids like e12.
  • Re-snapshot when refs seem stale.
  • Prefer explicit commands over eval and run-code unless needed.
  • When you do not have a fresh snapshot, use placeholder refs like eX and say why; do not bypass refs with run-code.
  • Use --headed when a visual check will help.
  • When capturing artifacts in this repo, use output/playwright/ and avoid introducing new top-level artifact folders.
  • Default to CLI commands and workflows, not Playwright test specs.

Plus de skills de firecrawl

firecrawl-research-index
firecrawl
Trouvez les articles qui répondent à une requête de recherche avec Firecrawl Research, en utilisant la recherche sémantique, l'expansion sémantique et structurelle, et la vérification dans le corps du texte. Utilisez toujours cette compétence pour toute tâche de recherche d'articles ou de récupération de documents — qu'il s'agisse de consulter un seul article ou un ensemble complet de plusieurs articles.
data-analysisresearchweb-scraping
oracle
firecrawl
Meilleures pratiques pour utiliser l'interface en ligne de commande oracle (invite + regroupement de fichiers, moteurs, sessions et modèles de pièces jointes).
pinecone
firecrawl
Base de données vectorielle gérée pour les applications d'IA en production. Entièrement gérée, mise à l'échelle automatique, avec recherche hybride (dense + sparse), filtrage par métadonnées et espaces de noms.…
wpds
firecrawl
À utiliser lors de la création d'interfaces utilisateur exploitant le WordPress Design System (WPDS) et ses composants, tokens, motifs, etc.
audiocraft-audio-generation
firecrawl
Bibliothèque PyTorch pour la génération audio incluant texte-vers-musique (MusicGen) et texte-vers-son (AudioGen). À utiliser lorsque vous avez besoin de générer de la musique à partir de texte…
skypilot-multi-cloud-orchestration
firecrawl
Orchestration multi-cloud pour les charges de travail ML avec optimisation automatique des coûts. À utiliser lorsque vous devez exécuter des tâches d’entraînement ou par lots sur plusieurs clouds, tirer parti de…
firecrawl-seo-audit
firecrawl
Auditer le SEO d'un site web avec Firecrawl. À utiliser lorsque l'utilisateur demande un audit SEO, une revue des métadonnées et des titres, une analyse du sitemap/de la structure du site, des opportunités de mots-clés, une comparaison des SERP concurrents, ou des recommandations priorisées d'optimisation pour la recherche.
data-analysisresearchweb-scraping
gh-issues
firecrawl
Récupérer les issues GitHub, générer des sous-agents pour implémenter des correctifs et ouvrir des PR, puis surveiller et traiter les commentaires de révision des PR. Utilisation : /gh-issues [owner/repo] [--label…]