git:20251226.8786fb8 to git:20260221.26d502d

136 added, 473 removed. Audit A to A.

---
name: user-research
description: User interview techniques, persona creation, journey mapping, and research synthesis patterns. Use when planning research studies, conducting interviews, creating personas, or translating research findings into actionable design recommendations.
---
- # User Research Methodology
-
- Systematic approaches for understanding user needs, behaviors, and motivations to inform product decisions.
-
- ## When to Activate
-
- - Planning user research studies
- - Conducting user interviews
- - Creating personas and journey maps
- - Synthesizing research findings
- - Translating insights into design recommendations
- - Validating product concepts with users
-
- ## Research Methods
-
- ### Method Selection Guide
-
- | Method | Best For | Sample Size | Time Investment |
- |--------|----------|-------------|-----------------|
- | **User Interviews** | Deep understanding, "why" | 5-12 users | 2-3 weeks |
- | **Contextual Inquiry** | Understanding environment | 3-6 users | 1-2 weeks |
- | **Usability Testing** | Interface validation | 5 users | 1 week |
- | **Surveys** | Quantitative validation | 100+ users | 1-2 weeks |
- | **Card Sorting** | Information architecture | 15-30 users | 1 week |
- | **Diary Studies** | Longitudinal behavior | 10-15 users | 2-4 weeks |
-
- ### User Interviews
-
- One-on-one conversations to understand user perspectives.
-
- #### Interview Structure (60 min)
-
- ```
- 1. INTRODUCTION (5 min)
- - Thank them for participating
- - Explain purpose (learning, not testing)
- - Request permission to record
- - Emphasize no right/wrong answers
-
- 2. WARM-UP (5 min)
- - Easy, open questions
- - Build rapport
- - "Tell me about your role..."
-
- 3. CONTEXT (10 min)
- - Current situation
- - Tools and processes
- - Goals and challenges
- - "Walk me through a typical day..."
-
- 4. DEEP DIVE (30 min)
- - Specific experiences
- - Pain points in detail
- - Workarounds and adaptations
- - "Tell me about a time when..."
-
- 5. EXPLORATION (5 min)
- - Reactions to concepts (if applicable)
- - Ideal scenarios
- - "If you could wave a magic wand..."
-
- 6. WRAP-UP (5 min)
- - Summary of key points
- - Anything else to add
- - Thank you and next steps
- ```
-
- #### Question Techniques
-
- | Technique | Purpose | Example |
- |-----------|---------|---------|
- | **Open-ended** | Encourage stories | "Tell me about..." |
- | **Follow-up** | Dig deeper | "Can you say more about that?" |
- | **Clarification** | Ensure understanding | "When you say X, what do you mean?" |
- | **Contrast** | Explore differences | "How does that compare to...?" |
- | **Projection** | Uncover desires | "What would ideal look like?" |
- | **Silence** | Let them think | [Wait 5-10 seconds after answers] |
-
- #### Questions to Avoid
-
- | Avoid | Problem | Better |
- |-------|---------|--------|
- | "Do you like...?" | Yes/no answer | "How do you feel about...?" |
- | "Would you use...?" | Hypothetical behavior ≠ real | "When did you last...?" |
- | "Don't you think...?" | Leading | "What do you think about...?" |
- | "What features...?" | Solution-focused | "What problems do you face?" |
-
- ### Contextual Inquiry
-
- Observe users in their natural environment.
-
- #### Protocol
-
- ```
- PREPARATION:
- - Define focus areas
- - Prepare observation guide
- - Get necessary permissions
- - Test recording equipment
-
- DURING OBSERVATION:
- 1. Arrive early, set up quietly
- 2. Start with brief introduction
- 3. Observe first, ask questions after
- 4. Note everything (actions, environment, emotions)
- 5. Use "teach me" framing
-
- OBSERVATION GUIDE:
- - What are they trying to accomplish?
- - What tools are they using?
- - What workarounds do they employ?
- - What frustrates them?
- - What's in their physical environment?
- - Who do they interact with?
-
- DEBRIEF:
- - Review observations with participant
- - Ask clarifying questions
- - Confirm interpretations
- ```
-
- #### Observation Notes Template
-
- ```
- ┌─────────────────────────────────────────────────────────────┐
- │ Participant: [ID] Date: [Date] Location: [Where] │
- ├─────────────────────────────────────────────────────────────┤
- │ Task: [What they were doing] │
- │ Time: [How long it took] │
- ├─────────────────────────────────────────────────────────────┤
- │ Actions Observed: │
- │ - [Step 1] │
- │ - [Step 2] │
- ├─────────────────────────────────────────────────────────────┤
- │ Tools Used: │
- │ - [Tool 1]: [How used] │
- │ - [Tool 2]: [How used] │
- ├─────────────────────────────────────────────────────────────┤
- │ Pain Points: │
- │ - [Frustration observed] │
- ├─────────────────────────────────────────────────────────────┤
- │ Quotes: │
- │ - "[Direct quote]" │
- ├─────────────────────────────────────────────────────────────┤
- │ Opportunities: │
- │ - [Potential improvement] │
- └─────────────────────────────────────────────────────────────┘
- ```
-
- ### Think-Aloud Protocol
-
- Have users verbalize thoughts while performing tasks.
-
- ```
- SETUP:
- "I'd like you to complete some tasks while telling me what you're
- thinking. There are no wrong answers - I'm testing the design,
- not you. Please say out loud whatever you're looking at, thinking,
- or feeling as you go through."
-
- PROMPTS DURING SESSION:
- - "What are you thinking right now?"
- - "What do you expect to happen?"
- - "What are you looking for?"
- - "Why did you click there?"
- - "How does this compare to what you expected?"
-
- AVOID:
- - Helping them complete tasks
- - Confirming if they're right/wrong
- - Explaining how things work
- - Interrupting their flow too much
- ```
-
- ## Research Synthesis
-
- ### Affinity Mapping
-
- Group observations to find patterns.
-
- ```
- PROCESS:
-
- 1. CAPTURE (Individual)
- - Write one observation per sticky note
- - Use participant quotes
- - Include source identifier
-
- 2. CLUSTER (Group)
- - Spread all notes on wall/board
- - Group by similarity
- - Don't pre-define categories
- - Move notes until clusters emerge
-
- 3. NAME (Group)
- - Label each cluster
- - Labels should describe the theme
- - Not too broad, not too specific
-
- 4. PRIORITIZE
- - Which themes appear most frequently?
- - Which have highest impact?
- - Which are most actionable?
-
- EXAMPLE CLUSTERS:
- ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
- │ Trust │ │ Efficiency │ │ Support │
- │ Concerns │ │ Pain Points │ │ Needs │
- ├─────────────┤ ├─────────────┤ ├─────────────┤
- │ "I don't │ │ "Takes too │ │ "Wish I │
- │ know if │ │ many clicks"│ │ could ask │
- │ it's safe" │ │ │ │ someone" │
- │ │ │ "Have to │ │ │
- │ "Where's │ │ enter same │ │ "Help docs │
- │ my data?" │ │ info twice" │ │ are useless"│
- └─────────────┘ └─────────────┘ └─────────────┘
- ```
-
- ### Insight Generation
-
- Transform observations into actionable insights.
-
- ```
- INSIGHT FORMULA:
-
- [User group] needs [need] because [motivation/context],
- but currently [pain point], which means [consequence].
-
- EXAMPLE:
-
- First-time users need clear guidance during setup because
- they're unfamiliar with the product, but currently the
- onboarding is overwhelming with too many options, which
- means they abandon before experiencing value.
-
- VALIDATION CHECKLIST:
- - [ ] Based on evidence from multiple participants
- - [ ] Identifies a real need (not a solution)
- - [ ] Explains the underlying motivation
- - [ ] Connects to business impact
- - [ ] Is actionable
- ```
-
- ## Personas
-
- ### Persona Creation
-
- Research-based archetypes representing user segments.
-
- #### Persona Template
-
- ```
- ┌─────────────────────────────────────────────────────────────┐
- │ [PHOTO PLACEHOLDER] │
- │ │
- │ NAME: [Fictional name] │
- │ TITLE: [Role/context] │
- │ ARCHETYPE: [2-3 word descriptor] │
- ├─────────────────────────────────────────────────────────────┤
- │ QUOTE: │
- │ "[Characteristic quote from research]" │
- ├─────────────────────────────────────────────────────────────┤
- │ DEMOGRAPHICS: │
- │ Age: [Range] Experience: [Level] │
- │ Context: [Work/home environment] │
- ├─────────────────────────────────────────────────────────────┤
- │ GOALS: │
- │ - Primary: [Main objective] │
- │ - Secondary: [Supporting objective] │
- ├─────────────────────────────────────────────────────────────┤
- │ PAIN POINTS: │
- │ - [Frustration 1] │
- │ - [Frustration 2] │
- │ - [Frustration 3] │
- ├─────────────────────────────────────────────────────────────┤
- │ BEHAVIORS: │
- │ - [How they approach problems] │
- │ - [Tools/resources they use] │
- │ - [Decision-making patterns] │
- ├─────────────────────────────────────────────────────────────┤
- │ SCENARIO: │
- │ [Brief story of them using your product] │
- └─────────────────────────────────────────────────────────────┘
- ```
-
- #### Persona Development Process
-
- ```
- 1. IDENTIFY VARIABLES
- - What attributes differentiate users?
- - Goals, behaviors, pain points, context
-
- 2. ANALYZE PATTERNS
- - Cluster research participants
- - Find natural groupings
- - Validate with quantitative data if available
-
- 3. CREATE PERSONAS
- - 3-5 personas is typical
- - Each represents a distinct segment
- - Include primary, secondary, negative persona
-
- 4. VALIDATE
- - Review with stakeholders
- - Check against additional research
- - Refine based on feedback
-
- 5. ACTIVATE
- - Share widely
- - Reference in design discussions
- - Update as you learn more
- ```
-
- #### Persona Types
-
- | Type | Purpose | When to Create |
- |------|---------|----------------|
- | **Primary** | Main design target | Always |
- | **Secondary** | Important but not primary focus | When segments differ significantly |
- | **Negative** | Who we're NOT designing for | When edge cases distract |
- | **Proto-persona** | Hypothesis before research | Early exploration |
-
- ## Journey Mapping
-
- ### Journey Map Structure
-
- ```
- ┌─────────────────────────────────────────────────────────────┐
- │ JOURNEY MAP: [User Type] - [Scenario] │
- ├─────────────────────────────────────────────────────────────┤
- │ STAGE │ Awareness │ Consider │ Purchase │ Use │ Renew │
- ├─────────────────────────────────────────────────────────────┤
- │ ACTIONS │ │ │ │ │ │
- │ What they │ • Sees ad │ • Visits │ • Selects│ │ │
- │ do │ • Asks │ site │ plan │ │ │
- │ │ friend │ • Reads │ • Enters │ │ │
- │ │ │ reviews│ payment│ │ │
- ├─────────────────────────────────────────────────────────────┤
- │ THOUGHTS │ │ │ │ │ │
- │ What they │ "I need │ "Is this │ "This │ │ │
- │ think │ to solve │ the right│ better be│ │ │
- │ │ this │ choice?" │ worth it"│ │ │
- │ │ problem" │ │ │ │ │
- ├─────────────────────────────────────────────────────────────┤
- │ EMOTIONS │ 😊 │ 😐 │ 😟 │ │ │
- │ How they │ Hopeful │ Confused │ Anxious │ │ │
- │ feel │ │ │ │ │ │
- ├─────────────────────────────────────────────────────────────┤
- │ TOUCH- │ Social │ Website │ Checkout │ │ │
- │ POINTS │ media │ Reviews │ Email │ │ │
- ├─────────────────────────────────────────────────────────────┤
- │ PAIN │ │ Too many │ Payment │ │ │
- │ POINTS │ │ options │ issues │ │ │
- ├─────────────────────────────────────────────────────────────┤
- │ OPPORT- │ │ Compare │ Guest │ │ │
- │ UNITIES │ │ feature │ checkout │ │ │
- └─────────────────────────────────────────────────────────────┘
- ```
-
- ### Journey Mapping Process
-
- ```
- 1. DEFINE SCOPE
- - Which persona?
- - Which scenario?
- - Start and end points?
-
- 2. GATHER DATA
- - Interview transcripts
- - Analytics data
- - Support tickets
- - Observation notes
-
- 3. MAP THE STAGES
- - What are the major phases?
- - What triggers transitions?
-
- 4. FILL IN LAYERS
- - Actions at each stage
- - Thoughts and questions
- - Emotional state
- - Touchpoints
-
- 5. IDENTIFY OPPORTUNITIES
- - Where are the pain points?
- - Where can we improve?
- - What's the priority?
-
- 6. VALIDATE & SHARE
- - Review with stakeholders
- - Share findings
- - Define action items
- ```
-
- ## Research Planning
-
- ### Research Plan Template
+ ## Persona
- ```markdown
- # Research Plan: [Study Name]
+ Act as a user research methodologist who designs and executes rigorous qualitative and quantitative studies. Expert in interview facilitation, contextual inquiry, think-aloud testing, persona development, journey mapping, and research synthesis.
- ## Objectives
- - Primary: [Main question to answer]
- - Secondary: [Additional questions]
+ ## Interface
- ## Participants
- - Target: [User segment]
- - Sample size: [Number]
- - Recruitment: [How to find them]
- - Screener criteria: [Inclusion/exclusion]
+ ResearchPlan {
+ objective: String
+ questions: [String] // primary + secondary research questions
+ method: INTERVIEWS | CONTEXTUAL_INQUIRY | USABILITY_TESTING | SURVEYS | CARD_SORTING | DIARY_STUDIES
+ participants: { target: String, sampleSize: Number, screener: String }
+ timeline: { recruitment: String, sessions: String, analysis: String, reporting: String }
+ }
- ## Methodology
- - Method: [Interview/observation/testing]
- - Duration: [Session length]
- - Location: [Remote/in-person]
- - Facilitator: [Who]
+ ResearchFinding {
+ headline: String
+ evidence: [String] // 3+ supporting data points
+ impact: String // why it matters
+ recommendation: String // what to do about it
+ priority: HIGH | MEDIUM | LOW
+ }
- ## Discussion Guide
- - [Link to guide]
+ BehavioralPersona {
+ name: String
+ archetype: String // 2-3 word descriptor
+ goals: { primary: String, secondary: String }
+ painPoints: [String]
+ behaviors: [String]
+ scenario: String // brief usage story
+ quote: String // verbatim from research
+ }
- ## Timeline
- | Phase | Dates |
- |-------|-------|
- | Recruitment | [Dates] |
- | Sessions | [Dates] |
- | Analysis | [Dates] |
- | Reporting | [Date] |
+ JourneyMap {
+ persona: String
+ scenario: String
+ stages: [{ name: String, actions: [String], thoughts: [String], emotion: String, painPoints: [String], opportunities: [String] }]
+ }
- ## Deliverables
- - [ ] Raw notes
- - [ ] Synthesis document
- - [ ] Presentation
- - [ ] Recommendations
- ```
+ fn selectMethod(objective)
+ fn planResearch(method)
+ fn conductResearch(plan)
+ fn synthesize(rawData)
+ fn createDeliverables(insights)
- ## Reporting Research
+ ## Constraints
- ### Research Report Structure
+ Constraints {
+ require {
+ Choose methods based on what you need to learn and product lifecycle stage.
+ Base all personas on observed research data from multiple participants.
+ Validate journey maps against analytics, interviews, and support data.
+ Every finding must include evidence, impact, and recommendation.
+ Follow structured protocols for each research method.
+ }
+ never {
+ Ask leading questions that bias participant responses.
+ Accept hypothetical "would you" answers as behavioral evidence.
+ Create personas from assumptions or demographics alone.
+ Present findings without prioritized, actionable recommendations.
+ Help participants complete tasks during usability testing.
+ }
+ }
- ```markdown
- # Research Findings: [Study Name]
+ ## State
- ## Executive Summary
- [1-paragraph overview for stakeholders who won't read details]
+ State {
+ objective = $ARGUMENTS
+ method = null // selected by selectMethod
+ plan: ResearchPlan // built by planResearch
+ rawData = [] // collected by conductResearch
+ findings = [] // generated by synthesize
+ deliverables = [] // created by createDeliverables
+ }
- ## Background
- - Objectives
- - Methodology
- - Participants (demographics, no PII)
+ ## Reference Materials
- ## Key Findings
+ See `reference/` directory for detailed methodology:
+ - [Interview Methods](reference/interview-methods.md) — Structure, question techniques, questions to avoid
+ - [Observation Methods](reference/observation-methods.md) — Contextual inquiry protocol, think-aloud testing
+ - [Synthesis Methods](reference/synthesis-methods.md) — Affinity mapping, insight generation formula
+ - [Persona Guide](reference/persona-guide.md) — Persona template, development process, persona types
+ - [Journey Mapping](reference/journey-mapping.md) — Map structure, mapping process, visualization
+ - [Planning and Reporting](reference/planning-reporting.md) — Research plan template, report structure, anti-patterns
- ### Finding 1: [Headline]
- **Evidence**: [3+ supporting data points]
- **Impact**: [Why this matters]
- **Recommendation**: [What to do]
+ ## Workflow
- ### Finding 2: [Headline]
- ...
+ fn selectMethod(objective) {
+ match (objective, context) {
+ (deepUnderstanding, "why") => INTERVIEWS (5-12 users, 2-3 weeks)
+ (environmentContext, "how") => CONTEXTUAL_INQUIRY (3-6 users, 1-2 weeks)
+ (interfaceValidation, _) => USABILITY_TESTING (5 users, 1 week)
+ (quantitativeValidation, _) => SURVEYS (100+ users, 1-2 weeks)
+ (informationArchitecture, _) => CARD_SORTING (15-30 users, 1 week)
+ (longitudinalBehavior, _) => DIARY_STUDIES (10-15 users, 2-4 weeks)
+ }
+ }
- ## Detailed Observations
- [Supporting details, quotes, examples]
+ fn planResearch(method) {
+ Load reference/planning-reporting.md for plan template.
- ## Recommendations Summary
- | Priority | Finding | Recommendation | Effort |
- |----------|---------|----------------|--------|
- | 1 | [Finding] | [Action] | [Est.] |
+ Build ResearchPlan:
+ Define research questions (primary + secondary)
+ Determine participant criteria and recruitment strategy
+ Set session duration and location (remote/in-person)
+ Create discussion guide or task scenarios
+ Establish timeline across all phases
+ }
- ## Appendix
- - Screener
- - Discussion guide
- - Participant list (anonymized)
- ```
+ fn conductResearch(plan) {
+ match (plan.method) {
+ INTERVIEWS => load reference/interview-methods.md, follow structured protocol
+ CONTEXTUAL_INQUIRY => load reference/observation-methods.md, use observation guide
+ USABILITY_TESTING => load reference/observation-methods.md, use think-aloud protocol
+ SURVEYS => distribute and collect responses
+ CARD_SORTING => facilitate sorting sessions
+ DIARY_STUDIES => monitor longitudinal entries
+ }
- ## Anti-Patterns
+ Constraints {
+ require {
+ Record sessions with consent.
+ Capture both stated responses and observed behaviors.
+ Note discrepancies between what users say and do.
+ }
+ }
+ }
- | Anti-Pattern | Problem | Solution |
- |--------------|---------|----------|
- | **Confirmation Bias** | Seeking data that confirms beliefs | Ask open questions, look for disconfirming evidence |
- | **Leading Questions** | Influencing responses | Review questions for bias |
- | **Recency Effect** | Overweighting last interview | Synthesize across all participants |
- | **Sample Bias** | Wrong participants | Carefully screen, diverse recruitment |
- | **Hypothetical Questions** | "Would you...?" | Ask about past behavior instead |
- | **Shelf Research** | No action on findings | Include action items, follow up |
+ fn synthesize(rawData) {
+ Load reference/synthesis-methods.md for process.
- ## Best Practices
+ rawData
+ |> captureObservations(onePerNote, includeSource)
+ |> clusterBySimilarity(emergentCategories)
+ |> labelThemes
+ |> generateInsights(formula: "[group] needs [need] because [context], but [pain point] means [consequence]")
+ |> validateInsights(multipleParticipants, identifiesNeed, connectsToImpact, isActionable)
+ |> prioritize(by: [frequency, impact, actionability])
+ }
- 1. **Observe behavior, not just words** - What people do matters more than what they say
- 2. **Ask about the past** - "When did you last..." not "Would you..."
- 3. **Follow the emotion** - Pain points reveal opportunities
- 4. **Triangulate** - Validate findings across methods
- 5. **Share broadly** - Research only has value if it influences decisions
+ fn createDeliverables(insights) {
+ match (objective) {
+ needsPersonas => load reference/persona-guide.md, build 3-5 behavioral personas
+ needsJourneyMap => load reference/journey-mapping.md, map stages with emotional curve
+ needsReport => load reference/planning-reporting.md, format structured report
+ default => prioritized findings with recommendations
+ }
- ## References
+ Constraints {
+ require {
+ Lead with insights, not methodology.
+ Include participant voices (direct quotes).
+ Connect findings to business outcomes.
+ Provide clear, prioritized recommendations.
+ }
+ }
+ }
- - [Interview Question Bank](examples/interview-questions.md) - Sample questions by topic
- - [Persona Examples](examples/personas.md) - Well-crafted persona examples
+ userResearch(objective) {
+ selectMethod(objective) |> planResearch |> conductResearch |> synthesize |> createDeliverables
+ }