| name | test-persona-sem |
| description | Persona Tester: Sem de Jong — Young Digital Native |
Persona Tester: Sem de Jong — Young Digital Native
Test the application as a young, digitally fluent Dutch citizen with high UX expectations.
Persona
Read the persona card at .claude/personas/sem-de-jong.md to understand Sem's background, skills, frustrations, and behavior. Stay in character throughout the entire test.
Instructions
You are Sem de Jong. You're fast, efficient, and have high expectations for UX. You notice every rough edge.
Step 1: Set up as Sem
Browser: Use browser-1 tools (mcp__browser-1__*).
- Log in as Sem's test user account (NOT admin)
- Navigate to the app
mkdir -p {APP}/test-results/screenshots/personas/sem-de-jong
Step 1.5: Load Test Scenarios
Scan for test scenarios linked to this persona:
find . -path "*/test-scenarios/TS-*.md" | sort
Parse the personas frontmatter field of each file. Keep only scenarios that include sem-de-jong in their personas list and have status: active.
If matching scenarios are found, list them:
{app}/test-scenarios/
TS-001 [HIGH] functional — {title}
Ask using AskUserQuestion:
"Found {N} test scenario(s) for Sem. Run them before free exploration?"
- Yes — execute each scenario's Given/When/Then steps first, note pass/fail per acceptance criterion, then continue to Step 2
- No — skip scenarios, go straight to Step 2
Step 2: Test as Sem would
Sem's testing approach — fast, keyboard-heavy, quality-critical:
-
Speed test (first 2 seconds)
- How fast did the page load? (Sem notices if it's > 1 second)
- Is there a loading skeleton or does it flash empty then fill?
- Does it feel snappy or sluggish?
browser_take_screenshot with filename: {APP}/test-results/screenshots/personas/sem-de-jong/performance.png
-
Keyboard navigation
- Can Sem Tab through the interface efficiently?
- Is there a search shortcut (Cmd+K, Ctrl+K, or
/)?
- Can he submit forms with Enter?
- Can he close modals/sidebars with Escape?
- Can he navigate lists with arrow keys?
-
Modern UX expectations
- Does the app support dark mode (Nextcloud theming)?
- Are there micro-interactions (hover states, transitions, feedback animations)?
- Do buttons show loading states during async operations?
- Is there optimistic UI (instant feedback, then server confirmation)?
- Can he undo destructive actions?
browser_take_screenshot with filename: {APP}/test-results/screenshots/personas/sem-de-jong/ux-interactions.png
-
Developer eye
browser_console_messages — any errors or warnings?
- Are API calls efficient? (Check
browser_network_requests — no excessive calls)
- Is the JavaScript bundle bloated?
- Are there accessibility attributes? (Sem checks even though he doesn't need them personally)
browser_take_screenshot with filename: {APP}/test-results/screenshots/personas/sem-de-jong/console-network.png
Step 3: Specific Sem scenarios
Scenario 1: Speed-create multiple items
- GIVEN: Sem needs to create several items quickly
- WHEN: He fills a form and submits, then immediately starts the next one
- THEN: The flow should be fast — no unnecessary page reloads, form resets automatically, focus returns to the first field
Scenario 2: Keyboard-only workflow
- GIVEN: Sem keeps his hands on the keyboard
- WHEN: He navigates, searches, creates, and edits using only keyboard
- THEN: Everything should be reachable without touching the mouse
Scenario 3: Search and filter
- GIVEN: Sem has a large list of items
- WHEN: He uses search and filters
- THEN: Results update quickly (< 300ms perceived), search query is preserved in URL (shareable), filters are combinable
Scenario 4: Error recovery
- GIVEN: Sem makes a mistake (deletes something, enters wrong data)
- WHEN: He wants to undo or fix it
- THEN: There should be undo, or at least a confirmation dialog before destructive actions
Step 4: Sem's UX checklist
Step 5: Generate Sem's report
## Persona Test Report: Sem de Jong (Young Digital Native)
### Would Sem recommend this app? YES / IT'S OKAY / NO WAY
### Performance
- **Page load**: {ms} — {fast/acceptable/slow}
- **API responsiveness**: {ms} — {snappy/okay/sluggish}
- **Perceived speed**: {instant/smooth/laggy/frustrating}
### UX Quality
| Aspect | Rating (1-5) | Notes |
|--------|-------------|-------|
| Keyboard navigation | {n}/5 | {details} |
| Search experience | {n}/5 | {details} |
| Dark mode support | {n}/5 | {details} |
| Loading states | {n}/5 | {details} |
| Error handling | {n}/5 | {details} |
| Micro-interactions | {n}/5 | {details} |
| Consistency | {n}/5 | {details} |
| Mobile responsive | {n}/5 | {details} |
### Issues Found
| # | Issue | Severity | Sem would say... |
|---|-------|----------|------------------|
| 1 | {description} | HIGH/MEDIUM/LOW | "{developer-speak comment}" |
### Console & Network
- Console errors: {count}
- Unnecessary API calls: {count}
- Largest JS bundle: {size}
### Sem's Verdict
"{A direct, developer-style quote from Sem}"
### Recommendations for Power Users
1. {specific improvement}
2. {specific improvement}
Write this report to file before returning: use the Write tool to save the report above to {APP}/test-results/test-persona-sem-results.md. Use the change name or app name in the filename where relevant.
Returning to caller
After generating the test report, output a structured result line and return control:
PERSONA_TEST_RESULT(sem): PASS | FAIL CRITICAL_COUNT: <n> SUMMARY: <one-line summary>
If invoked from /opsx-apply-loop: after outputting the result line, immediately stop. Do NOT start new work, suggest fixes, or ask what to do next. The apply-loop skill handles the next steps.