From designpowers
Validates UI designs after fixes by simulating personas like low-vision, non-native speakers, and motor-impaired users performing key tasks. Catches interaction issues missed by code review.
npx claudepluginhub owl-listener/designpowers --plugin designpowersThis skill uses the workspace's default tool permissions.
Synthetic user testing is the closest thing to putting the design in front of real people without leaving the pipeline. You walk through the interface as each persona, attempting real tasks, and report what works, what breaks, and what feels wrong — from their perspective, not yours.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Synthetic user testing is the closest thing to putting the design in front of real people without leaving the pipeline. You walk through the interface as each persona, attempting real tasks, and report what works, what breaks, and what feels wrong — from their perspective, not yours.
This is not a checklist exercise. It is an act of empathy disciplined by specifics. When you test as Jordan (low-vision, uses 200% zoom and high contrast), you don't ask "is contrast sufficient?" — you ask "can Jordan find the 'continue reading' button at 200% zoom when three articles are competing for attention?"
Before testing, assemble:
inclusive-personas (via design-state.md)For each key task in the brief, write a scenario that a persona would actually encounter. Scenarios are not "test case 1" — they are moments:
Format:
SCENARIO: [Natural situation trigger]
TASK: [What the persona is trying to accomplish]
PERSONA: [Name] — [key ability context]
SUCCESS: [What "done" looks like for this persona]
Example:
SCENARIO: Jordan is on the train home and wants to finish an article
they started yesterday.
TASK: Find and continue a partially-read article.
PERSONA: Jordan — low vision, uses 200% zoom, high contrast mode,
reads on a phone with one hand.
SUCCESS: Jordan locates the article, picks up where they left off,
and the progress updates when they finish.
For each scenario, simulate the persona's experience step by step. This is not "would this work?" — it is "let me try to do this the way [Persona] would."
For each step, document:
STEP [N]: [What the persona does]
USING: [Input method — touch, keyboard, screen reader, switch, etc.]
SEES: [What the interface presents — at their zoom level, contrast
setting, screen size]
THINKS: [What the persona would likely think or feel]
RESULT: ✓ succeeds / ⚠ succeeds with difficulty / ✗ fails / ? unclear
FINDING: [If ⚠, ✗, or ? — what went wrong and why]
WHO IS AFFECTED: [This persona, and any others with similar needs]
Critical rules for walking through:
After walking through all scenarios, look for patterns across personas:
Barrier matrix:
| Task | Jordan | Priya | Marcus | [Persona] |
| | (low vis) | (ESL) | (motor) | |
|-------------------|-----------|-----------|-----------|-----------|
| Find article | ⚠ zoom | ✓ | ✗ target | ... |
| Continue reading | ✓ | ⚠ jargon | ✓ | ... |
| Mark complete | ✗ no fbk | ✓ | ⚠ gesture | ... |
Pattern analysis:
Compile findings into a structured report (see "What You Deliver" below). Every finding must:
Severity in synthetic testing:
| Severity | Definition |
|---|---|
| Critical | Persona cannot complete the task at all |
| Major | Persona completes the task but with significant difficulty, confusion, or emotional friction |
| Minor | Persona completes the task but the experience is rougher than it should be |
Synthetic testing results feed into two places:
# Synthetic User Test Results: [Project Name]
**Date:** [YYYY-MM-DD]
**Build tested:** [what was tested]
**Personas tested:** [list]
**Tasks tested:** [list]
## Summary
[2-3 sentences: overall findings — who can use this, who can't,
and the biggest gap]
## Scenario Results
### Scenario 1: [Scenario name]
**Persona:** [Name] — [context]
**Task:** [what they're trying to do]
**Result:** ✓ / ⚠ / ✗
[Step-by-step walkthrough with findings]
### Scenario 2: ...
## Barrier Matrix
| Task | [Persona 1] | [Persona 2] | [Persona 3] | ... |
|------|-------------|-------------|-------------|-----|
| ... | ✓/⚠/✗ | ✓/⚠/✗ | ✓/⚠/✗ | ... |
## Cross-Persona Patterns
- **Universal barriers:** [issues affecting 2+ personas]
- **Friction hotspots:** [steps with clustered difficulty]
- **Emotional patterns:** [where confusion/frustration clusters]
## Findings by Severity
### Critical
- [Persona] cannot [task] because [specific reason] → [Fix]
### Major
- [Persona] struggles with [task] at [step] because [reason] → [Fix]
### Minor
- [Persona] experiences friction at [step] because [reason] → [Fix]
## Comparison: Pre-Fix vs Post-Fix
[If this is a re-test after fixes, show what improved and what didn't]
## Recommendation
[Ship / Fix and re-test / Rethink flow for [persona]]
verification-before-shippinginclusive-personas, design-discovery (brief), design-state (all decisions)verification-before-shipping (persona walkthrough evidence), design-builder (if fixes needed), design-debt-tracker (deferred findings)usability-testing (which plans tests with real people — synthetic testing validates before real testing begins)| Synthetic User Testing | Usability Testing | |
|---|---|---|
| Who | AI walks through as each persona | Real people use the interface |
| When | After fix round, inside the pipeline | After shipping or during user research |
| Speed | Minutes | Days to weeks |
| Catches | Predictable barriers, flow breaks, friction | Unexpected behaviour, mental model mismatches, emotional reactions |
| Misses | True surprises — things no persona model predicts | Nothing (but expensive and slow) |
| Value | Closes the gap between build and validation without leaving the pipeline | Ground truth |
Synthetic testing does not replace real usability testing. It makes real testing more efficient by catching the obvious issues first, so real participants encounter the design at its best — and surface the surprises only humans can find.