Agent skill

Playwriter

by mikeyobrien in mikeyobrien/ralph-orchestrator

Browser automation via Playwriter (remorses) using persistent Chrome sessions and the full Playwright Page API.

MITAuto-check: warningsProductivity & Automation

Install Playwriter

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add mikeyobrien/ralph-orchestrator --skill playwriter -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install mikeyobrien/ralph-orchestrator playwriter --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/mikeyobrien/ralph-orchestrator.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/playwriter .claude/skills/playwriter && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
playwriter
GitHub stars
3.2k
Token cost
~716 tokens
SKILL.md length
185 words
Files
1
Skills in repo
16
Repo updated
First seen
Licence
MIT

At a glance

Browser automation via Playwriter (remorses) using persistent Chrome sessions and the full Playwright Page API.

  • Works in 3 steps: Create a session → List sessions and copy the session id → Execute Playwright code against that…
  • Tasks that involve Browser automation
  • SKILL.md covers Overview, When to Use, Prerequisites and Core Workflow, plus 3 more sections
  • Calls npm

What it does

Playwriter is an agent skill from mikeyobrien/ralph-orchestrator. Browser automation via Playwriter (remorses) using persistent Chrome sessions and the full Playwright Page API.

Its SKILL.md is about 720 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Productivity & Automation, covering Browser automation and Browser testing. It works with Playwright. The repository describes itself as: An improved implementation of the Ralph Wiggum technique for autonomous AI agent orchestration. The licence is MIT.

When your agent uses it

  • Tasks that involve Browser automation
  • Tasks that involve Browser testing

Example prompts

  • “/playwriter”

Requirements

  • Node.js

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Create a session
  2. List sessions and copy the session id
  3. Execute Playwright code against that session

What it can do on your machine

Read from SKILL.md and the folder at commit edc2b32. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Playwriter loads about 716 tokens when it runs. Until then it costs about 31 tokens; SKILL.md has 185 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~31
When it runs · the whole SKILL.md, loaded when a task matches
~716

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: warnings

The automated check found patterns that need a careful read before installing.

  • WarningMentions a credentials file (SSH keys, cloud or package-manager tokens)SKILL.md:13
    ywright Page scripts against your local Chrome session. This preserves logins, cookies, and extensions, which is ideal f

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from mikeyobrien/ralph-orchestrator at commit edc2b32, republished under its MIT licence (© mikeyobrien). 185 words, ~716 tokens.

Download SKILL.mdSave it as .claude/skills/playwriter/SKILL.md (or your agent's skills folder).
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

Playwriter

Overview

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.

When to Use

  • Validating the Ralph web dashboard UI
  • Navigating authenticated pages without re-logging in
  • Testing flows that require browser extensions or saved state
  • Capturing accessibility snapshots for element discovery

Prerequisites

  • Install the CLI:
    bash
    npm i -g playwriter
  • Install the Playwriter Chrome extension (see the Playwriter repo instructions)
  • Ensure Chrome is running and the extension is enabled

Core Workflow

  1. Create a session:
    bash
    playwriter session new
  2. List sessions and copy the session id:
    bash
    playwriter session list
  3. Execute Playwright code against that session:
    bash
    playwriter -s <session_id> -e "await page.goto('https://example.com')"

Execution Environment

Within -e, these are available in scope:

  • page (Playwright Page)
  • context (BrowserContext)
  • state (persistent object across calls in the same session)
  • require (for loading helper modules)

Example state persistence:

bash
playwriter -s <session_id> -e "state.lastUrl = page.url()"
playwriter -s <session_id> -e "console.log(state.lastUrl)"

Common Patterns

Navigate + click
bash
playwriter -s <session_id> -e "await page.goto('http://localhost:3000'); await page.getByRole('button', { name: 'Run' }).click();"
Fill forms
bash
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();"
Accessibility snapshots (labeled)
bash
playwriter -s <session_id> -e "const { screenshotWithAccessibilityLabels } = require('playwriter'); await screenshotWithAccessibilityLabels(page, { path: '/tmp/a11y.png' });"
Network interception
bash
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 } }); });"
Read page content
bash
playwriter -s <session_id> -e "const text = await page.locator('main').innerText(); console.log(text);"

Tips

  • Prefer getByRole and getByLabel for stable selectors.
  • Use accessibility snapshots to discover reliable roles and labels.
  • Keep sessions focused: reset or close them if state becomes messy.
  • For multi-step flows, store intermediate data on state.

© mikeyobrien, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/playwriter of mikeyobrien/ralph-orchestrator.

Open the folder on GitHubat commit edc2b32

Compare with similar skills

Playwriter next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Playwriter compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Playwriter this skillmikeyobrien/ralph-orchestrator3.2k—~716Automated safety check: WarnMIT
AI Search Hubminsight-ai-info/AI-Search-Hub1.3k—~1.3kAutomated safety check: PassNone
Ego Browserkwakseongjae/oh-my-design5331 repos~4.9kAutomated safety check: PassMIT
Browser Controlanomalyco/browser-control440—~8.4kAutomated safety check: PassMIT
Playwright Bowserdisler/bowser265—~1.1kAutomated safety check: NotesNone
Vrboborski/travel-hacking-toolkit688—~1.7kAutomated safety check: PassMIT

