Interact with persistent browsers and Electron apps for fast iterative UI debugging.
This skill comes from a highly trusted open-source GitHub repository and does not declare built-in secrets or remote endpoints, so its baseline trust is relatively strong. However, its documentation explicitly requires enabling `js_repl` and running with `danger-full-access`, which materially expands local code execution and data access exposure and warrants strict environment controls.
The materials explicitly state that no keys or environment variables are required, and there is no request for API keys, tokens, or account credentials. The main concern is not built-in credential handling, but that a high-privilege local runtime could potentially reach credentials already present on the host.
No fixed remote endpoint is declared, and the objective checks also show no host. The description indicates it is mainly for debugging local web or Electron apps, with no explicit built-in data exfiltration path. However, Playwright will interact with the target being debugged, so user content could still be involved in network requests made by that target page or app.
The README explicitly requires enabling `js_repl` and recommends running with `--sandbox danger-full-access`; it also includes steps such as `npm install playwright`, `node -e ...`, starting a dev server, and launching browser/Electron runtimes. This goes beyond a prompt-only skill and enables substantial local code execution on the host, with the explicit instruction to disable sandboxing being a clear red flag.
The documentation requires setup and installation inside the target project directory and keeps a persistent debugging session while sandboxing is disabled. This means the skill may read project source code, build artifacts, config files, and runtime data. Access to project files is normal for UI debugging, but `danger-full-access` expands the potential data access scope toward the entire host rather than least privilege.
The source is the open-source openai/skills repository on GitHub with about 22k stars, which is a strong trust and auditability signal that lowers risk. However, the license is undeclared, maintenance status is unknown, and the README instructs installing npm dependencies such as `playwright`, leaving normal dependency supply-chain and version-drift risks.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "playwright-interactive" skill from askskill: 1. Download https://raw.githubusercontent.com/openai/skills/main/skills/.curated/playwright-interactive/SKILL.md 2. Save it as ~/.claude/skills/playwright-interactive/SKILL.md 3. Reload skills and tell me it's ready
Use a persistent js_repl Playwright session to debug local web or Electron apps, keep the same handles alive across iterations, and run functional plus visual QA without restarting the whole toolchain unless the process ownership changed.
js_repl must be enabled for this skill.js_repl is missing, enable it in ~/.codex/config.toml:[features]
js_repl = true
--enable js_repl (equivalent to -c features.js_repl=true).js_repl, start a new Codex session so the tool list refreshes.--sandbox danger-full-access (or the equivalent config for sandbox_mode=danger-full-access). This is a temporary requirement while js_repl + Playwright support inside the sandbox is still being completed.js_repl_reset as a recovery tool, not routine cleanup. Resetting the kernel destroys your Playwright handles.test -f package.json || npm init -y
npm install playwright
# Web-only, for headed Chromium or mobile emulation:
# npx playwright install chromium
# Electron-only, and only if the target workspace is the app itself:
# npm install --save-dev electron
node -e "import('playwright').then(() => console.log('playwright import ok')).catch((error) => { console.error(error); process.exit(1); })"
If you switch to a different workspace later, repeat setup there.
var chromium;
var electronLauncher;
var browser;
var context;
var page;
var mobileContext;
var mobilePage;
var electronApp;
var appWindow;
try {
({ chromium, _electron: electronLauncher } = await import("playwright"));
console.log("Playwright loaded");
} catch (error) {
throw new Error(
`Could not load playwright from the current js_repl cwd. Run the setup commands from this workspace first. Original error: ${error}`
);
}
Binding rules:
var for the shared top-level Playwright handles because later js_repl cells reuse them.undefined and rerun the cell instead of adding recovery logic everywhere.…
Read, create, and review PDFs with layout-aware rendering and extraction tools.
Transcribe audio or video to text with optional speaker labeling.
Read, create, and update Linear issues, projects, and team workflows.
Deploy apps or websites to Vercel and generate live or preview links.
Stage, commit, push, and open a GitHub pull request in one flow.
Turn Notion specs into implementation plans, tasks, and progress tracking.
Let AI control a browser for web tasks, testing, and data extraction.
Automate a real browser from the terminal for testing, scraping, and UI debugging.
Drive a real browser to browse pages, interact, and run web automation tests.
Automate browser testing and debug web issues directly through MCP.
Control a browser with Playwright snippets for web automation and testing.
Automate, inspect, and test Electron desktop apps with reliable AI-driven assertions.