platforms/codex/skills/playwright/SKILL.md
Use only when the user explicitly asks for Playwright Extension / real-browser debugging, or when HTTP, in-app Browser, and Codex Chrome plugin cannot complete an interaction-heavy workflow. This skill requires manually enabled `playwright-ext` (`@playwright/mcp --extension`).
npx skillsauth add codingsamss/ai-dotfiles playwrightInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This is not the default browser surface. For local app checks, screenshots, ordinary page inspection, or tasks that do not require the user's active Chrome session, prefer Codex Browser / in-app browser in the background. For tasks that need the user's Chrome login state or existing tabs, prefer the Codex Chrome plugin before Playwright.
Use Playwright as the reliable browser execution fallback in this stack:
playwright-ext: explicit fallback only after manual enablementWhen this skill is deliberately selected, use a single channel only:
playwright-ext MCP inside this skill only when codex mcp get playwright-ext reports it is enabled.playwright-cli wrapper in this skill.@playwright/test unless the user explicitly asks for test files.Choose Playwright when:
Before proposing browser actions, verify MCP and runtime dependency:
codex mcp get playwright-ext
command -v npx >/dev/null 2>&1
If playwright-ext is missing or disabled, do not configure or enable it unless the user explicitly asks. If they do, configure it with extension token:
codex mcp add playwright-ext \
--env PLAYWRIGHT_MCP_EXTENSION_TOKEN=<token> \
-- npx @playwright/mcp@latest --extension
If npx is missing, ask the user to install Node.js/npm:
node --version
npm --version
brew install node
Take over from lighter browser paths when:
playwright-ext is enabled.When Playwright takes over, say why it is now required and keep the flow inside Playwright until the critical interaction is verified.
Snapshot again after:
Refs can go stale. When a command fails due to a missing ref, snapshot again.
e12.eval and run-code unless needed.eX and say why; do not bypass refs with run-code.--headed when a visual check will help.output/playwright/ and avoid introducing new top-level artifact folders.development
Query Midea MX / 美信 local message cache through the MX local HTTP query service from Codex. Use when the user asks to read MX sessions, search chat history, search messages globally or inside a group/session, list recent messages, or page message history. This is read-only and does not require send authorization. Never fall back to reading SQLite or app cache files directly.
development
Safely search MX users or groups and send Midea MX / 美信 IM messages from Codex. Use when the user asks to notify someone, send a message to a person or group, use a configured group alias, @ users, @ all, or send MX file/image messages. Read lookups need no extra authorization; every live send needs explicit user authorization for that exact target and message.
tools
MX channel output rules. Always active in MX conversations.
tools
Use the company WorkSpace `ws` CLI reliably as a delegated coding agent from Codex. Trigger when the user wants Codex to command `ws`, WorkSpace CLI, or the company opencode-derived coding tool to generate code, inspect a repo, run a bounded implementation task, or use a requested WorkSpace model while Codex reviews the output.