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.
Files changed (156) hide show
  1. package/README.md +140 -0
  2. package/dist/cli.cjs +63 -0
  3. package/dist/mcp-server.cjs +51 -0
  4. package/dist/plugin.cjs +4 -0
  5. package/dist/worker.cjs +224 -0
  6. package/opencode/agent/the-analyst/feature-prioritization.md +66 -0
  7. package/opencode/agent/the-analyst/market-research.md +77 -0
  8. package/opencode/agent/the-analyst/project-coordination.md +81 -0
  9. package/opencode/agent/the-analyst/requirements-analysis.md +77 -0
  10. package/opencode/agent/the-architect/compatibility-review.md +138 -0
  11. package/opencode/agent/the-architect/complexity-review.md +137 -0
  12. package/opencode/agent/the-architect/quality-review.md +67 -0
  13. package/opencode/agent/the-architect/security-review.md +127 -0
  14. package/opencode/agent/the-architect/system-architecture.md +119 -0
  15. package/opencode/agent/the-architect/system-documentation.md +83 -0
  16. package/opencode/agent/the-architect/technology-research.md +85 -0
  17. package/opencode/agent/the-chief.md +79 -0
  18. package/opencode/agent/the-designer/accessibility-implementation.md +101 -0
  19. package/opencode/agent/the-designer/design-foundation.md +74 -0
  20. package/opencode/agent/the-designer/interaction-architecture.md +75 -0
  21. package/opencode/agent/the-designer/user-research.md +70 -0
  22. package/opencode/agent/the-meta-agent.md +155 -0
  23. package/opencode/agent/the-platform-engineer/ci-cd-pipelines.md +109 -0
  24. package/opencode/agent/the-platform-engineer/containerization.md +106 -0
  25. package/opencode/agent/the-platform-engineer/data-architecture.md +81 -0
  26. package/opencode/agent/the-platform-engineer/dependency-review.md +144 -0
  27. package/opencode/agent/the-platform-engineer/deployment-automation.md +81 -0
  28. package/opencode/agent/the-platform-engineer/infrastructure-as-code.md +107 -0
  29. package/opencode/agent/the-platform-engineer/performance-tuning.md +82 -0
  30. package/opencode/agent/the-platform-engineer/pipeline-engineering.md +81 -0
  31. package/opencode/agent/the-platform-engineer/production-monitoring.md +105 -0
  32. package/opencode/agent/the-qa-engineer/exploratory-testing.md +66 -0
  33. package/opencode/agent/the-qa-engineer/performance-testing.md +81 -0
  34. package/opencode/agent/the-qa-engineer/quality-assurance.md +77 -0
  35. package/opencode/agent/the-qa-engineer/test-execution.md +66 -0
  36. package/opencode/agent/the-software-engineer/api-development.md +78 -0
  37. package/opencode/agent/the-software-engineer/component-development.md +79 -0
  38. package/opencode/agent/the-software-engineer/concurrency-review.md +141 -0
  39. package/opencode/agent/the-software-engineer/domain-modeling.md +66 -0
  40. package/opencode/agent/the-software-engineer/performance-optimization.md +113 -0
  41. package/opencode/command/analyze.md +149 -0
  42. package/opencode/command/constitution.md +178 -0
  43. package/opencode/command/debug.md +194 -0
  44. package/opencode/command/document.md +178 -0
  45. package/opencode/command/implement.md +225 -0
  46. package/opencode/command/refactor.md +207 -0
  47. package/opencode/command/review.md +229 -0
  48. package/opencode/command/simplify.md +267 -0
  49. package/opencode/command/specify.md +191 -0
  50. package/opencode/command/validate.md +224 -0
  51. package/opencode/skill/accessibility-design/SKILL.md +566 -0
  52. package/opencode/skill/accessibility-design/checklists/wcag-checklist.md +435 -0
  53. package/opencode/skill/agent-coordination/SKILL.md +224 -0
  54. package/opencode/skill/api-contract-design/SKILL.md +550 -0
  55. package/opencode/skill/api-contract-design/templates/graphql-schema-template.md +818 -0
  56. package/opencode/skill/api-contract-design/templates/rest-api-template.md +417 -0
  57. package/opencode/skill/architecture-design/SKILL.md +160 -0
  58. package/opencode/skill/architecture-design/examples/architecture-examples.md +170 -0
  59. package/opencode/skill/architecture-design/template.md +749 -0
  60. package/opencode/skill/architecture-design/validation.md +99 -0
  61. package/opencode/skill/architecture-selection/SKILL.md +522 -0
  62. package/opencode/skill/architecture-selection/examples/adrs/001-example-adr.md +71 -0
  63. package/opencode/skill/architecture-selection/examples/architecture-patterns.md +239 -0
  64. package/opencode/skill/bug-diagnosis/SKILL.md +235 -0
  65. package/opencode/skill/code-quality-review/SKILL.md +337 -0
  66. package/opencode/skill/code-quality-review/examples/anti-patterns.md +629 -0
  67. package/opencode/skill/code-quality-review/reference.md +322 -0
  68. package/opencode/skill/code-review/SKILL.md +363 -0
  69. package/opencode/skill/code-review/reference.md +450 -0
  70. package/opencode/skill/codebase-analysis/SKILL.md +139 -0
  71. package/opencode/skill/codebase-navigation/SKILL.md +227 -0
  72. package/opencode/skill/codebase-navigation/examples/exploration-patterns.md +263 -0
  73. package/opencode/skill/coding-conventions/SKILL.md +178 -0
  74. package/opencode/skill/coding-conventions/checklists/accessibility-checklist.md +176 -0
  75. package/opencode/skill/coding-conventions/checklists/performance-checklist.md +154 -0
  76. package/opencode/skill/coding-conventions/checklists/security-checklist.md +127 -0
  77. package/opencode/skill/constitution-validation/SKILL.md +315 -0
  78. package/opencode/skill/constitution-validation/examples/CONSTITUTION.md +202 -0
  79. package/opencode/skill/constitution-validation/reference/rule-patterns.md +328 -0
  80. package/opencode/skill/constitution-validation/template.md +115 -0
  81. package/opencode/skill/context-preservation/SKILL.md +445 -0
  82. package/opencode/skill/data-modeling/SKILL.md +385 -0
  83. package/opencode/skill/data-modeling/templates/schema-design-template.md +268 -0
  84. package/opencode/skill/deployment-pipeline-design/SKILL.md +579 -0
  85. package/opencode/skill/deployment-pipeline-design/templates/pipeline-template.md +633 -0
  86. package/opencode/skill/documentation-extraction/SKILL.md +259 -0
  87. package/opencode/skill/documentation-sync/SKILL.md +431 -0
  88. package/opencode/skill/domain-driven-design/SKILL.md +509 -0
  89. package/opencode/skill/domain-driven-design/examples/ddd-patterns.md +688 -0
  90. package/opencode/skill/domain-driven-design/reference.md +465 -0
  91. package/opencode/skill/drift-detection/SKILL.md +383 -0
  92. package/opencode/skill/drift-detection/reference.md +340 -0
  93. package/opencode/skill/error-recovery/SKILL.md +162 -0
  94. package/opencode/skill/error-recovery/examples/error-patterns.md +484 -0
  95. package/opencode/skill/feature-prioritization/SKILL.md +419 -0
  96. package/opencode/skill/feature-prioritization/examples/rice-template.md +139 -0
  97. package/opencode/skill/feature-prioritization/reference.md +256 -0
  98. package/opencode/skill/git-workflow/SKILL.md +453 -0
  99. package/opencode/skill/implementation-planning/SKILL.md +215 -0
  100. package/opencode/skill/implementation-planning/examples/phase-examples.md +217 -0
  101. package/opencode/skill/implementation-planning/template.md +220 -0
  102. package/opencode/skill/implementation-planning/validation.md +88 -0
  103. package/opencode/skill/implementation-verification/SKILL.md +272 -0
  104. package/opencode/skill/knowledge-capture/SKILL.md +265 -0
  105. package/opencode/skill/knowledge-capture/reference/knowledge-capture.md +402 -0
  106. package/opencode/skill/knowledge-capture/reference.md +444 -0
  107. package/opencode/skill/knowledge-capture/templates/domain-template.md +325 -0
  108. package/opencode/skill/knowledge-capture/templates/interface-template.md +255 -0
  109. package/opencode/skill/knowledge-capture/templates/pattern-template.md +144 -0
  110. package/opencode/skill/observability-design/SKILL.md +291 -0
  111. package/opencode/skill/observability-design/references/monitoring-patterns.md +461 -0
  112. package/opencode/skill/pattern-detection/SKILL.md +171 -0
  113. package/opencode/skill/pattern-detection/examples/common-patterns.md +359 -0
  114. package/opencode/skill/performance-analysis/SKILL.md +266 -0
  115. package/opencode/skill/performance-analysis/references/profiling-tools.md +499 -0
  116. package/opencode/skill/requirements-analysis/SKILL.md +139 -0
  117. package/opencode/skill/requirements-analysis/examples/good-prd.md +66 -0
  118. package/opencode/skill/requirements-analysis/template.md +177 -0
  119. package/opencode/skill/requirements-analysis/validation.md +69 -0
  120. package/opencode/skill/requirements-elicitation/SKILL.md +518 -0
  121. package/opencode/skill/requirements-elicitation/examples/interview-questions.md +226 -0
  122. package/opencode/skill/requirements-elicitation/examples/user-stories.md +414 -0
  123. package/opencode/skill/safe-refactoring/SKILL.md +312 -0
  124. package/opencode/skill/safe-refactoring/reference/code-smells.md +347 -0
  125. package/opencode/skill/security-assessment/SKILL.md +421 -0
  126. package/opencode/skill/security-assessment/checklists/security-review-checklist.md +285 -0
  127. package/opencode/skill/specification-management/SKILL.md +143 -0
  128. package/opencode/skill/specification-management/readme-template.md +32 -0
  129. package/opencode/skill/specification-management/reference.md +115 -0
  130. package/opencode/skill/specification-management/spec.py +229 -0
  131. package/opencode/skill/specification-validation/SKILL.md +397 -0
  132. package/opencode/skill/specification-validation/reference/3cs-framework.md +306 -0
  133. package/opencode/skill/specification-validation/reference/ambiguity-detection.md +132 -0
  134. package/opencode/skill/specification-validation/reference/constitution-validation.md +301 -0
  135. package/opencode/skill/specification-validation/reference/drift-detection.md +383 -0
  136. package/opencode/skill/task-delegation/SKILL.md +607 -0
  137. package/opencode/skill/task-delegation/examples/file-coordination.md +495 -0
  138. package/opencode/skill/task-delegation/examples/parallel-research.md +337 -0
  139. package/opencode/skill/task-delegation/examples/sequential-build.md +504 -0
  140. package/opencode/skill/task-delegation/reference.md +825 -0
  141. package/opencode/skill/tech-stack-detection/SKILL.md +89 -0
  142. package/opencode/skill/tech-stack-detection/references/framework-signatures.md +598 -0
  143. package/opencode/skill/technical-writing/SKILL.md +190 -0
  144. package/opencode/skill/technical-writing/templates/adr-template.md +205 -0
  145. package/opencode/skill/technical-writing/templates/system-doc-template.md +380 -0
  146. package/opencode/skill/test-design/SKILL.md +464 -0
  147. package/opencode/skill/test-design/examples/test-pyramid.md +724 -0
  148. package/opencode/skill/testing/SKILL.md +213 -0
  149. package/opencode/skill/testing/examples/test-pyramid.md +724 -0
  150. package/opencode/skill/user-insight-synthesis/SKILL.md +576 -0
  151. package/opencode/skill/user-insight-synthesis/templates/research-plan-template.md +217 -0
  152. package/opencode/skill/user-research/SKILL.md +508 -0
  153. package/opencode/skill/user-research/examples/interview-questions.md +265 -0
  154. package/opencode/skill/user-research/examples/personas.md +267 -0
  155. package/opencode/skill/vibe-security/SKILL.md +654 -0
  156. 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