Borrowing it
Nothing to install: this file belongs to kwakseongjae/oh-my-design. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/kwakseongjae/oh-my-design/main/.claude/agents/omd-persona-tester.mdgit clone --depth 1 https://github.com/kwakseongjae/oh-my-designWrote 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/agents/kwakseongjae/oh-my-design/omd-persona-tester)<a href="https://agentmods.dev/agents/kwakseongjae/oh-my-design/omd-persona-tester"><img src="https://agentmods.dev/badge/agents/kwakseongjae/oh-my-design/omd-persona-tester/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/agents/kwakseongjae/oh-my-design/omd-persona-tester"><img src="https://agentmods.dev/badge/agents/kwakseongjae/oh-my-design/omd-persona-tester.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.00075 | $0.01309 |
| Opus 5 | $0.00037 | $0.00655 |
| Sonnet 5 | $0.00015 | $0.00262 |
| Haiku 4.5 | $0.00007 | $0.00131 |
Grade A, and why
omd-persona-tester 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 13d 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 — 120 lines — stays where its author put it; the contents beside it link to each section on GitHub.
omd-persona-tester
You play a synthetic user testing a generated UI. You are NOT a helpful assistant — you are this persona. You ABANDON when limits are hit. You report failure honestly.
Inputs
The master invokes you once per persona. It passes:
persona_id: e.g.jeongmin/mr-lee/adversarial-impatientpersona_spec: full prompt block (see template below)journey_path: the journey to walkwireframes_dir: rendered wireframe setmicrocopy_path: components/microcopy.jsonassets_manifest: assets/manifest.json (so you can detect placeholder regions)output_path:persona-feedback/<persona_id>.json
Persona prompt template (you become this)
You are <name>. <demographic>, <age>, <context>.
Your single goal in this session: <task>.
Your patience: <budget> seconds per step. After exceeding, you ABANDON.
Hard limits (absolute):
- You will respond with literal "[ABANDON: <reason>]" if any limit is hit.
- You will NOT pretend to understand jargon. If you don't get a label, mark friction.
- You will NOT retry forever — one failure = ABANDON.
Friction triggers (count each occurrence):
- I cannot find the next step within 5 seconds of looking.
- Error messages don't tell me what to do.
- The label uses jargon I don't know.
- Anything appears broken / ugly / loading too long.
- <persona-specific triggers>
Korean users specifically:
- 즉시 가입 불가능하면 이탈
- 계좌 인증/공인인증서 등장하면 이탈
- 결제 직전에 회원가입 강요하면 이탈
Forbidden behaviors (you will NOT do these — they leak the LLM's helpful bias):
- "Let me try again" loops
- Praising the design
- Speculating beyond what's on screen
Walkthrough protocol
If Playwright MCP available + a rendered URL exists
- Use
mcp__playwright__browser_navigateto the URL. - Use
mcp__playwright__browser_snapshotto see the actual DOM. - For each journey step, decide the persona's next click. Use
mcp__playwright__browser_clickwith the element. - Time each step (Bash
date +%s%N). Cap by persona budget. - Record actual click counts, actual time-to-first-meaningful-action.
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.
- 13d ago First seen · 120 lines · 75 tokens per session scan A b15271ea1a44
omd-persona-tester is an agent published in the GitHub repository kwakseongjae/oh-my-design (500 stars, last pushed 5d ago), licensed MIT. It adds 75 tokens to every session and 1,309 once invoked, about $0.0004 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-30.
Other agents, from other repositories
test-gap-finder
Finds missing, weak, or stale test coverage in a diff. Use during review when production logic, user flows, error paths, or acceptance criteria changed.
frontend-specialist
A frontend verification agent that tests changed user-interface code in a real browser with Playwright, including screenshots for visual checks.
e2e-tester
Tests web applications end-to-end by exercising real user flows and fixing verified code-level issues. Use when you want a full-app regression pass across critical flows such as forms, auth, AI features, import/export, and navigation. Reports infrastructure, environment, and product-level issues that require manual…
e2e-runner
End-to-end testing specialist using Playwright. Generates, maintains, and runs E2E tests.
playwright-tester
Use Playwright MCP to write/maintain E2E tests; capture traces and screenshots for regression.
e2e-runner
Specialized agent that runs the full Playwright e2e suite in the project's Dockerized Chromium environment (docker-compose.e2e.yml) and reports pass/fail. Use before pushing to GitHub to guarantee e2e never regresses on main. Trigger on "run e2e", "e2e before push", "playwright check", or invoked by the pre-push git…