4.5 KiB
4.5 KiB
5 Knowledge-Worker Personas — Audit Subjects
Each persona has: identity, primary job-to-be-done, 5-min smoke workflow, success criteria,
known frustration triggers. They map to existing Waggle personas in packages/agent/src/persona-data.ts.
P1 · Maya — Researcher (PhD, market-intel)
- Maps to:
researcher - Primary JTBD: "Find what I learned about X two weeks ago, then extend it."
- Smoke workflow (5 min):
- Boot → Desktop visible <3s
- Open chat → ask: "What do I know about ?"
- Expects: memory recall with citations + sources
- Asks follow-up: "Find more sources and merge with what I have"
- Saves output to Files
- Hard requirements (red flags if missing):
- Memory recall surfaces visibly (Context Rail or inline)
- Sources cited next to claims
- Search-the-workspace works in <2 clicks
- Frustration triggers: silent re-ranking, no provenance, missing search box
P2 · Anya — Writer (content strategist)
- Maps to:
writer - Primary JTBD: "Draft a 600-word piece in my voice; let me iterate on tone."
- Smoke workflow:
- Open chat → "Help me draft a piece on in my voice"
- Expects: persona suggestion for
writer(or already active) - Gets a draft → asks "more concise, less hype"
- Saves draft to Files; opens it again later, expects it intact
- Hard requirements:
- Persona switch ≤ 2 clicks, with clear "now writing as: writer" feedback
- Multi-paragraph rendering legible (no markdown leak)
- File save & reopen round-trip works
- Frustration triggers: raw markdown, can't change tone, lost draft
P3 · Daniel — Analyst (BI / finance ops)
- Maps to:
analyst - Primary JTBD: "Drop a CSV, get structured insight, repeat on next CSV."
- Smoke workflow:
- Drag CSV into Files (or chat attachment)
- Ask: "Summarize columns, flag outliers"
- Expects: structured table response, not prose
- Reuse same prompt with second file
- Hard requirements:
- File ingest UI obvious (drop target visible)
- Structured output rendering (tables, lists)
- Repeat-prompt UX (history, pin, reuse)
- Frustration triggers: prose-only output, no file upload affordance, can't reuse prompt
P4 · Sara — Project Manager (cross-functional)
- Maps to:
project-manager - Primary JTBD: "Track status across N threads, produce a weekly update."
- Smoke workflow:
- Open multiple chats or a Room → assign different agents
- Switch between threads via dock / window list
- Ask each: "What's blocking?"
- Compose weekly update synthesising answers
- Hard requirements:
- Multi-window or tab navigation discoverable
- Each chat keeps context independently
- Global search across chats
- Frustration triggers: lost chat history, can't see all open work, can't pin updates
P5 · Markus — Consultant (strategy, decks)
- Maps to:
consultant - Primary JTBD: "Apply a framework (Porter / 2x2 / SWOT) to a topic, get an outline."
- Smoke workflow:
- Switch persona →
consultant - Ask: "Analyse with a 2x2 matrix; one axis impact, one effort"
- Expects structured output usable for slides
- Saves to Files; checks formatting holds
- Switch persona →
- Hard requirements:
- Persona switcher accessible
- Structured / outline output rendering
- Save → reopen preserves formatting
- Frustration triggers: generic answer, lost formatting, no follow-up scaffolding
Scoring Rubric (10 dims · 1 pt each · 10/10 perfect)
| # | Dimension | Pass criterion |
|---|---|---|
| 1 | First-run clarity | New user finds first valid action ≤ 60 s |
| 2 | Persona discovery | Persona is discoverable, switchable, current state visible |
| 3 | Task completion | Persona's smoke workflow finishes without dead ends |
| 4 | Information findability | Search / memory / files reachable ≤ 2 clicks from anywhere |
| 5 | Error recovery | Errors give a next step, not just a message |
| 6 | Visual clarity | Layout scannable, contrast ≥ WCAG AA, no overflow at 1440×900 |
| 7 | Performance feel | First action < 200 ms perceived; no jank, no flash of unstyled |
| 8 | Memory / context | At least one recall surfaces relevant prior turn within smoke flow |
| 9 | Trust signals | Status, sources, model name, costs are visible when relevant |
| 10 | Delight | One non-trivial polish moment the persona would mention positively |
Half-points NOT allowed. A dim is 1 (pass) or 0 (fail). 10/10 = unambiguous.