Similar skills

  • AI Search Hub

    minsight-ai-info/AI-Search-Hub

    Run the AI Search Hub browser automation scripts for Yuanbao, LongCat, Doubao, Qwen, Gemini, Grok, and MiniMax.

    1.3k GitHub stars~1.3k tokensUpdated 5 mo ago
    Productivity & AutomationAuto-check passed
  • Ego Browser

    kwakseongjae/oh-my-design

    When you need a browser, read this Skill by default. An agent skill from kwakseongjae/oh-my-design.

    533 GitHub starsUsed in 1 repo~4.9k tokens
    Productivity & AutomationAuto-check passed
  • Browser Control

    anomalyco/browser-control

    Drive the user's existing Chromium-family browser with deterministic Playwright.

    440 GitHub stars~8.4k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Playwright Bowser

    disler/bowser

    Headless browser automation using Playwright CLI. An agent skill from disler/bowser.

    265 GitHub stars~1.1k tokensUpdated 7 mo ago
    Productivity & AutomationAuto-check: notes
  • Vrbo

    borski/travel-hacking-toolkit

    Search VRBO (Vrbo / Expedia Group) vacation rentals including entire homes, condos, and cabins via Patchright browser automation.

    688 GitHub stars~1.7k tokensUpdated 4 days ago
    Productivity & AutomationAuto-check passed
  • Sap Browser Automation

    secondsky/sap-skills

    A skill your agent uses when an agent must inspect or operate an authenticated SAP web UI through an in-app Browser, Microsoft Edge CDP, or an existing Playwright client, especially when SAP SSO…

    462 GitHub stars~3.3k tokensUpdated 5 days ago
    Productivity & AutomationAuto-check passed

More from mikeyobrien/ralph-orchestrator

All 16 skills in this repo
  • Ralph Docs

    mikeyobrien/ralph-orchestrator

    Introspect, explain, and improve Ralph Orchestrator using its published llms.txt doc map.

    3.2k GitHub stars~1.5k tokensUpdated 5 days ago
    Auto-check passed
  • Evaluate Presets

    mikeyobrien/ralph-orchestrator

    A skill your agent uses when testing Ralph's hat collection presets, validating preset configurations, or auditing the preset library for bugs and UX issues.

    3.2k GitHub stars~1.8k tokensUpdated 5 days ago
    Auto-check passed
  • PR Demo

    mikeyobrien/ralph-orchestrator

    A skill your agent uses when creating animated demos (GIFs) for pull requests or documentation.

    3.2k GitHub stars~1.3k tokensUpdated 5 days ago
    Auto-check passed
  • Release Bump

    mikeyobrien/ralph-orchestrator

    A skill your agent uses when bumping ralph-orchestrator version for a new release, after fixes are committed and ready to publish

    3.2k GitHub stars~583 tokensUpdated 5 days ago
    Auto-check passed
  • Review PR

    mikeyobrien/ralph-orchestrator

    A skill your agent uses when asked to review a PR, run a code review loop, or invoke the ralph reviewer against a pull request number or GitHub URL

    3.2k GitHub stars~589 tokensUpdated 5 days ago
    Auto-check passed
  • Tui Debug In Pane

    mikeyobrien/ralph-orchestrator

    A skill your agent uses when you need to reproduce or debug TUI rendering issues (garbled output, broken streaming, layout corruption) by running ralph in a tmux split pane and capturing live output.

    3.2k GitHub stars~825 tokensUpdated 5 days ago
    Auto-check passed

Works with

Questions about Playwriter

What does Playwriter do?

Browser automation via Playwriter (remorses) using persistent Chrome sessions and the full Playwright Page API. Playwriter is an agent skill from mikeyobrien/ralph-orchestrator. Browser automation via Playwriter (remorses) using persistent Chrome sessions and the full Playwright Page API.

When should I use Playwriter?

Playwriter fits situations like: tasks that involve Browser automation; tasks that involve Browser testing.

How do I install Playwriter in Claude Code?

Run `npx skills add mikeyobrien/ralph-orchestrator --skill playwriter -a claude-code`. Or copy the skill folder (.claude/skills/playwriter in mikeyobrien/ralph-orchestrator) into .claude/skills/playwriter in your project. Claude Code loads it when a task matches its description.

How do I install Playwriter in Codex?

Run `npx skills add mikeyobrien/ralph-orchestrator --skill playwriter -a codex`. Or copy the skill folder (.claude/skills/playwriter in mikeyobrien/ralph-orchestrator) into .agents/skills/playwriter in your project. Codex loads it when a task matches its description.

Can I use Playwriter in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mikeyobrien/ralph-orchestrator --skill playwriter -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/playwriter, .gemini/skills/playwriter, .github/skills/playwriter and .opencode/skills/playwriter in your project.

What does Playwriter need to run?

Going by SKILL.md and its folder, Playwriter needs the command-line tools its instructions call (npm). Our summary lists: Node.js.

Does Playwriter access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Playwriter safe to install?

Our automated static check of SKILL.md flagged 1 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way.

What licence does Playwriter use?

Playwriter is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Playwriter use?

About 716 tokens (SKILL.md is roughly 2.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Playwriter?

Skills that share tags, products or a category with Playwriter: AI Search Hub (minsight-ai-info/AI-Search-Hub, 1.3k stars), Ego Browser (kwakseongjae/oh-my-design, 533 stars), Browser Control (anomalyco/browser-control, 440 stars) and Playwright Bowser (disler/bowser, 265 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Playwriter?

mikeyobrien (a GitHub user) maintains it in mikeyobrien/ralph-orchestrator, which has 3,168 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 5, 2026.

Source: mikeyobrien/ralph-orchestrator on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.