code-assist
Guides implementation of code tasks using test-driven development in an Explore, Plan, Code, Commit workflow. Acts as a Technical…
Browser automation via Playwriter (remorses) using persistent Chrome sessions and the full Playwright Page API.
Claude Code
$ npx -y skills add mikeyobrien/ralph-orchestrator --skill playwriter --agent claude-code
Codex
$ npx skills add mikeyobrien/ralph-orchestrator --skill playwriter -a codex -y
Cursor
$ npx skills add mikeyobrien/ralph-orchestrator --skill playwriter -a cursor -y
Gemini CLI
$ npx skills add mikeyobrien/ralph-orchestrator --skill playwriter -a gemini-cli -y
GitHub Copilot
$ npx skills add mikeyobrien/ralph-orchestrator --skill playwriter -a github-copilot -y
OpenCode
$ npx skills add mikeyobrien/ralph-orchestrator --skill playwriter -a opencode -y
Windsurf
$ npx skills add mikeyobrien/ralph-orchestrator --skill playwriter -a windsurf -y
name: playwriter description: Browser automation via Playwriter (remorses) using persistent Chrome sessions and the full Playwright Page API. hats: [developer, qa_tester] metadata: internal: true
Use Playwriter to run Playwright Page scripts against your local Chrome session. This preserves logins, cookies, and extensions, which is ideal for web dashboard testing and authenticated flows.
npm i -g playwriter
1. Create a session:
playwriter session new
2. List sessions and copy the session id:
playwriter session list
3. Execute Playwright code against that session:
playwriter -s <session_id> -e "await page.goto('https://example.com')"Within `-e`, these are available in scope:
Example state persistence:
playwriter -s <session_id> -e "state.lastUrl = page.url()" playwriter -s <session_id> -e "console.log(state.lastUrl)"
playwriter -s <session_id> -e "await page.goto('http://localhost:3000'); await page.getByRole('button', { name: 'Run' }).click();"playwriter -s <session_id> -e "await page.getByLabel('Email').fill('qa@example.com'); await page.getByLabel('Password').fill('secret'); await page.getByRole('button', { name: 'Sign in' }).click();"playwriter -s <session_id> -e "const { screenshotWithAccessibilityLabels } = require('playwriter'); await screenshotWithAccessibilityLabels(page, { path: '/tmp/a11y.png' });"playwriter -s <session_id> -e "await page.route('**/api/**', async route => { const res = await route.fetch(); const body = await res.json(); await route.fulfill({ json: { ...body, injected: true } }); });"playwriter -s <session_id> -e "const text = await page.locator('main').innerText(); console.log(text);"A hat-based orchestration framework that keeps AI agents in a loop until the task is done. "Me fail English? That's unpossible!" - Ralph Wiggum
Guides implementation of code tasks using test-driven development in an Explore, Plan, Code, Commit workflow. Acts as a Technical…
Generates structured .code-task.md files from descriptions or PDD implementation plans. Auto-detects input type, creates properly…
Use when testing Ralph's hat collection presets, validating preset configurations, or auditing the preset library for bugs and UX…
Lists all code tasks in the repository with their status, dates, and metadata. Useful for getting an overview of pending work or…
Transforms a rough idea into a detailed design document with implementation plan. Follows Prompt-Driven Development — iterative…
Use when creating animated demos (GIFs) for pull requests or documentation. Covers terminal recording with asciinema and…
Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…
Create a new Architecture Decision Record with sequential numbering and AgentDB registration