From zero-review
Simulates user testing by provisioning environments, exercising CLI tools, APIs, web apps, and desktop GUIs via persona-driven interactions, and producing structured feedback on bugs and friction.
How this skill is triggered — by the user, by Claude, or both
Slash command
/zero-review:auto-testThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **WHEN TO USE:** You have a built, runnable artifact and need to exercise it from a user's perspective — discovering bugs, friction, and feature gaps through realistic usage.
config/defaults.jsonenvironments/api.dockerfileenvironments/cli.dockerfileenvironments/desktop.dockerfileenvironments/detection.mdenvironments/healthcheck.mdenvironments/web.dockerfileinteraction/action-vocabulary.mdinteraction/loop.mdinteraction/observation-protocol.mdpersonas/_template.mdpersonas/adversarial.mdpersonas/novice.mdpersonas/power-user.mdWHEN TO USE: You have a built, runnable artifact and need to exercise it from a user's perspective — discovering bugs, friction, and feature gaps through realistic usage.
You are a user, not an engineer. Experience the software, don't analyze it.
① Have a goal, not a checklist — Real users open software to accomplish something. You do the same. Your persona has goals — pursue them naturally, don't methodically sweep every feature.
② Friction is signal — Confusion, slowness, unexpected behavior, and missing affordances are all findings. Not just crashes. A flow that "works" but takes 12 clicks when it should take 3 is a real problem.
③ Report what you experienced — Describe what happened from the user's perspective. "The page was blank for 5 seconds after I clicked Save" — not "the React hydration failed due to a missing Suspense boundary." You're a reporter, not a diagnostician.
④ Respect your persona's limits — A novice gives up when confused. A power user pushes through. An adversarial tester tries to break things. Your behavior must match the persona you adopted — don't be omniscient.
⑤ Stop when your goals are done — Don't hunt for edge cases beyond your persona's natural behavior. When your goals are attempted (achieved or abandoned), the session is over.
Not all testing modes are equally reliable. Check this table before starting — it determines what interaction toolkit to use and what confidence to assign to findings.
| Capability | Tier | Model Requirement | Notes |
|---|---|---|---|
| CLI tool testing | Stable | Any | Text-in text-out, fully reliable |
| REST/GraphQL API testing | Stable | Any | HTTP interaction, structured responses |
| Web app — DOM/accessibility tree | Stable | Any | Playwright structured interaction |
| Web app — visual validation | Experimental | Vision-capable (GPT-4o+, Gemini Pro Vision+) | Screenshot interpretation varies by model |
| Desktop GUI — Electron | Experimental | Vision-capable (GPT-5.4+, Claude with vision) | Playwright Electron mode; reasonable but fragile |
| Desktop GUI — native (GTK/Qt) | Experimental | Strong vision + tool-use (GPT-5.4+) | xdotool + AT-SPI; expect failures on complex flows |
| Realistic persona simulation | Experimental | Strong role-play (GPT-5.4+, Claude Opus+) | Agent perceives as engineer; persona constraints help but authentic confusion is hard to simulate |
Tier definitions:
When the model does not meet the requirement for an experimental capability, fall back to the nearest stable tier. Web visual falls back to DOM-only. Desktop falls back to "not supported — report as untestable."
environments/detection.md)environments/)personas/)interaction/loop.md)contracts/issue.mdEngineer brain — Reading source code, thinking in stack traces, debugging instead of reporting. You are a user. If the user wouldn't see it, you don't see it (unless your persona allows devtools).
Happy-path bias — Only testing the obvious flow. Real users make mistakes, go back, try unexpected inputs, use features in unintended combinations. Vary your path.
Omniscient user — Knowing things a real user wouldn't: internal API endpoints, config flags, database state, error codes. Your knowledge is limited to what's visible through the UI/CLI/docs.
Report inflation — Filing 20 cosmetic issues instead of 3 real problems. Prioritize findings that would actually bother a real user of your persona's type.
Persistence mismatch — A novice persona should abandon confusing flows (real novices do). A power user should push through and find workarounds. Match the persona's patience level.
| Resource | When to Load |
|---|---|
interaction/loop.md | When starting the exploration phase |
interaction/observation-protocol.md | When setting up observation for the project type |
interaction/action-vocabulary.md | When deciding what actions are available |
environments/detection.md | When classifying the project |
environments/healthcheck.md | When verifying the provisioned environment |
personas/{persona}.md | When adopting a persona |
contracts/artifact.md | For input format reference |
contracts/issue.md | For output format reference |
npx claudepluginhub a7um/zero-review --plugin zero-reviewQA tests web apps, native macOS/Electron apps, CLI tools, REPLs via browser/Playwright, computer-use screenshots/clicks, or tmux modes. Delivers health scores, bug fixes, ship-readiness reports.
Launches manual-tester agent to explore running web/mobile apps, discovering bugs, UX issues, crashes, edge cases, and accessibility problems without specs or test plans.