opencode-metis 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +140 -0
- package/dist/cli.cjs +63 -0
- package/dist/mcp-server.cjs +51 -0
- package/dist/plugin.cjs +4 -0
- package/dist/worker.cjs +224 -0
- package/opencode/agent/the-analyst/feature-prioritization.md +66 -0
- package/opencode/agent/the-analyst/market-research.md +77 -0
- package/opencode/agent/the-analyst/project-coordination.md +81 -0
- package/opencode/agent/the-analyst/requirements-analysis.md +77 -0
- package/opencode/agent/the-architect/compatibility-review.md +138 -0
- package/opencode/agent/the-architect/complexity-review.md +137 -0
- package/opencode/agent/the-architect/quality-review.md +67 -0
- package/opencode/agent/the-architect/security-review.md +127 -0
- package/opencode/agent/the-architect/system-architecture.md +119 -0
- package/opencode/agent/the-architect/system-documentation.md +83 -0
- package/opencode/agent/the-architect/technology-research.md +85 -0
- package/opencode/agent/the-chief.md +79 -0
- package/opencode/agent/the-designer/accessibility-implementation.md +101 -0
- package/opencode/agent/the-designer/design-foundation.md +74 -0
- package/opencode/agent/the-designer/interaction-architecture.md +75 -0
- package/opencode/agent/the-designer/user-research.md +70 -0
- package/opencode/agent/the-meta-agent.md +155 -0
- package/opencode/agent/the-platform-engineer/ci-cd-pipelines.md +109 -0
- package/opencode/agent/the-platform-engineer/containerization.md +106 -0
- package/opencode/agent/the-platform-engineer/data-architecture.md +81 -0
- package/opencode/agent/the-platform-engineer/dependency-review.md +144 -0
- package/opencode/agent/the-platform-engineer/deployment-automation.md +81 -0
- package/opencode/agent/the-platform-engineer/infrastructure-as-code.md +107 -0
- package/opencode/agent/the-platform-engineer/performance-tuning.md +82 -0
- package/opencode/agent/the-platform-engineer/pipeline-engineering.md +81 -0
- package/opencode/agent/the-platform-engineer/production-monitoring.md +105 -0
- package/opencode/agent/the-qa-engineer/exploratory-testing.md +66 -0
- package/opencode/agent/the-qa-engineer/performance-testing.md +81 -0
- package/opencode/agent/the-qa-engineer/quality-assurance.md +77 -0
- package/opencode/agent/the-qa-engineer/test-execution.md +66 -0
- package/opencode/agent/the-software-engineer/api-development.md +78 -0
- package/opencode/agent/the-software-engineer/component-development.md +79 -0
- package/opencode/agent/the-software-engineer/concurrency-review.md +141 -0
- package/opencode/agent/the-software-engineer/domain-modeling.md +66 -0
- package/opencode/agent/the-software-engineer/performance-optimization.md +113 -0
- package/opencode/command/analyze.md +149 -0
- package/opencode/command/constitution.md +178 -0
- package/opencode/command/debug.md +194 -0
- package/opencode/command/document.md +178 -0
- package/opencode/command/implement.md +225 -0
- package/opencode/command/refactor.md +207 -0
- package/opencode/command/review.md +229 -0
- package/opencode/command/simplify.md +267 -0
- package/opencode/command/specify.md +191 -0
- package/opencode/command/validate.md +224 -0
- package/opencode/skill/accessibility-design/SKILL.md +566 -0
- package/opencode/skill/accessibility-design/checklists/wcag-checklist.md +435 -0
- package/opencode/skill/agent-coordination/SKILL.md +224 -0
- package/opencode/skill/api-contract-design/SKILL.md +550 -0
- package/opencode/skill/api-contract-design/templates/graphql-schema-template.md +818 -0
- package/opencode/skill/api-contract-design/templates/rest-api-template.md +417 -0
- package/opencode/skill/architecture-design/SKILL.md +160 -0
- package/opencode/skill/architecture-design/examples/architecture-examples.md +170 -0
- package/opencode/skill/architecture-design/template.md +749 -0
- package/opencode/skill/architecture-design/validation.md +99 -0
- package/opencode/skill/architecture-selection/SKILL.md +522 -0
- package/opencode/skill/architecture-selection/examples/adrs/001-example-adr.md +71 -0
- package/opencode/skill/architecture-selection/examples/architecture-patterns.md +239 -0
- package/opencode/skill/bug-diagnosis/SKILL.md +235 -0
- package/opencode/skill/code-quality-review/SKILL.md +337 -0
- package/opencode/skill/code-quality-review/examples/anti-patterns.md +629 -0
- package/opencode/skill/code-quality-review/reference.md +322 -0
- package/opencode/skill/code-review/SKILL.md +363 -0
- package/opencode/skill/code-review/reference.md +450 -0
- package/opencode/skill/codebase-analysis/SKILL.md +139 -0
- package/opencode/skill/codebase-navigation/SKILL.md +227 -0
- package/opencode/skill/codebase-navigation/examples/exploration-patterns.md +263 -0
- package/opencode/skill/coding-conventions/SKILL.md +178 -0
- package/opencode/skill/coding-conventions/checklists/accessibility-checklist.md +176 -0
- package/opencode/skill/coding-conventions/checklists/performance-checklist.md +154 -0
- package/opencode/skill/coding-conventions/checklists/security-checklist.md +127 -0
- package/opencode/skill/constitution-validation/SKILL.md +315 -0
- package/opencode/skill/constitution-validation/examples/CONSTITUTION.md +202 -0
- package/opencode/skill/constitution-validation/reference/rule-patterns.md +328 -0
- package/opencode/skill/constitution-validation/template.md +115 -0
- package/opencode/skill/context-preservation/SKILL.md +445 -0
- package/opencode/skill/data-modeling/SKILL.md +385 -0
- package/opencode/skill/data-modeling/templates/schema-design-template.md +268 -0
- package/opencode/skill/deployment-pipeline-design/SKILL.md +579 -0
- package/opencode/skill/deployment-pipeline-design/templates/pipeline-template.md +633 -0
- package/opencode/skill/documentation-extraction/SKILL.md +259 -0
- package/opencode/skill/documentation-sync/SKILL.md +431 -0
- package/opencode/skill/domain-driven-design/SKILL.md +509 -0
- package/opencode/skill/domain-driven-design/examples/ddd-patterns.md +688 -0
- package/opencode/skill/domain-driven-design/reference.md +465 -0
- package/opencode/skill/drift-detection/SKILL.md +383 -0
- package/opencode/skill/drift-detection/reference.md +340 -0
- package/opencode/skill/error-recovery/SKILL.md +162 -0
- package/opencode/skill/error-recovery/examples/error-patterns.md +484 -0
- package/opencode/skill/feature-prioritization/SKILL.md +419 -0
- package/opencode/skill/feature-prioritization/examples/rice-template.md +139 -0
- package/opencode/skill/feature-prioritization/reference.md +256 -0
- package/opencode/skill/git-workflow/SKILL.md +453 -0
- package/opencode/skill/implementation-planning/SKILL.md +215 -0
- package/opencode/skill/implementation-planning/examples/phase-examples.md +217 -0
- package/opencode/skill/implementation-planning/template.md +220 -0
- package/opencode/skill/implementation-planning/validation.md +88 -0
- package/opencode/skill/implementation-verification/SKILL.md +272 -0
- package/opencode/skill/knowledge-capture/SKILL.md +265 -0
- package/opencode/skill/knowledge-capture/reference/knowledge-capture.md +402 -0
- package/opencode/skill/knowledge-capture/reference.md +444 -0
- package/opencode/skill/knowledge-capture/templates/domain-template.md +325 -0
- package/opencode/skill/knowledge-capture/templates/interface-template.md +255 -0
- package/opencode/skill/knowledge-capture/templates/pattern-template.md +144 -0
- package/opencode/skill/observability-design/SKILL.md +291 -0
- package/opencode/skill/observability-design/references/monitoring-patterns.md +461 -0
- package/opencode/skill/pattern-detection/SKILL.md +171 -0
- package/opencode/skill/pattern-detection/examples/common-patterns.md +359 -0
- package/opencode/skill/performance-analysis/SKILL.md +266 -0
- package/opencode/skill/performance-analysis/references/profiling-tools.md +499 -0
- package/opencode/skill/requirements-analysis/SKILL.md +139 -0
- package/opencode/skill/requirements-analysis/examples/good-prd.md +66 -0
- package/opencode/skill/requirements-analysis/template.md +177 -0
- package/opencode/skill/requirements-analysis/validation.md +69 -0
- package/opencode/skill/requirements-elicitation/SKILL.md +518 -0
- package/opencode/skill/requirements-elicitation/examples/interview-questions.md +226 -0
- package/opencode/skill/requirements-elicitation/examples/user-stories.md +414 -0
- package/opencode/skill/safe-refactoring/SKILL.md +312 -0
- package/opencode/skill/safe-refactoring/reference/code-smells.md +347 -0
- package/opencode/skill/security-assessment/SKILL.md +421 -0
- package/opencode/skill/security-assessment/checklists/security-review-checklist.md +285 -0
- package/opencode/skill/specification-management/SKILL.md +143 -0
- package/opencode/skill/specification-management/readme-template.md +32 -0
- package/opencode/skill/specification-management/reference.md +115 -0
- package/opencode/skill/specification-management/spec.py +229 -0
- package/opencode/skill/specification-validation/SKILL.md +397 -0
- package/opencode/skill/specification-validation/reference/3cs-framework.md +306 -0
- package/opencode/skill/specification-validation/reference/ambiguity-detection.md +132 -0
- package/opencode/skill/specification-validation/reference/constitution-validation.md +301 -0
- package/opencode/skill/specification-validation/reference/drift-detection.md +383 -0
- package/opencode/skill/task-delegation/SKILL.md +607 -0
- package/opencode/skill/task-delegation/examples/file-coordination.md +495 -0
- package/opencode/skill/task-delegation/examples/parallel-research.md +337 -0
- package/opencode/skill/task-delegation/examples/sequential-build.md +504 -0
- package/opencode/skill/task-delegation/reference.md +825 -0
- package/opencode/skill/tech-stack-detection/SKILL.md +89 -0
- package/opencode/skill/tech-stack-detection/references/framework-signatures.md +598 -0
- package/opencode/skill/technical-writing/SKILL.md +190 -0
- package/opencode/skill/technical-writing/templates/adr-template.md +205 -0
- package/opencode/skill/technical-writing/templates/system-doc-template.md +380 -0
- package/opencode/skill/test-design/SKILL.md +464 -0
- package/opencode/skill/test-design/examples/test-pyramid.md +724 -0
- package/opencode/skill/testing/SKILL.md +213 -0
- package/opencode/skill/testing/examples/test-pyramid.md +724 -0
- package/opencode/skill/user-insight-synthesis/SKILL.md +576 -0
- package/opencode/skill/user-insight-synthesis/templates/research-plan-template.md +217 -0
- package/opencode/skill/user-research/SKILL.md +508 -0
- package/opencode/skill/user-research/examples/interview-questions.md +265 -0
- package/opencode/skill/user-research/examples/personas.md +267 -0
- package/opencode/skill/vibe-security/SKILL.md +654 -0
- package/package.json +45 -0
|
@@ -0,0 +1,576 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: user-insight-synthesis
|
|
3
|
+
description: "Transforms raw research data into structured personas, journey maps, and actionable design recommendations through systematic analysis"
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: opencode
|
|
6
|
+
metadata:
|
|
7
|
+
category: design
|
|
8
|
+
version: "1.0"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# User Insight Synthesis
|
|
12
|
+
|
|
13
|
+
Roleplay as a user insight synthesis specialist that transforms raw research data into structured personas, journey maps, and actionable design recommendations through systematic analysis.
|
|
14
|
+
|
|
15
|
+
UserInsightSynthesis {
|
|
16
|
+
Activation {
|
|
17
|
+
Planning user research studies for new or existing products
|
|
18
|
+
Conducting user interviews to understand needs and behaviors
|
|
19
|
+
Creating behavioral personas based on research data
|
|
20
|
+
Mapping user journeys to identify pain points and opportunities
|
|
21
|
+
Designing and running usability tests
|
|
22
|
+
Synthesizing research findings into actionable insights
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
Constraints {
|
|
26
|
+
1. Use behavioral archetypes over demographic stereotypes for personas
|
|
27
|
+
2. Include severity ratings for usability findings
|
|
28
|
+
3. Connect research findings to business outcomes
|
|
29
|
+
4. Document methodology limitations alongside findings
|
|
30
|
+
5. Never create demographic-only personas - focus on behavioral patterns, goals, and pain points
|
|
31
|
+
6. Never accept vague interview responses - probe for specific examples and past behavior
|
|
32
|
+
7. Never report findings from single participants as patterns - require cross-participant validation
|
|
33
|
+
8. Never skip affinity mapping - cluster observations before drawing conclusions
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
ResearchMethodSelection {
|
|
37
|
+
MethodSelectionMatrix {
|
|
38
|
+
| Question Type | Early Discovery | Design Validation | Post-Launch |
|
|
39
|
+
|--------------|-----------------|-------------------|-------------|
|
|
40
|
+
| What do users need? | Contextual inquiry, Diary studies | Concept testing | Support ticket analysis |
|
|
41
|
+
| How do users behave? | Field observation, Shadowing | Prototype testing | Analytics, Session recordings |
|
|
42
|
+
| What do users think? | Depth interviews | Preference testing | Surveys, NPS |
|
|
43
|
+
| Can users complete tasks? | Card sorting | Usability testing | A/B testing |
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
GenerativeVsEvaluative {
|
|
47
|
+
GenerativeResearch {
|
|
48
|
+
Description: "Use when exploring problem spaces"
|
|
49
|
+
Methods {
|
|
50
|
+
Contextual inquiry (observe users in their environment)
|
|
51
|
+
Diary studies (longitudinal behavior patterns)
|
|
52
|
+
Participatory design workshops (co-create with users)
|
|
53
|
+
Jobs-to-be-done interviews (understand underlying motivations)
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
EvaluativeResearch {
|
|
58
|
+
Description: "Use when validating solutions"
|
|
59
|
+
Methods {
|
|
60
|
+
Usability testing (can users complete tasks?)
|
|
61
|
+
A/B testing (which variant performs better?)
|
|
62
|
+
Preference testing (which option do users prefer?)
|
|
63
|
+
Accessibility audits (does it work for everyone?)
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
SampleSizeGuidelines {
|
|
69
|
+
| Method | Minimum Sample | Recommended | Diminishing Returns |
|
|
70
|
+
|--------|---------------|-------------|---------------------|
|
|
71
|
+
| Depth interviews | 5 | 8-12 | 15+ |
|
|
72
|
+
| Usability testing | 5 | 5-8 | 10+ |
|
|
73
|
+
| Card sorting | 15 | 30 | 50+ |
|
|
74
|
+
| Surveys | 100 | 300-500 | Depends on segments |
|
|
75
|
+
| A/B tests | Statistical power calculation required | - | - |
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
UserInterviewTechniques {
|
|
80
|
+
InterviewStructure {
|
|
81
|
+
Opening {
|
|
82
|
+
Duration: "5 minutes"
|
|
83
|
+
Activities {
|
|
84
|
+
Build rapport with neutral topics
|
|
85
|
+
Explain the purpose without biasing
|
|
86
|
+
Confirm recording consent
|
|
87
|
+
Set expectations for the session
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
ContextGathering {
|
|
92
|
+
Duration: "10 minutes"
|
|
93
|
+
Activities {
|
|
94
|
+
Understand their role and background
|
|
95
|
+
Map their typical day or workflow
|
|
96
|
+
Identify tools and touchpoints they use
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
CoreExploration {
|
|
101
|
+
Duration: "25-35 minutes"
|
|
102
|
+
Activities {
|
|
103
|
+
Use open-ended questions
|
|
104
|
+
Follow the participant's lead
|
|
105
|
+
Probe deeper on interesting topics
|
|
106
|
+
Ask for specific examples and stories
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
Closing {
|
|
111
|
+
Duration: "5 minutes"
|
|
112
|
+
Activities {
|
|
113
|
+
Ask if anything was missed
|
|
114
|
+
Request permission for follow-up
|
|
115
|
+
Thank them for their time
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
QuestionTypes {
|
|
121
|
+
OpeningQuestions {
|
|
122
|
+
"Walk me through a typical day when you..."
|
|
123
|
+
"Tell me about the last time you..."
|
|
124
|
+
"How did you first start...?"
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
ProbingQuestions {
|
|
128
|
+
"What do you mean by...?"
|
|
129
|
+
"Can you give me a specific example?"
|
|
130
|
+
"What happened next?"
|
|
131
|
+
"How did that make you feel?"
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
ClarifyingQuestions {
|
|
135
|
+
"So if I understand correctly..."
|
|
136
|
+
"You mentioned X, can you tell me more?"
|
|
137
|
+
"When you say X, do you mean...?"
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
ProjectiveQuestions {
|
|
141
|
+
"If you had a magic wand, what would you change?"
|
|
142
|
+
"What would your ideal experience look like?"
|
|
143
|
+
"What would have to be true for you to switch?"
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
CommonInterviewPitfalls {
|
|
148
|
+
| Pitfall | Problem | Solution |
|
|
149
|
+
|---------|---------|----------|
|
|
150
|
+
| Leading questions | Biases responses | Ask neutral, open questions |
|
|
151
|
+
| Asking about future behavior | People predict poorly | Ask about past behavior instead |
|
|
152
|
+
| Accepting vague answers | Loses detail | Probe for specific examples |
|
|
153
|
+
| Talking too much | Reduces user input | Embrace silence, let them think |
|
|
154
|
+
| Solving during interview | Shifts to validation mode | Save solutions for later |
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
ObservingBehaviorVsStatements {
|
|
158
|
+
Description: "Users often say one thing but do another. Watch for discrepancies."
|
|
159
|
+
Signals {
|
|
160
|
+
Workarounds: "Creative solutions reveal unmet needs"
|
|
161
|
+
Hesitation: "Confusion or friction points"
|
|
162
|
+
SkippedSteps: "What they consider unnecessary"
|
|
163
|
+
EmotionalReactions: "Frustration, delight, confusion"
|
|
164
|
+
ToolSwitching: "Integration pain points"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
PersonaCreationFramework {
|
|
170
|
+
BehavioralVsDemographic {
|
|
171
|
+
Avoid {
|
|
172
|
+
Demographic personas that describe who users are (age, income, job title)
|
|
173
|
+
These often become stereotypes that don't predict behavior
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
Create {
|
|
177
|
+
Behavioral personas that describe what users do, why they do it, and what barriers they face
|
|
178
|
+
These drive design decisions
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
PersonaComponents {
|
|
183
|
+
```
|
|
184
|
+
[Persona Name]
|
|
185
|
+
|
|
186
|
+
BEHAVIORAL ARCHETYPE
|
|
187
|
+
One sentence describing their core behavior pattern
|
|
188
|
+
|
|
189
|
+
GOALS
|
|
190
|
+
- Primary goal (what they're ultimately trying to achieve)
|
|
191
|
+
- Secondary goals (supporting objectives)
|
|
192
|
+
- Emotional goals (how they want to feel)
|
|
193
|
+
|
|
194
|
+
BEHAVIORS
|
|
195
|
+
- Key behavior 1 (observed pattern with frequency)
|
|
196
|
+
- Key behavior 2 (observed pattern with context)
|
|
197
|
+
- Key behavior 3 (observed pattern with trigger)
|
|
198
|
+
|
|
199
|
+
PAIN POINTS
|
|
200
|
+
- Frustration 1 (specific problem with impact)
|
|
201
|
+
- Frustration 2 (specific problem with workaround)
|
|
202
|
+
- Frustration 3 (specific problem with frequency)
|
|
203
|
+
|
|
204
|
+
DECISION FACTORS
|
|
205
|
+
- What influences their choices
|
|
206
|
+
- What trade-offs they make
|
|
207
|
+
- What they prioritize
|
|
208
|
+
|
|
209
|
+
CONTEXT
|
|
210
|
+
- When they engage with the product
|
|
211
|
+
- Where they use it
|
|
212
|
+
- What else competes for attention
|
|
213
|
+
|
|
214
|
+
QUOTE
|
|
215
|
+
"Verbatim quote from research that captures their perspective"
|
|
216
|
+
```
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
CreatingPersonasFromResearch {
|
|
220
|
+
Step1IdentifyBehaviorPatterns {
|
|
221
|
+
Review all interview notes and observations
|
|
222
|
+
Tag recurring behaviors, goals, and pain points
|
|
223
|
+
Look for clusters of similar behavior
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
Step2DefineBehavioralVariables {
|
|
227
|
+
List the key dimensions that differentiate users
|
|
228
|
+
Place participants along each dimension
|
|
229
|
+
Identify clusters that represent archetypes
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
Step3BuildPersonaProfiles {
|
|
233
|
+
Write narrative based on research data only
|
|
234
|
+
Include direct quotes from participants
|
|
235
|
+
Validate that persona represents multiple participants
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
Step4PrioritizePersonas {
|
|
239
|
+
Identify primary persona (design for first)
|
|
240
|
+
Secondary personas (accommodate)
|
|
241
|
+
Edge cases (consider but don't optimize for)
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
PersonaAntiPatterns {
|
|
246
|
+
| Anti-Pattern | Why It Fails | Better Approach |
|
|
247
|
+
|--------------|--------------|-----------------|
|
|
248
|
+
| Fictional details | Creates false confidence | Use only observed data |
|
|
249
|
+
| Photos of real people | Triggers stereotypes | Use illustrations or initials |
|
|
250
|
+
| Too many personas | Dilutes focus | Limit to 3-5 maximum |
|
|
251
|
+
| Demographic focus | Doesn't predict behavior | Focus on goals and behaviors |
|
|
252
|
+
| No pain points | Misses design opportunities | Ground in observed frustrations |
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
JourneyMappingMethodology {
|
|
257
|
+
JourneyMapComponents {
|
|
258
|
+
```
|
|
259
|
+
JOURNEY MAP: [User Goal]
|
|
260
|
+
|
|
261
|
+
PERSONA: [Which persona this represents]
|
|
262
|
+
SCENARIO: [Specific context and trigger]
|
|
263
|
+
|
|
264
|
+
| Stage | [Stage 1] | [Stage 2] | [Stage 3] | [Stage 4] |
|
|
265
|
+
|-------|-----------|-----------|-----------|-----------|
|
|
266
|
+
| Actions | What user does | ... | ... | ... |
|
|
267
|
+
| Touchpoints | Channels/interfaces | ... | ... | ... |
|
|
268
|
+
| Thoughts | What they're thinking | ... | ... | ... |
|
|
269
|
+
| Emotions | How they feel (scale) | ... | ... | ... |
|
|
270
|
+
| Pain Points | Frustrations | ... | ... | ... |
|
|
271
|
+
| Opportunities | Design possibilities | ... | ... | ... |
|
|
272
|
+
```
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
JourneyMappingProcess {
|
|
276
|
+
DefineScope {
|
|
277
|
+
Which persona is this for?
|
|
278
|
+
What goal or scenario are we mapping?
|
|
279
|
+
Where does the journey start and end?
|
|
280
|
+
What level of detail do we need?
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
MapCurrentState {
|
|
284
|
+
List all stages from trigger to completion
|
|
285
|
+
Document what users do at each stage
|
|
286
|
+
Identify all touchpoints (channels, systems, people)
|
|
287
|
+
Note what users think and feel
|
|
288
|
+
Mark pain points and moments of delight
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
ValidateWithData {
|
|
292
|
+
Cross-reference with analytics data
|
|
293
|
+
Validate with additional user interviews
|
|
294
|
+
Check assumptions against support data
|
|
295
|
+
Ensure map represents typical experience
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
IdentifyOpportunities {
|
|
299
|
+
Where are the highest-impact pain points?
|
|
300
|
+
Where do users drop off or get stuck?
|
|
301
|
+
What moments could be transformed?
|
|
302
|
+
Where can we exceed expectations?
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
JourneyMapTypes {
|
|
307
|
+
CurrentStateMaps {
|
|
308
|
+
Description: "Document how things work today"
|
|
309
|
+
Purpose {
|
|
310
|
+
Based on research observations
|
|
311
|
+
Reveals improvement opportunities
|
|
312
|
+
Aligns stakeholders on reality
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
FutureStateMaps {
|
|
317
|
+
Description: "Envision improved experience"
|
|
318
|
+
Purpose {
|
|
319
|
+
Based on current state insights
|
|
320
|
+
Shows target experience
|
|
321
|
+
Guides design decisions
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
ServiceBlueprints {
|
|
326
|
+
Description: "Include backend processes"
|
|
327
|
+
Purpose {
|
|
328
|
+
Shows frontstage and backstage
|
|
329
|
+
Reveals operational dependencies
|
|
330
|
+
Identifies system requirements
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
EmotionalCurveMapping {
|
|
336
|
+
```
|
|
337
|
+
Very Positive +2 ----*----
|
|
338
|
+
Positive +1 ----*---------*----
|
|
339
|
+
Neutral 0 *---------*----
|
|
340
|
+
Negative -1 ----*----
|
|
341
|
+
Very Negative -2 ----*----
|
|
342
|
+
|Stage1|Stage2|Stage3|Stage4|
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
KeyMomentsToIdentify {
|
|
346
|
+
PeakMoments: "Highest positive emotion (protect and amplify)"
|
|
347
|
+
ValleyMoments: "Lowest emotion (priority for improvement)"
|
|
348
|
+
TransitionPoints: "Where emotion shifts (critical touchpoints)"
|
|
349
|
+
EndingMoments: "Final impression (strong impact on memory)"
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
UsabilityTestingPatterns {
|
|
355
|
+
TestTypes {
|
|
356
|
+
ModeratedTesting {
|
|
357
|
+
Description: "Facilitator guides participant"
|
|
358
|
+
BestFor: "Complex tasks, early prototypes, need for probing"
|
|
359
|
+
Pros: "Rich qualitative data, can adapt on the fly"
|
|
360
|
+
Cons: "Time-intensive, facilitator can bias"
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
UnmoderatedTesting {
|
|
364
|
+
Description: "Participant works independently"
|
|
365
|
+
BestFor: "Simple tasks, large samples, geographic spread"
|
|
366
|
+
Pros: "Scalable, no facilitator bias, natural behavior"
|
|
367
|
+
Cons: "No probing, participants may give up"
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
GuerrillaTesting {
|
|
371
|
+
Description: "Quick tests with available people"
|
|
372
|
+
BestFor: "Early validation, simple concepts, tight timelines"
|
|
373
|
+
Pros: "Fast, cheap, good for iteration"
|
|
374
|
+
Cons: "May not match target users, limited depth"
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
TestProtocolStructure {
|
|
379
|
+
PreTestSetup {
|
|
380
|
+
Confirm participant matches screener
|
|
381
|
+
Prepare test environment (prototype, recording)
|
|
382
|
+
Review tasks and questions
|
|
383
|
+
Test the test (pilot run)
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
Introduction {
|
|
387
|
+
Duration: "5 minutes"
|
|
388
|
+
Activities {
|
|
389
|
+
Explain the purpose (testing the design, not them)
|
|
390
|
+
Describe think-aloud protocol
|
|
391
|
+
Confirm recording consent
|
|
392
|
+
Encourage honest feedback
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
BackgroundQuestions {
|
|
397
|
+
Duration: "5 minutes"
|
|
398
|
+
Activities {
|
|
399
|
+
Relevant experience with similar products
|
|
400
|
+
Current tools and workflows
|
|
401
|
+
Expectations for this type of product
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
TaskScenarios {
|
|
406
|
+
Duration: "30-40 minutes"
|
|
407
|
+
Activities {
|
|
408
|
+
Present tasks one at a time
|
|
409
|
+
Use realistic scenarios, not instructions
|
|
410
|
+
Observe without helping
|
|
411
|
+
Probe after task completion
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
PostTestQuestions {
|
|
416
|
+
Duration: "10 minutes"
|
|
417
|
+
Activities {
|
|
418
|
+
Overall impressions
|
|
419
|
+
Comparison to expectations
|
|
420
|
+
Suggestions for improvement
|
|
421
|
+
Follow-up on observed issues
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
WritingEffectiveTaskScenarios {
|
|
427
|
+
BadTask {
|
|
428
|
+
Example: "Click on Settings and change your notification preferences"
|
|
429
|
+
Problems {
|
|
430
|
+
Reveals the solution
|
|
431
|
+
Uses UI terminology
|
|
432
|
+
No realistic context
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
GoodTask {
|
|
437
|
+
Example: "You're getting too many email notifications. How would you reduce them?"
|
|
438
|
+
Strengths {
|
|
439
|
+
Goal-oriented
|
|
440
|
+
User's language
|
|
441
|
+
Realistic motivation
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
TaskScenarioTemplate {
|
|
446
|
+
```
|
|
447
|
+
SCENARIO: [Context that makes the task realistic]
|
|
448
|
+
GOAL: [What the user is trying to accomplish]
|
|
449
|
+
SUCCESS CRITERIA: [How you'll know they succeeded]
|
|
450
|
+
```
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
MetricsToCapture {
|
|
455
|
+
EffectivenessMetrics {
|
|
456
|
+
TaskSuccessRate: "completed / attempted"
|
|
457
|
+
ErrorRate: "errors / task"
|
|
458
|
+
RecoveryRate: "recovered from errors / total errors"
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
EfficiencyMetrics {
|
|
462
|
+
TimeOnTask: "seconds to completion"
|
|
463
|
+
NumberOfSteps: "compared to optimal path"
|
|
464
|
+
HelpRequests: "times asked for assistance"
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
SatisfactionMetrics {
|
|
468
|
+
PostTaskRating: "1-7 scale per task"
|
|
469
|
+
SUS: "System Usability Scale score"
|
|
470
|
+
NPS: "Net Promoter Score"
|
|
471
|
+
QualitativeFeedback: "themes"
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
SeverityRatingScale {
|
|
476
|
+
| Rating | Name | Definition | Action |
|
|
477
|
+
|--------|------|------------|--------|
|
|
478
|
+
| 1 | Cosmetic | Noticed but no impact | Fix if time permits |
|
|
479
|
+
| 2 | Minor | Slight difficulty, recovered easily | Fix in next release |
|
|
480
|
+
| 3 | Major | Significant difficulty, delayed success | Fix before release |
|
|
481
|
+
| 4 | Critical | Prevented task completion | Must fix immediately |
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
SynthesisAndReporting {
|
|
486
|
+
AffinityMappingProcess {
|
|
487
|
+
GatherRawData {
|
|
488
|
+
Write each observation on a separate note
|
|
489
|
+
Include quotes, behaviors, and pain points
|
|
490
|
+
One insight per note
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
ClusterRelatedNotes {
|
|
494
|
+
Group similar observations together
|
|
495
|
+
Don't force categories, let them emerge
|
|
496
|
+
Move notes as patterns become clear
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
NameTheClusters {
|
|
500
|
+
Create descriptive labels for each group
|
|
501
|
+
Labels should capture the theme
|
|
502
|
+
Higher-level groups may emerge
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
IdentifyPatterns {
|
|
506
|
+
What themes appear across multiple participants?
|
|
507
|
+
What surprises challenge assumptions?
|
|
508
|
+
What opportunities become clear?
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
ResearchReportStructure {
|
|
513
|
+
```
|
|
514
|
+
RESEARCH REPORT: [Study Name]
|
|
515
|
+
|
|
516
|
+
EXECUTIVE SUMMARY
|
|
517
|
+
- Research objective
|
|
518
|
+
- Methods used
|
|
519
|
+
- Key findings (3-5 bullets)
|
|
520
|
+
- Recommended actions
|
|
521
|
+
|
|
522
|
+
METHODOLOGY
|
|
523
|
+
- Research questions
|
|
524
|
+
- Participant criteria and recruitment
|
|
525
|
+
- Methods and sample size
|
|
526
|
+
- Limitations
|
|
527
|
+
|
|
528
|
+
KEY FINDINGS
|
|
529
|
+
Finding 1: [Title]
|
|
530
|
+
- Evidence: What we observed
|
|
531
|
+
- Impact: Why it matters
|
|
532
|
+
- Quote: "Supporting verbatim"
|
|
533
|
+
|
|
534
|
+
Finding 2: [Title]
|
|
535
|
+
...
|
|
536
|
+
|
|
537
|
+
RECOMMENDATIONS
|
|
538
|
+
- Priority 1: [Action] - Addresses [finding]
|
|
539
|
+
- Priority 2: [Action] - Addresses [finding]
|
|
540
|
+
- Priority 3: [Action] - Addresses [finding]
|
|
541
|
+
|
|
542
|
+
NEXT STEPS
|
|
543
|
+
- Immediate actions
|
|
544
|
+
- Further research needed
|
|
545
|
+
- Stakeholder follow-up
|
|
546
|
+
|
|
547
|
+
APPENDIX
|
|
548
|
+
- Participant details (anonymized)
|
|
549
|
+
- Full data sets
|
|
550
|
+
- Methodology details
|
|
551
|
+
```
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
PresentingFindings {
|
|
555
|
+
LeadWithInsights: "Start with what you learned, not how you learned it"
|
|
556
|
+
UseParticipantVoices: "Include direct quotes; video clips are more powerful than text"
|
|
557
|
+
ConnectToBusinessOutcomes: "Tie findings to metrics stakeholders care about"
|
|
558
|
+
ProvideClearRecommendations: "Don't just report problems, suggest solutions"
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
BestPractices {
|
|
563
|
+
Recruit participants who actually face the problem you're solving
|
|
564
|
+
Focus on understanding behavior, not validating your ideas
|
|
565
|
+
Look for patterns across participants, not individual opinions
|
|
566
|
+
Always observe what users do, not just what they say
|
|
567
|
+
Use multiple methods to triangulate findings
|
|
568
|
+
Create lightweight deliverables that teams will actually use
|
|
569
|
+
Involve stakeholders in research to build empathy
|
|
570
|
+
Measure research impact through design decisions influenced
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
## References
|
|
575
|
+
|
|
576
|
+
- [research-plan-template.md](templates/research-plan-template.md) - Planning template for research studies
|