platforms/hermes/skills/software-development/playwright/SKILL.md
Use when the task requires automating a real browser. This skill is MCP-only and uses `playwright-ext` (`@playwright/mcp --extension`) to attach to the browser extension session.
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.
Use Playwright as the reliable browser execution layer in a three-layer stack:
playwright-ext: reliable browser executionUse a single channel only:
playwright-ext MCP.playwright-cli wrapper in this skill.@playwright/test unless the user explicitly asks for test files.Prefer Scrapling when:
Prefer PinchTab when:
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, 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 Scrapling or PinchTab when:
When Playwright takes over, say why it is now required and keep the flow inside Playwright until the critical interaction is verified.
If taking over from PinchTab failure, require brief triage evidence before takeover:
pinchtab health, pinchtab instances, and one smoke test result (or equivalent evidence)service-down, auth-blocked, capability-gap, higher-repair-costSnapshot again after:
Refs can go stale. When a command fails due to a missing ref, snapshot again.
If playwright-ext fails with Extension connection timeout:
chrome-extension://.../connect.html.Invalid token provided, the extension token in config does not match the installed extension session token (or has expired/rotated).PLAYWRIGHT_MCP_EXTENSION_TOKEN.hermes mcp test playwright-ext verifies server startup and tool discovery only.mcp_playwright_ext_browser_tabs in a fresh session) to verify extension handshake actually works.git clone + README/metadata inspection). Only escalate to Playwright if page interaction is actually required.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.