Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/oalders/kitchen-sinkWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/oalders/kitchen-sink/playwright-review)<a href="https://agentmods.dev/commands/oalders/kitchen-sink/playwright-review"><img src="https://agentmods.dev/badge/commands/oalders/kitchen-sink/playwright-review/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/oalders/kitchen-sink/playwright-review"><img src="https://agentmods.dev/badge/commands/oalders/kitchen-sink/playwright-review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00013 | $0.02897 |
| Opus 5 | $0.00006 | $0.01448 |
| Sonnet 5 | $0.00003 | $0.00579 |
| Haiku 4.5 | $0.00001 | $0.00290 |
Grade A, and why
playwright-review scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 374 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Playwright Review
Overview
Specialized review for Playwright E2E tests focusing on: (1) ARIA label enforcement, (2) UI/layout issues like buttons bumping footer, (3) Playwright performance optimizations. Spawns general-purpose subagent.
When to Use
Use when:
- Reviewing Playwright E2E tests
- Adding accessibility checks to tests
- Optimizing test performance
- Checking for UI/layout test coverage
Don't use when:
- Reviewing unit tests
- Reviewing backend code
Steps
1. Get Git SHAs
Check conversation context first. If not available:
git rev-parse origin/main
git rev-parse HEAD
2. Invoke Playwright-Focused Code Reviewer
Task(general-purpose):
description: Playwright test review for [feature]
model: "sonnet"
prompt:
# Playwright Test Review Agent
You are a Playwright testing expert reviewing E2E tests for accessibility, UI quality, and performance.
**Your task:**
1. Review Playwright test code
2. Apply systematic accessibility checklist (ARIA labels)
3. Identify UI/layout issues tests should catch
4. Find Playwright performance optimizations
5. Assess test quality and coverage
## What to Review
[Brief summary - e.g., "E2E tests for event submission form"]
## Files to Review
[List test files or use git diff]
```bash
git diff --stat BASE_SHA..HEAD_SHA
git diff BASE_SHA..HEAD_SHA
```
## Playwright-Specific Review Checklist
**CRITICAL: Check EVERY category systematically.**
### Accessibility - ARIA Labels & Attributes
**For EVERY form field, button, and interactive element:**
- **ARIA labels present?**
- Does test verify form fields have associated labels?
- Example: `await expect(page.getByLabel('Email')).toBeVisible()`
- If using getByLabel(), that's good - but does the HTML actually have the label?
- **ARIA invalid on errors?**
- After form validation fails, check: `await expect(input).toHaveAttribute('aria-invalid', 'true')`
- Are error messages linked via `aria-describedby`?
- **ARIA live regions for dynamic content?**
- Toast notifications: should have `role="alert"` or `aria-live="polite"`
- Loading states: `aria-busy="true"`
- Success messages announced?
- **Focus management?**
- After modal opens: focus trapped inside?
- After form submits: focus moves to success message?
- After page navigation: focus on main heading?
- **Landmark roles?**
- Main content in `<main>` or `role="main"`?
- Navigation in `<nav>` or `role="navigation"`?
- Forms in `<form>` (semantic HTML)?
- **Button semantics?**
- Clickable non-buttons have `role="button"`?
- Buttons have accessible names (text or aria-label)?
- Icon-only buttons have `aria-label`?
**Tests should VERIFY these exist, not just assume they do.**
### UI/Layout Issues
**Visual regressions tests should catch:**
- **Buttons bumping against footer?**
- Test with screenshot comparison
- Test at different viewport heights
- Example: `await expect(page).toHaveScreenshot('page-layout.png')`
- **Viewport overflow?**
- Content scrollable when needed?
- No horizontal scrollbar unless intentional?
- Mobile viewport (375x667) tested?
- **Interactive elements accessible?**
- Buttons/links not cut off by overflow?
- Form fields visible when focused?
- Dropdowns don't extend below viewport?
- **Spacing issues?**
- Adequate margin between footer and content?
- Touch targets 44x44px minimum (mobile)?
- Form fields not overlapping?
**Add tests like:**
```javascript
test('layout has adequate spacing at mobile viewport', async ({ page }) => {
await page.setViewportSize({ width: 375, height: 667 });
await page.goto('/submit/event');
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 374 lines · 13 tokens per session scan A b65823684f42
playwright-review is a command published in the GitHub repository oalders/kitchen-sink (4 stars, last pushed 9d ago), licensed MIT. It adds 13 tokens to every session and 2,897 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
auto-verify
A command for checking a website's front-end user experience with Playwright, a tool that automates web browsers.
webapp-testing
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
record
Record a browser walkthrough of a URL using Antigravity (agy). Generates .webm video, screenshots, and a report. Auto-converts to MP4 if ffmpeg is available.
vibereview
Legacy alias for the focused Randroid VibeReview skill.
visual-verify
Use Playwright MCP to visually verify the UI that was just built or modified.
qa
Smoke or browser-walk a running app. Report only. Do not implement. Do not merge.