mit einem Klick
puppeteer
Use puppeteer to browse websites
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Menü
Use puppeteer to browse websites
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Basierend auf der SOC-Berufsklassifikation
You must load this skill if you are creating or updating standalone documentation.
This skill should be used when the user asks to "skillify this", "turn this into a skill", "make a skill out of what we just did", "generalize this task into a reusable skill", or otherwise wants to capture a just-completed session task as a new skill or fold it into an existing one.
Browser automation using the puppeteer NPM package. Use when performing tasks on websites as a user would, taking screenshots, filling forms, or navigating web applications.
Load this skill immediately after a user mentions "@goodfoot/claude-code-hooks" or Claude Code hooks.
Load this skill immediately after a user mentions "@goodfoot/codex-hooks" or Codex hooks.
Load this skill immediately after a user mentions "@goodfoot/codex-hooks" or Codex hooks.
| name | puppeteer |
| description | Use puppeteer to browse websites |
curl -s --connect-timeout 2 http://127.0.0.1:9222/json/version | head -c 200
Empty / FAILED output means Chrome was not launched with --remote-debugging-port=9222 — stop and ask the user.
The browser UUID changes every launch. Always discover it:
WS=$(curl -s http://127.0.0.1:9222/json/version | node -e "let d='';process.stdin.on('data',c=>d+=c).on('end',()=>console.log(JSON.parse(d).webSocketDebuggerUrl))")
echo "$WS"
Run from /workspace so puppeteer-core resolves from the workspace node_modules. The heredoc form below uses tsx for top-level await; node --input-type=module works equivalently.
WS_ENDPOINT="$WS" tsx << 'EOF'
import puppeteer from "puppeteer-core";
const browser = await puppeteer.connect({
browserWSEndpoint: process.env.WS_ENDPOINT,
defaultViewport: null,
});
const page = (await browser.pages())[0] || await browser.newPage();
await page.goto("http://example.com:8080/", { waitUntil: "networkidle2", timeout: 20000 });
console.log(await page.title());
await browser.disconnect(); // never close() — keeps Chrome alive for next call
EOF