skill
Playwright Interactive
نبذة
# Playwright Interactive Skill
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.
## Preconditions
- `js_repl` must be enabled for this skill. - If `js_repl` is missing, enable it in `~/.codex/config.toml`:
```toml [features] js_repl = true ```
- You can also start a new session with `--enable js_repl` (equivalent to `-c features.js_repl=true`). - After enabling `js_repl`, start a new Codex session so the tool list refreshes. - For now, run this workflow with sandboxing disabled: start Codex with `--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. - Run setup from the same project directory you need to debug. - Treat `js_repl_reset` as a recovery tool, not routine cleanup. Resetting the kernel destroys your Playwright handles.
## One-time setup
```bash 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.
## Core Workflow
1. Write a brief QA inventory before testing: - Build the inventory from three sources: the user's requested requirements, the user-visible features or behaviors you actually implemented, and the claims you expect to make in the final response. - Anything that appears in any of those three sources must map to at least one QA check before signoff. - List the user-visible claims you intend to sign off on. - List every meaningful user-facing control, mode switch, or implemented interactive behavior. - List the state changes or view changes each control or implemented behavior can cause. - Use this as the shared coverage list for both functional QA and visual QA. - For each claim or control-state pair, note the intended functional check, the specific state where the visual check must happen, and the evidence you expect to capture. - If a requirement is visually central but subjective, convert it into an observable QA check instead of leaving it implicit. - Add at least 2 exploratory or off-happy-path scenarios that could expose fragile behavior. 2. Run the bootstrap cell once. 3. Start or confirm any required dev server in a persistent TTY session. 4. Launch the correct runtime and keep reusing the same Playwright handles. 5. After each code change, reload for renderer-only changes or relaunch for main-process/startup changes. 6. Run functional QA with normal user input. 7. Run a separate visual QA pass. 8. Verify viewport fit and capture the screenshots needed to support your claims. 9. Clean up the Playwright session only when the task is actually finished.
## Bootstrap (Run Once)
```javascript 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:
- Use `var` for the shared top-level Playwright handles because later `js_repl` cells reuse them. - The setup cells below are intentionally short happy paths. If a handle looks stale, set that binding to `undefined` and rerun the cell instead of adding recovery logic everywhere. - Prefer one named handle per surface you care about (`page`, `mobilePage`, `appWindow`) over repeatedly rediscovering pages from the context.
Shared web helpers:
```javascript var resetWebHandles = function () { context = undefined; page = undefined; mobileContext = undefined; mobilePage = undefined; };
var ensureWebBrowser = async function () { if (browser && !browser.isConnected()) { browser = undefined; resetWebHandles(); }
browser ??= await chromium.launch({ headless: false }); return browser; };
var reloadWebContexts = async function () { for (const currentContext of [context, mobileContext]) { if (!currentContext) continue; for (const p of currentContext.pages()) { await p.reload({ waitUntil: "domcontentloaded" }); } } console.log("Reloaded existing web tabs"); }; ```
## Choose Session Mode
For web apps, use an explicit viewport by default and treat native-window mode as a separate validation pass.
- Use an explicit viewport for routin
التثبيت
شغل هذا الأمر
git clone https://github.com/openai/skills && cp -r skills/skills/.curated/playwright-interactive ~/.claude/skills/يعمل مع
خطوات التثبيت
Clone the repository and copy the `skills/.curated/playwright-interactive` folder into your Claude skills directory. Compatible with Claude Code, Cursor, Codex, and any Agent Skills-compatible agent.
أسئلة شائعة
كيف أثبت Playwright Interactive؟
شغل هذا الأمر في الطرفية:
git clone https://github.com/openai/skills && cp -r skills/skills/.curated/playwright-interactive ~/.claude/skills/مع أي أدوات ذكاء اصطناعي تعمل Playwright Interactive؟
تعمل مع claude_app، claude_code، claude_api، cursor، codex، windsurf، cline، zed.
من طور Playwright Interactive؟
طورها OpenAI، وتصدر بترخيص Apache-2.0.
هل Playwright Interactive مجانية؟
نعم، يمكنك استخدامها مجانا وفق ترخيص Apache-2.0.
npx skills add nextlevelbuilder/ui-ux-pro-max-skill
npx skills add emilkowalski/skills
npx skills add emilkowalski/skills
npx skills add emilkowalski/skills
npx skills add emilkowalski/skills
npx skills add arvindrk/extract-design-system
افحص قبل التثبيت
شغل أي مصدر عبر فحوصاتنا - الظهور في الذكاء الاصطناعي والأمان والأداء واكتشاف التقنيات.
فحص أمني تلقائي للموقع
الأمان
محلل سرعة الصفحة
الأداء
اختبار جودة المحتوى العربي بالذكاء الاصطناعي
جودة المحتوى
مختبر وكلاء الذكاء الاصطناعي
اختبار الذكاء الاصطناعي
كاشف منصة الموقع
الترحيل
تدقيق الظهور في محركات الذكاء الاصطناعي
الظهور في الذكاء الاصطناعي
مولد ملف llms.txt
الظهور في الذكاء الاصطناعي
مقياس سهولة القراءة بالعربية
جودة المحتوى
منشئ البيانات المنظمة
الظهور في الذكاء الاصطناعي
حاسبة تكاليف الذكاء الاصطناعي
اختبار الذكاء الاصطناعي
محلل العناوين العربية
جودة المحتوى