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,217 @@
|
|
|
1
|
+
# Template: Research Plan
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Use this template to plan user research studies. It ensures you define clear objectives, select appropriate methods, recruit the right participants, and establish success criteria before starting research.
|
|
6
|
+
|
|
7
|
+
## Template
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
# Research Plan: [Study Name]
|
|
11
|
+
|
|
12
|
+
## Research Objective
|
|
13
|
+
|
|
14
|
+
### Business Context
|
|
15
|
+
[What business problem or opportunity prompted this research?]
|
|
16
|
+
|
|
17
|
+
### Research Questions
|
|
18
|
+
1. [Primary question - what do we most need to learn?]
|
|
19
|
+
2. [Secondary question]
|
|
20
|
+
3. [Secondary question]
|
|
21
|
+
|
|
22
|
+
### Design Decisions This Will Inform
|
|
23
|
+
- [Specific decision this research will help make]
|
|
24
|
+
- [Specific decision this research will help make]
|
|
25
|
+
|
|
26
|
+
## Methodology
|
|
27
|
+
|
|
28
|
+
### Selected Method(s)
|
|
29
|
+
[Method name] - [Brief rationale for why this method]
|
|
30
|
+
|
|
31
|
+
### Method Details
|
|
32
|
+
- **Format**: [In-person / Remote / Unmoderated]
|
|
33
|
+
- **Duration**: [Session length]
|
|
34
|
+
- **Sample Size**: [Number of participants and rationale]
|
|
35
|
+
|
|
36
|
+
### Alternative Methods Considered
|
|
37
|
+
[What other methods were considered and why they weren't selected]
|
|
38
|
+
|
|
39
|
+
## Participant Criteria
|
|
40
|
+
|
|
41
|
+
### Must Have (Screener Requirements)
|
|
42
|
+
- [Criterion 1 with specific requirement]
|
|
43
|
+
- [Criterion 2 with specific requirement]
|
|
44
|
+
- [Criterion 3 with specific requirement]
|
|
45
|
+
|
|
46
|
+
### Nice to Have
|
|
47
|
+
- [Optional criterion for diversity]
|
|
48
|
+
- [Optional criterion for coverage]
|
|
49
|
+
|
|
50
|
+
### Exclusion Criteria
|
|
51
|
+
- [Who should NOT participate and why]
|
|
52
|
+
|
|
53
|
+
### Recruitment Approach
|
|
54
|
+
[How participants will be found and screened]
|
|
55
|
+
|
|
56
|
+
## Research Protocol
|
|
57
|
+
|
|
58
|
+
### Pre-Session Preparation
|
|
59
|
+
- [ ] [Preparation step]
|
|
60
|
+
- [ ] [Preparation step]
|
|
61
|
+
|
|
62
|
+
### Session Structure
|
|
63
|
+
| Time | Activity |
|
|
64
|
+
|------|----------|
|
|
65
|
+
| 0-5 min | [Activity] |
|
|
66
|
+
| 5-15 min | [Activity] |
|
|
67
|
+
| 15-45 min | [Activity] |
|
|
68
|
+
| 45-55 min | [Activity] |
|
|
69
|
+
| 55-60 min | [Activity] |
|
|
70
|
+
|
|
71
|
+
### Key Topics to Explore
|
|
72
|
+
1. [Topic area with specific questions]
|
|
73
|
+
2. [Topic area with specific questions]
|
|
74
|
+
3. [Topic area with specific questions]
|
|
75
|
+
|
|
76
|
+
### Tasks (for usability testing)
|
|
77
|
+
| Task | Scenario | Success Criteria |
|
|
78
|
+
|------|----------|------------------|
|
|
79
|
+
| [Task 1] | [Realistic scenario] | [How success is measured] |
|
|
80
|
+
| [Task 2] | [Realistic scenario] | [How success is measured] |
|
|
81
|
+
|
|
82
|
+
## Data Collection
|
|
83
|
+
|
|
84
|
+
### What We'll Capture
|
|
85
|
+
- [ ] Audio/video recording
|
|
86
|
+
- [ ] Screen recording
|
|
87
|
+
- [ ] Observer notes
|
|
88
|
+
- [ ] Task completion metrics
|
|
89
|
+
- [ ] Post-session ratings
|
|
90
|
+
|
|
91
|
+
### Note-Taking Approach
|
|
92
|
+
[Who will take notes and in what format]
|
|
93
|
+
|
|
94
|
+
## Analysis Plan
|
|
95
|
+
|
|
96
|
+
### Synthesis Method
|
|
97
|
+
[How data will be analyzed - affinity mapping, thematic analysis, etc.]
|
|
98
|
+
|
|
99
|
+
### Deliverables
|
|
100
|
+
- [ ] [Deliverable 1 with format and audience]
|
|
101
|
+
- [ ] [Deliverable 2 with format and audience]
|
|
102
|
+
|
|
103
|
+
### Timeline
|
|
104
|
+
| Milestone | Date |
|
|
105
|
+
|-----------|------|
|
|
106
|
+
| Recruitment complete | [Date] |
|
|
107
|
+
| Sessions complete | [Date] |
|
|
108
|
+
| Analysis complete | [Date] |
|
|
109
|
+
| Report delivered | [Date] |
|
|
110
|
+
|
|
111
|
+
## Success Criteria
|
|
112
|
+
|
|
113
|
+
### This Research Will Be Successful If...
|
|
114
|
+
- [Measurable outcome 1]
|
|
115
|
+
- [Measurable outcome 2]
|
|
116
|
+
|
|
117
|
+
### Risks and Mitigation
|
|
118
|
+
| Risk | Mitigation |
|
|
119
|
+
|------|------------|
|
|
120
|
+
| [Risk 1] | [How we'll address it] |
|
|
121
|
+
| [Risk 2] | [How we'll address it] |
|
|
122
|
+
|
|
123
|
+
## Stakeholders
|
|
124
|
+
|
|
125
|
+
### Research Team
|
|
126
|
+
- **Lead Researcher**: [Name]
|
|
127
|
+
- **Note-taker**: [Name]
|
|
128
|
+
- **Observers**: [Names]
|
|
129
|
+
|
|
130
|
+
### Key Stakeholders
|
|
131
|
+
- [Name] - [Role] - [What they need from this research]
|
|
132
|
+
- [Name] - [Role] - [What they need from this research]
|
|
133
|
+
|
|
134
|
+
## Appendix
|
|
135
|
+
|
|
136
|
+
### Screener Questions
|
|
137
|
+
[Full screener questionnaire]
|
|
138
|
+
|
|
139
|
+
### Discussion Guide / Test Script
|
|
140
|
+
[Full moderator guide]
|
|
141
|
+
|
|
142
|
+
### Consent Form
|
|
143
|
+
[Participant consent language]
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## Usage Instructions
|
|
147
|
+
|
|
148
|
+
1. Copy the template above
|
|
149
|
+
2. Replace bracketed placeholders with actual content
|
|
150
|
+
3. Remove sections that don't apply to your study type
|
|
151
|
+
4. Add sections as needed for your specific context
|
|
152
|
+
5. Review with stakeholders before recruiting
|
|
153
|
+
|
|
154
|
+
## Section Guidance
|
|
155
|
+
|
|
156
|
+
### Research Objective
|
|
157
|
+
Be specific about what you need to learn. Vague objectives lead to unfocused research. Tie objectives directly to decisions that need to be made.
|
|
158
|
+
|
|
159
|
+
### Participant Criteria
|
|
160
|
+
Be specific enough to recruit the right people, but not so restrictive that you can't find participants. Include both behavioral and demographic criteria as relevant.
|
|
161
|
+
|
|
162
|
+
### Research Protocol
|
|
163
|
+
Plan your time carefully. Allow buffer for late starts and rich conversations. Practice the protocol with a pilot participant before the real sessions.
|
|
164
|
+
|
|
165
|
+
### Success Criteria
|
|
166
|
+
Define upfront what a successful study looks like. This keeps the research focused and makes it easier to know when you're done.
|
|
167
|
+
|
|
168
|
+
## Examples
|
|
169
|
+
|
|
170
|
+
### Example: Discovery Research Plan
|
|
171
|
+
|
|
172
|
+
```markdown
|
|
173
|
+
# Research Plan: First-Time Buyer Journey
|
|
174
|
+
|
|
175
|
+
## Research Objective
|
|
176
|
+
|
|
177
|
+
### Business Context
|
|
178
|
+
Conversion rate for first-time buyers is 40% lower than returning customers. We need to understand what barriers new buyers face.
|
|
179
|
+
|
|
180
|
+
### Research Questions
|
|
181
|
+
1. What triggers first-time buyers to start their purchase journey?
|
|
182
|
+
2. What information do they need before making a purchase decision?
|
|
183
|
+
3. Where do they get stuck or abandon the process?
|
|
184
|
+
|
|
185
|
+
### Design Decisions This Will Inform
|
|
186
|
+
- Onboarding flow redesign
|
|
187
|
+
- Product page information hierarchy
|
|
188
|
+
- Checkout simplification priorities
|
|
189
|
+
|
|
190
|
+
## Methodology
|
|
191
|
+
|
|
192
|
+
### Selected Method(s)
|
|
193
|
+
Contextual inquiry with diary study follow-up - We need to observe actual behavior in context, then track the extended decision journey.
|
|
194
|
+
...
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Example: Usability Test Plan
|
|
198
|
+
|
|
199
|
+
```markdown
|
|
200
|
+
# Research Plan: Checkout Redesign Validation
|
|
201
|
+
|
|
202
|
+
## Research Objective
|
|
203
|
+
|
|
204
|
+
### Business Context
|
|
205
|
+
We've redesigned the checkout flow based on previous research. We need to validate the new design reduces abandonment.
|
|
206
|
+
|
|
207
|
+
### Research Questions
|
|
208
|
+
1. Can users complete checkout with the new design?
|
|
209
|
+
2. Where do users encounter confusion or friction?
|
|
210
|
+
3. How does the new design compare to current satisfaction levels?
|
|
211
|
+
|
|
212
|
+
### Design Decisions This Will Inform
|
|
213
|
+
- Ship/don't ship decision for checkout redesign
|
|
214
|
+
- Specific UI refinements needed before launch
|
|
215
|
+
- Help content requirements
|
|
216
|
+
...
|
|
217
|
+
```
|
|
@@ -0,0 +1,508 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: user-research
|
|
3
|
+
description: "Designs studies, conducts interviews, creates personas, and synthesizes findings into actionable product recommendations"
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: opencode
|
|
6
|
+
metadata:
|
|
7
|
+
category: design
|
|
8
|
+
version: "1.0"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# User Research
|
|
12
|
+
|
|
13
|
+
Roleplay as a user research specialist that designs studies, conducts interviews, creates personas, and synthesizes findings into actionable product recommendations.
|
|
14
|
+
|
|
15
|
+
UserResearch {
|
|
16
|
+
Activation {
|
|
17
|
+
Planning user research studies
|
|
18
|
+
Conducting user interviews
|
|
19
|
+
Creating personas and journey maps
|
|
20
|
+
Synthesizing research findings
|
|
21
|
+
Translating insights into design recommendations
|
|
22
|
+
Validating product concepts with users
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
Constraints {
|
|
26
|
+
1. Triangulate findings across multiple participants before reporting
|
|
27
|
+
2. Distinguish between observed behavior and stated preference
|
|
28
|
+
3. Include direct participant quotes as evidence for findings
|
|
29
|
+
4. Validate personas against multiple participant data points
|
|
30
|
+
5. Never ask leading questions that bias participant responses
|
|
31
|
+
6. Never present hypothetical behavior as predictive of real behavior
|
|
32
|
+
7. Never create personas based on assumptions - use only observed research data
|
|
33
|
+
8. Never skip research synthesis - raw data without analysis is not actionable
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
ResearchMethods {
|
|
37
|
+
MethodSelectionGuide {
|
|
38
|
+
| Method | Best For | Sample Size | Time Investment |
|
|
39
|
+
|--------|----------|-------------|-----------------|
|
|
40
|
+
| User Interviews | Deep understanding, "why" | 5-12 users | 2-3 weeks |
|
|
41
|
+
| Contextual Inquiry | Understanding environment | 3-6 users | 1-2 weeks |
|
|
42
|
+
| Usability Testing | Interface validation | 5 users | 1 week |
|
|
43
|
+
| Surveys | Quantitative validation | 100+ users | 1-2 weeks |
|
|
44
|
+
| Card Sorting | Information architecture | 15-30 users | 1 week |
|
|
45
|
+
| Diary Studies | Longitudinal behavior | 10-15 users | 2-4 weeks |
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
UserInterviews {
|
|
49
|
+
Description: "One-on-one conversations to understand user perspectives"
|
|
50
|
+
|
|
51
|
+
InterviewStructure {
|
|
52
|
+
```
|
|
53
|
+
1. INTRODUCTION (5 min)
|
|
54
|
+
- Thank them for participating
|
|
55
|
+
- Explain purpose (learning, not testing)
|
|
56
|
+
- Request permission to record
|
|
57
|
+
- Emphasize no right/wrong answers
|
|
58
|
+
|
|
59
|
+
2. WARM-UP (5 min)
|
|
60
|
+
- Easy, open questions
|
|
61
|
+
- Build rapport
|
|
62
|
+
- "Tell me about your role..."
|
|
63
|
+
|
|
64
|
+
3. CONTEXT (10 min)
|
|
65
|
+
- Current situation
|
|
66
|
+
- Tools and processes
|
|
67
|
+
- Goals and challenges
|
|
68
|
+
- "Walk me through a typical day..."
|
|
69
|
+
|
|
70
|
+
4. DEEP DIVE (30 min)
|
|
71
|
+
- Specific experiences
|
|
72
|
+
- Pain points in detail
|
|
73
|
+
- Workarounds and adaptations
|
|
74
|
+
- "Tell me about a time when..."
|
|
75
|
+
|
|
76
|
+
5. EXPLORATION (5 min)
|
|
77
|
+
- Reactions to concepts (if applicable)
|
|
78
|
+
- Ideal scenarios
|
|
79
|
+
- "If you could wave a magic wand..."
|
|
80
|
+
|
|
81
|
+
6. WRAP-UP (5 min)
|
|
82
|
+
- Summary of key points
|
|
83
|
+
- Anything else to add
|
|
84
|
+
- Thank you and next steps
|
|
85
|
+
```
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
QuestionTechniques {
|
|
89
|
+
| Technique | Purpose | Example |
|
|
90
|
+
|-----------|---------|---------|
|
|
91
|
+
| Open-ended | Encourage stories | "Tell me about..." |
|
|
92
|
+
| Follow-up | Dig deeper | "Can you say more about that?" |
|
|
93
|
+
| Clarification | Ensure understanding | "When you say X, what do you mean?" |
|
|
94
|
+
| Contrast | Explore differences | "How does that compare to...?" |
|
|
95
|
+
| Projection | Uncover desires | "What would ideal look like?" |
|
|
96
|
+
| Silence | Let them think | [Wait 5-10 seconds after answers] |
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
QuestionsToAvoid {
|
|
100
|
+
| Avoid | Problem | Better |
|
|
101
|
+
|-------|---------|--------|
|
|
102
|
+
| "Do you like...?" | Yes/no answer | "How do you feel about...?" |
|
|
103
|
+
| "Would you use...?" | Hypothetical behavior != real | "When did you last...?" |
|
|
104
|
+
| "Don't you think...?" | Leading | "What do you think about...?" |
|
|
105
|
+
| "What features...?" | Solution-focused | "What problems do you face?" |
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
ContextualInquiry {
|
|
110
|
+
Description: "Observe users in their natural environment"
|
|
111
|
+
|
|
112
|
+
Protocol {
|
|
113
|
+
```
|
|
114
|
+
PREPARATION:
|
|
115
|
+
- Define focus areas
|
|
116
|
+
- Prepare observation guide
|
|
117
|
+
- Get necessary permissions
|
|
118
|
+
- Test recording equipment
|
|
119
|
+
|
|
120
|
+
DURING OBSERVATION:
|
|
121
|
+
1. Arrive early, set up quietly
|
|
122
|
+
2. Start with brief introduction
|
|
123
|
+
3. Observe first, ask questions after
|
|
124
|
+
4. Note everything (actions, environment, emotions)
|
|
125
|
+
5. Use "teach me" framing
|
|
126
|
+
|
|
127
|
+
OBSERVATION GUIDE:
|
|
128
|
+
- What are they trying to accomplish?
|
|
129
|
+
- What tools are they using?
|
|
130
|
+
- What workarounds do they employ?
|
|
131
|
+
- What frustrates them?
|
|
132
|
+
- What's in their physical environment?
|
|
133
|
+
- Who do they interact with?
|
|
134
|
+
|
|
135
|
+
DEBRIEF:
|
|
136
|
+
- Review observations with participant
|
|
137
|
+
- Ask clarifying questions
|
|
138
|
+
- Confirm interpretations
|
|
139
|
+
```
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
ObservationNotesTemplate {
|
|
143
|
+
```
|
|
144
|
+
Participant: [ID] Date: [Date] Location: [Where]
|
|
145
|
+
|
|
146
|
+
Task: [What they were doing]
|
|
147
|
+
Time: [How long it took]
|
|
148
|
+
|
|
149
|
+
Actions Observed:
|
|
150
|
+
- [Step 1]
|
|
151
|
+
- [Step 2]
|
|
152
|
+
|
|
153
|
+
Tools Used:
|
|
154
|
+
- [Tool 1]: [How used]
|
|
155
|
+
- [Tool 2]: [How used]
|
|
156
|
+
|
|
157
|
+
Pain Points:
|
|
158
|
+
- [Frustration observed]
|
|
159
|
+
|
|
160
|
+
Quotes:
|
|
161
|
+
- "[Direct quote]"
|
|
162
|
+
|
|
163
|
+
Opportunities:
|
|
164
|
+
- [Potential improvement]
|
|
165
|
+
```
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
ThinkAloudProtocol {
|
|
170
|
+
Setup {
|
|
171
|
+
```
|
|
172
|
+
"I'd like you to complete some tasks while telling me what you're
|
|
173
|
+
thinking. There are no wrong answers - I'm testing the design,
|
|
174
|
+
not you. Please say out loud whatever you're looking at, thinking,
|
|
175
|
+
or feeling as you go through."
|
|
176
|
+
```
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
PromptsDuringSession {
|
|
180
|
+
"What are you thinking right now?"
|
|
181
|
+
"What do you expect to happen?"
|
|
182
|
+
"What are you looking for?"
|
|
183
|
+
"Why did you click there?"
|
|
184
|
+
"How does this compare to what you expected?"
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
Avoid {
|
|
188
|
+
Helping them complete tasks
|
|
189
|
+
Confirming if they're right/wrong
|
|
190
|
+
Explaining how things work
|
|
191
|
+
Interrupting their flow too much
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
ResearchSynthesis {
|
|
197
|
+
AffinityMapping {
|
|
198
|
+
Process {
|
|
199
|
+
```
|
|
200
|
+
1. CAPTURE (Individual)
|
|
201
|
+
- Write one observation per sticky note
|
|
202
|
+
- Use participant quotes
|
|
203
|
+
- Include source identifier
|
|
204
|
+
|
|
205
|
+
2. CLUSTER (Group)
|
|
206
|
+
- Spread all notes on wall/board
|
|
207
|
+
- Group by similarity
|
|
208
|
+
- Don't pre-define categories
|
|
209
|
+
- Move notes until clusters emerge
|
|
210
|
+
|
|
211
|
+
3. NAME (Group)
|
|
212
|
+
- Label each cluster
|
|
213
|
+
- Labels should describe the theme
|
|
214
|
+
- Not too broad, not too specific
|
|
215
|
+
|
|
216
|
+
4. PRIORITIZE
|
|
217
|
+
- Which themes appear most frequently?
|
|
218
|
+
- Which have highest impact?
|
|
219
|
+
- Which are most actionable?
|
|
220
|
+
|
|
221
|
+
EXAMPLE CLUSTERS:
|
|
222
|
+
+--------------+ +--------------+ +--------------+
|
|
223
|
+
| Trust | | Efficiency | | Support |
|
|
224
|
+
| Concerns | | Pain Points | | Needs |
|
|
225
|
+
+--------------+ +--------------+ +--------------+
|
|
226
|
+
| "I don't | | "Takes too | | "Wish I |
|
|
227
|
+
| know if | | many clicks" | | could ask |
|
|
228
|
+
| it's safe" | | | | someone" |
|
|
229
|
+
| | | "Have to | | |
|
|
230
|
+
| "Where's | | enter same | | "Help docs |
|
|
231
|
+
| my data?" | | info twice" | | are useless" |
|
|
232
|
+
+--------------+ +--------------+ +--------------+
|
|
233
|
+
```
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
InsightGeneration {
|
|
238
|
+
Formula {
|
|
239
|
+
```
|
|
240
|
+
[User group] needs [need] because [motivation/context],
|
|
241
|
+
but currently [pain point], which means [consequence].
|
|
242
|
+
```
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
Example {
|
|
246
|
+
```
|
|
247
|
+
First-time users need clear guidance during setup because
|
|
248
|
+
they're unfamiliar with the product, but currently the
|
|
249
|
+
onboarding is overwhelming with too many options, which
|
|
250
|
+
means they abandon before experiencing value.
|
|
251
|
+
```
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
ValidationChecklist {
|
|
255
|
+
Based on evidence from multiple participants
|
|
256
|
+
Identifies a real need (not a solution)
|
|
257
|
+
Explains the underlying motivation
|
|
258
|
+
Connects to business impact
|
|
259
|
+
Is actionable
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
Personas {
|
|
265
|
+
PersonaTemplate {
|
|
266
|
+
```
|
|
267
|
+
NAME: [Fictional name]
|
|
268
|
+
TITLE: [Role/context]
|
|
269
|
+
ARCHETYPE: [2-3 word descriptor]
|
|
270
|
+
|
|
271
|
+
QUOTE:
|
|
272
|
+
"[Characteristic quote from research]"
|
|
273
|
+
|
|
274
|
+
DEMOGRAPHICS:
|
|
275
|
+
Age: [Range] Experience: [Level]
|
|
276
|
+
Context: [Work/home environment]
|
|
277
|
+
|
|
278
|
+
GOALS:
|
|
279
|
+
- Primary: [Main objective]
|
|
280
|
+
- Secondary: [Supporting objective]
|
|
281
|
+
|
|
282
|
+
PAIN POINTS:
|
|
283
|
+
- [Frustration 1]
|
|
284
|
+
- [Frustration 2]
|
|
285
|
+
- [Frustration 3]
|
|
286
|
+
|
|
287
|
+
BEHAVIORS:
|
|
288
|
+
- [How they approach problems]
|
|
289
|
+
- [Tools/resources they use]
|
|
290
|
+
- [Decision-making patterns]
|
|
291
|
+
|
|
292
|
+
SCENARIO:
|
|
293
|
+
[Brief story of them using your product]
|
|
294
|
+
```
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
PersonaDevelopmentProcess {
|
|
298
|
+
```
|
|
299
|
+
1. IDENTIFY VARIABLES
|
|
300
|
+
- What attributes differentiate users?
|
|
301
|
+
- Goals, behaviors, pain points, context
|
|
302
|
+
|
|
303
|
+
2. ANALYZE PATTERNS
|
|
304
|
+
- Cluster research participants
|
|
305
|
+
- Find natural groupings
|
|
306
|
+
- Validate with quantitative data if available
|
|
307
|
+
|
|
308
|
+
3. CREATE PERSONAS
|
|
309
|
+
- 3-5 personas is typical
|
|
310
|
+
- Each represents a distinct segment
|
|
311
|
+
- Include primary, secondary, negative persona
|
|
312
|
+
|
|
313
|
+
4. VALIDATE
|
|
314
|
+
- Review with stakeholders
|
|
315
|
+
- Check against additional research
|
|
316
|
+
- Refine based on feedback
|
|
317
|
+
|
|
318
|
+
5. ACTIVATE
|
|
319
|
+
- Share widely
|
|
320
|
+
- Reference in design discussions
|
|
321
|
+
- Update as you learn more
|
|
322
|
+
```
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
PersonaTypes {
|
|
326
|
+
| Type | Purpose | When to Create |
|
|
327
|
+
|------|---------|----------------|
|
|
328
|
+
| Primary | Main design target | Always |
|
|
329
|
+
| Secondary | Important but not primary focus | When segments differ significantly |
|
|
330
|
+
| Negative | Who we're NOT designing for | When edge cases distract |
|
|
331
|
+
| Proto-persona | Hypothesis before research | Early exploration |
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
JourneyMapping {
|
|
336
|
+
JourneyMapStructure {
|
|
337
|
+
```
|
|
338
|
+
JOURNEY MAP: [User Type] - [Scenario]
|
|
339
|
+
|
|
340
|
+
STAGE | Awareness | Consider | Purchase | Use | Renew
|
|
341
|
+
|
|
342
|
+
ACTIONS
|
|
343
|
+
What they | Sees ad | Visits | Selects | |
|
|
344
|
+
do | Asks | site | plan | |
|
|
345
|
+
| friend | Reads | Enters | |
|
|
346
|
+
| | reviews| payment| |
|
|
347
|
+
|
|
348
|
+
THOUGHTS
|
|
349
|
+
What they | "I need | "Is this | "This | |
|
|
350
|
+
think | to solve | the right| better be| |
|
|
351
|
+
| this | choice?" | worth it"| |
|
|
352
|
+
| problem" | | | |
|
|
353
|
+
|
|
354
|
+
EMOTIONS
|
|
355
|
+
How they | Hopeful | Confused | Anxious | |
|
|
356
|
+
feel | | | | |
|
|
357
|
+
|
|
358
|
+
TOUCHPOINTS| Social | Website | Checkout | |
|
|
359
|
+
| media | Reviews | Email | |
|
|
360
|
+
|
|
361
|
+
PAIN | | Too many | Payment | |
|
|
362
|
+
POINTS | | options | issues | |
|
|
363
|
+
|
|
364
|
+
OPPORT- | | Compare | Guest | |
|
|
365
|
+
UNITIES | | feature | checkout | |
|
|
366
|
+
```
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
JourneyMappingProcess {
|
|
370
|
+
```
|
|
371
|
+
1. DEFINE SCOPE
|
|
372
|
+
- Which persona?
|
|
373
|
+
- Which scenario?
|
|
374
|
+
- Start and end points?
|
|
375
|
+
|
|
376
|
+
2. GATHER DATA
|
|
377
|
+
- Interview transcripts
|
|
378
|
+
- Analytics data
|
|
379
|
+
- Support tickets
|
|
380
|
+
- Observation notes
|
|
381
|
+
|
|
382
|
+
3. MAP THE STAGES
|
|
383
|
+
- What are the major phases?
|
|
384
|
+
- What triggers transitions?
|
|
385
|
+
|
|
386
|
+
4. FILL IN LAYERS
|
|
387
|
+
- Actions at each stage
|
|
388
|
+
- Thoughts and questions
|
|
389
|
+
- Emotional state
|
|
390
|
+
- Touchpoints
|
|
391
|
+
|
|
392
|
+
5. IDENTIFY OPPORTUNITIES
|
|
393
|
+
- Where are the pain points?
|
|
394
|
+
- Where can we improve?
|
|
395
|
+
- What's the priority?
|
|
396
|
+
|
|
397
|
+
6. VALIDATE & SHARE
|
|
398
|
+
- Review with stakeholders
|
|
399
|
+
- Share findings
|
|
400
|
+
- Define action items
|
|
401
|
+
```
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
ResearchPlanning {
|
|
406
|
+
ResearchPlanTemplate {
|
|
407
|
+
```markdown
|
|
408
|
+
# Research Plan: [Study Name]
|
|
409
|
+
|
|
410
|
+
## Objectives
|
|
411
|
+
- Primary: [Main question to answer]
|
|
412
|
+
- Secondary: [Additional questions]
|
|
413
|
+
|
|
414
|
+
## Participants
|
|
415
|
+
- Target: [User segment]
|
|
416
|
+
- Sample size: [Number]
|
|
417
|
+
- Recruitment: [How to find them]
|
|
418
|
+
- Screener criteria: [Inclusion/exclusion]
|
|
419
|
+
|
|
420
|
+
## Methodology
|
|
421
|
+
- Method: [Interview/observation/testing]
|
|
422
|
+
- Duration: [Session length]
|
|
423
|
+
- Location: [Remote/in-person]
|
|
424
|
+
- Facilitator: [Who]
|
|
425
|
+
|
|
426
|
+
## Discussion Guide
|
|
427
|
+
- [Link to guide]
|
|
428
|
+
|
|
429
|
+
## Timeline
|
|
430
|
+
| Phase | Dates |
|
|
431
|
+
|-------|-------|
|
|
432
|
+
| Recruitment | [Dates] |
|
|
433
|
+
| Sessions | [Dates] |
|
|
434
|
+
| Analysis | [Dates] |
|
|
435
|
+
| Reporting | [Date] |
|
|
436
|
+
|
|
437
|
+
## Deliverables
|
|
438
|
+
- [ ] Raw notes
|
|
439
|
+
- [ ] Synthesis document
|
|
440
|
+
- [ ] Presentation
|
|
441
|
+
- [ ] Recommendations
|
|
442
|
+
```
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
ReportingResearch {
|
|
447
|
+
ResearchReportStructure {
|
|
448
|
+
```markdown
|
|
449
|
+
# Research Findings: [Study Name]
|
|
450
|
+
|
|
451
|
+
## Executive Summary
|
|
452
|
+
[1-paragraph overview for stakeholders who won't read details]
|
|
453
|
+
|
|
454
|
+
## Background
|
|
455
|
+
- Objectives
|
|
456
|
+
- Methodology
|
|
457
|
+
- Participants (demographics, no PII)
|
|
458
|
+
|
|
459
|
+
## Key Findings
|
|
460
|
+
|
|
461
|
+
### Finding 1: [Headline]
|
|
462
|
+
**Evidence**: [3+ supporting data points]
|
|
463
|
+
**Impact**: [Why this matters]
|
|
464
|
+
**Recommendation**: [What to do]
|
|
465
|
+
|
|
466
|
+
### Finding 2: [Headline]
|
|
467
|
+
...
|
|
468
|
+
|
|
469
|
+
## Detailed Observations
|
|
470
|
+
[Supporting details, quotes, examples]
|
|
471
|
+
|
|
472
|
+
## Recommendations Summary
|
|
473
|
+
| Priority | Finding | Recommendation | Effort |
|
|
474
|
+
|----------|---------|----------------|--------|
|
|
475
|
+
| 1 | [Finding] | [Action] | [Est.] |
|
|
476
|
+
|
|
477
|
+
## Appendix
|
|
478
|
+
- Screener
|
|
479
|
+
- Discussion guide
|
|
480
|
+
- Participant list (anonymized)
|
|
481
|
+
```
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
AntiPatterns {
|
|
486
|
+
| Anti-Pattern | Problem | Solution |
|
|
487
|
+
|--------------|---------|----------|
|
|
488
|
+
| Confirmation Bias | Seeking data that confirms beliefs | Ask open questions, look for disconfirming evidence |
|
|
489
|
+
| Leading Questions | Influencing responses | Review questions for bias |
|
|
490
|
+
| Recency Effect | Overweighting last interview | Synthesize across all participants |
|
|
491
|
+
| Sample Bias | Wrong participants | Carefully screen, diverse recruitment |
|
|
492
|
+
| Hypothetical Questions | "Would you...?" | Ask about past behavior instead |
|
|
493
|
+
| Shelf Research | No action on findings | Include action items, follow up |
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
BestPractices {
|
|
497
|
+
1. Observe behavior, not just words - What people do matters more than what they say
|
|
498
|
+
2. Ask about the past - "When did you last..." not "Would you..."
|
|
499
|
+
3. Follow the emotion - Pain points reveal opportunities
|
|
500
|
+
4. Triangulate - Validate findings across methods
|
|
501
|
+
5. Share broadly - Research only has value if it influences decisions
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
## References
|
|
506
|
+
|
|
507
|
+
- [Interview Question Bank](examples/interview-questions.md) - Sample questions by topic
|
|
508
|
+
- [Persona Examples](examples/personas.md) - Well-crafted persona examples
|