---
name: borghei/ux-researcher-designer
source: https://app.decimal.ai/s/borghei-ux-researcher-designer@1/SKILL.md
source_sha256: c774d392c291
---

# UX Researcher & Designer

Generate user personas from research data, create journey maps, plan usability tests, and synthesize research findings into actionable design recommendations.

---

## Table of Contents

- [Trigger Terms](#trigger-terms)
- [Workflows](#workflows)
  - [Workflow 1: Generate User Persona](#workflow-1-generate-user-persona)
  - [Workflow 2: Create Journey Map](#workflow-2-create-journey-map)
  - [Workflow 3: Plan Usability Test](#workflow-3-plan-usability-test)
  - [Workflow 4: Synthesize Research](#workflow-4-synthesize-research)
- [Tool Reference](#tool-reference)
- [Quick Reference Tables](#quick-reference-tables)
- [Knowledge Base](#knowledge-base)

---

## Trigger Terms

Use this skill when you need to:

- "create user persona"
- "generate persona from data"
- "build customer journey map"
- "map user journey"
- "plan usability test"
- "design usability study"
- "analyze user research"
- "synthesize interview findings"
- "identify user pain points"
- "define user archetypes"
- "calculate research sample size"
- "create empathy map"
- "identify user needs"

---

## Clarify First

Before generating the research artifact, confirm these inputs. If any is unknown or vague, ASK — do not assume:

- [ ] **Which deliverable** — persona, journey map, usability test plan, or research synthesis (sets which workflow and template applies)
- [ ] **Available data and volume** — analytics/interviews/surveys and how many users (drives persona confidence and proto- vs data-driven persona)
- [ ] **The user goal and scope** — the persona, the goal being mapped, and start/end (drives journey-map stages and research questions)

Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.

## Workflows

### Workflow 1: Generate User Persona

**Situation:** You have user data (analytics, surveys, interviews) and need to create a research-backed persona.

**Steps:**

1. **Prepare user data**

   Required format (JSON):
   ```json
   [
     {
       "user_id": "user_1",
       "age": 32,
       "usage_frequency": "daily",
       "features_used": ["dashboard", "reports", "export"],
       "primary_device": "desktop",
       "usage_context": "work",
       "tech_proficiency": 7,
       "pain_points": ["slow loading", "confusing UI"]
     }
   ]
   ```

2. **Run persona generator**
   ```bash
   # Human-readable output
   python scripts/persona_generator.py

   # JSON output for integration
   python scripts/persona_generator.py json
   ```

3. **Review generated components**

   | Component | What to Check |
   |-----------|---------------|
   | Archetype | Does it match the data patterns? |
   | Demographics | Are they derived from actual data? |
   | Goals | Are they specific and actionable? |
   | Frustrations | Do they include frequency counts? |
   | Design implications | Can designers act on these? |

4. **Validate persona**

   - Show to 3-5 real users: "Does this sound like you?"
   - Cross-check with support tickets
   - Verify against analytics data

5. **Reference:** See `references/persona-methodology.md` for validity criteria

### Proto-Persona Canvas (Lightweight Alternative)

When you lack research data but need a hypothesis-driven persona to align the team, use a proto-persona canvas. Proto-personas are assumption tools -- not validated truth -- meant to be tested and refined.

**Use when:** Starting a new initiative with no research budget, aligning a cross-functional team quickly, or creating a testable hypothesis about your user.

**Proto-Persona Canvas Template:**

```markdown
### [Alliterative Name] (e.g., "Careful Carlos")

**Bio & Demographics:**
- Age, geography, social status, career stage
- Online presence, leisure activities, partner status

**Quotes** (what they say, feel, think):
- "[Direct quote capturing their perspective]"
- "[Quote revealing frustration or aspiration]"

**Pains:**
- [Pain related to the problem space]
- [Pain related to current workarounds]

**What They're Trying to Accomplish:**
- [Observable behavior 1]
- [Observable behavior 2]

**Goals** (wants, needs, dreams):
- [Short-term goal]
- [Long-term aspiration]

**Attitudes & Influences:**
- Decision Making Authority: [Can they buy/adopt your solution?]
- Decision Influencers: [Who influences their decisions?]
- Beliefs & Attitudes: [What beliefs impact their choices?]

**Assumptions to Validate:**
- [Top assumption that must be true for this persona to be viable]
- [Second assumption]
- [Third assumption]
```

**Next steps after proto-persona:**
1. Generate interview questions to validate assumptions (Recommended)
2. Generate an anti-persona to define scope boundaries
3. Convert into a one-page stakeholder brief

---

### Workflow 2: Create Journey Map

**Situation:** You need to visualize the end-to-end user experience for a specific goal.

**Steps:**

1. **Define scope**

   | Element | Description |
   |---------|-------------|
   | Persona | Which user type |
   | Goal | What they're trying to achieve |
   | Start | Trigger that begins journey |
   | End | Success criteria |
   | Timeframe | Hours/days/weeks |

2. **Gather journey data**

   Sources:
   - User interviews (ask "walk me through...")
   - Session recordings
   - Analytics (funnel, drop-offs)
   - Support tickets

3. **Map the stages**

   Typical B2B SaaS stages:
   ```
   Awareness → Evaluation → Onboarding → Adoption → Advocacy
   ```

4. **Fill in layers for each stage**

   ```
   Stage: [Name]
   ├── Actions: What does user do?
   ├── Touchpoints: Where do they interact?
   ├── Emotions: How do they feel? (1-5)
   ├── Pain Points: What frustrates them?
   └── Opportunities: Where can we improve?
   ```

5. **Map three experience paths** (not just the happy path)

   | Stage | Happy Path | Fail Path | Difficult Path |
   |---|---|---|---|
   | Awareness | Finds product via search | Never discovers product | Finds competitor first |
   | Consideration | Clear value proposition | Confused by pricing | Needs manager approval |
   | Decision | Easy signup flow | Form errors, abandons | Legal review delays |
   | Delivery & Use | Smooth onboarding | Can't import data | Workaround needed |
   | Loyalty | Becomes advocate | Churns silently | Stays but complains |

   - **Happy Path:** Everything works as designed.
   - **Fail Path:** User cannot complete their goal and drops off.
   - **Difficult Path:** User completes the goal but with friction, workarounds, or frustration.

6. **Add KPIs and ownership per stage**

   | Stage | Leading KPI | Lagging KPI | Team Owner |
   |---|---|---|---|
   | Awareness | Site visits, ad impressions | Brand recall | Marketing |
   | Consideration | Demo requests, pricing page views | MQL conversion | Marketing/Sales |
   | Decision | Trial starts, contract sent | Close rate | Sales |
   | Use | Feature adoption, DAU | Retention rate | Product |
   | Loyalty | NPS, referral count | LTV, expansion revenue | Customer Success |

7. **Identify top friction points and interventions**

   For each friction point, document:

   | Friction Point | Why It Matters | Intervention | Expected Impact | Effort | Confidence |
   |---|---|---|---|---|---|
   | [Description] | [User/business impact] | [Proposed fix] | High/Med/Low | S/M/L | High/Med/Low |

   Priority Score = Frequency x Severity x Solvability

8. **Reference:** See `references/journey-mapping-guide.md` for templates

---

### Workflow 3: Plan Usability Test

**Situation:** You need to validate a design with real users.

**Steps:**

1. **Define research questions**

   Transform vague goals into testable questions:

   | Vague | Testable |
   |-------|----------|
   | "Is it easy to use?" | "Can users complete checkout in <3 min?" |
   | "Do users like it?" | "Will users choose Design A or B?" |
   | "Does it make sense?" | "Can users find settings without hints?" |

2. **Select method**

   | Method | Participants | Duration | Best For |
   |--------|--------------|----------|----------|
   | Moderated remote | 5-8 | 45-60 min | Deep insights |
   | Unmoderated remote | 10-20 | 15-20 min | Quick validation |
   | Guerrilla | 3-5 | 5-10 min | Rapid feedback |

3. **Design tasks**

   Good task format:
   ```
   SCENARIO: "Imagine you're planning a trip to Paris..."
   GOAL: "Book a hotel for 3 nights in your budget."
   SUCCESS: "You see the confirmation page."
   ```

   Task progression: Warm-up → Core → Secondary → Edge case → Free exploration

4. **Define success metrics**

   | Metric | Target |
   |--------|--------|
   | Completion rate | >80% |
   | Time on task | <2× expected |
   | Error rate | <15% |
   | Satisfaction | >4/5 |

5. **Prepare moderator guide**

   - Think-aloud instructions
   - Non-leading prompts
   - Post-task questions

6. **Reference:** See `references/usability-testing-frameworks.md` for full guide

---

### Workflow 4: Synthesize Research

**Situation:** You have raw research data (interviews, surveys, observations) and need actionable insights.

**Steps:**

1. **Code the data**

   Tag each data point:
   - `[GOAL]` - What they want to achieve
   - `[PAIN]` - What frustrates them
   - `[BEHAVIOR]` - What they actually do
   - `[CONTEXT]` - When/where they use product
   - `[QUOTE]` - Direct user words

2. **Cluster similar patterns**

   ```
   User A: Uses daily, advanced features, shortcuts
   User B: Uses daily, complex workflows, automation
   User C: Uses weekly, basic needs, occasional

   Cluster 1: A, B (Power Users)
   Cluster 2: C (Casual User)
   ```

3. **Calculate segment sizes**

   | Cluster | Users | % | Viability |
   |---------|-------|---|-----------|
   | Power Users | 18 | 36% | Primary persona |
   | Business Users | 15 | 30% | Primary persona |
   | Casual Users | 12 | 24% | Secondary persona |

4. **Extract key findings**

   For each theme:
   - Finding statement
   - Supporting evidence (quotes, data)
   - Frequency (X/Y participants)
   - Business impact
   - Recommendation

5. **Prioritize opportunities**

   | Factor | Score 1-5 |
   |--------|-----------|
   | Frequency | How often does this occur? |
   | Severity | How much does it hurt? |
   | Breadth | How many users affected? |
   | Solvability | Can we fix this? |

6. **Reference:** See `references/persona-methodology.md` for analysis framework

---

## Tool Reference

### persona_generator.py

Generates data-driven personas from user research data.

| Argument | Values | Default | Description |
|----------|--------|---------|-------------|
| format | (none), json | (none) | Output format |

**Sample Output:**

```
============================================================
PERSONA: Alex the Power User
============================================================

📝 A daily user who primarily uses the product for work purposes

Archetype: Power User
Quote: "I need tools that can keep up with my workflow"

👤 Demographics:
  • Age Range: 25-34
  • Location Type: Urban
  • Tech Proficiency: Advanced

🎯 Goals & Needs:
  • Complete tasks efficiently
  • Automate workflows
  • Access advanced features

😤 Frustrations:
  • Slow loading times (14/20 users)
  • No keyboard shortcuts
  • Limited API access

💡 Design Implications:
  → Optimize for speed and efficiency
  → Provide keyboard shortcuts and power features
  → Expose API and automation capabilities

📈 Data: Based on 45 users
    Confidence: High
```

**Archetypes Generated:**

| Archetype | Signals | Design Focus |
|-----------|---------|--------------|
| power_user | Daily use, 10+ features | Efficiency, customization |
| casual_user | Weekly use, 3-5 features | Simplicity, guidance |
| business_user | Work context, team use | Collaboration, reporting |
| mobile_first | Mobile primary | Touch, offline, speed |

**Output Components:**

| Component | Description |
|-----------|-------------|
| demographics | Age range, location, occupation, tech level |
| psychographics | Motivations, values, attitudes, lifestyle |
| behaviors | Usage patterns, feature preferences |
| needs_and_goals | Primary, secondary, functional, emotional |
| frustrations | Pain points with evidence |
| scenarios | Contextual usage stories |
| design_implications | Actionable recommendations |
| data_points | Sample size, confidence level |

---

## Quick Reference Tables

### Research Method Selection

| Question Type | Best Method | Sample Size |
|---------------|-------------|-------------|
| "What do users do?" | Analytics, observation | 100+ events |
| "Why do they do it?" | Interviews | 8-15 users |
| "How well can they do it?" | Usability test | 5-8 users |
| "What do they prefer?" | Survey, A/B test | 50+ users |
| "What do they feel?" | Diary study, interviews | 10-15 users |

### Persona Confidence Levels

| Sample Size | Confidence | Use Case |
|-------------|------------|----------|
| 5-10 users | Low | Exploratory |
| 11-30 users | Medium | Directional |
| 31+ users | High | Production |

### Usability Issue Severity

| Severity | Definition | Action |
|----------|------------|--------|
| 4 - Critical | Prevents task completion | Fix immediately |
| 3 - Major | Significant difficulty | Fix before release |
| 2 - Minor | Causes hesitation | Fix when possible |
| 1 - Cosmetic | Noticed but not problematic | Low priority |

### Interview Question Types

| Type | Example | Use For |
|------|---------|---------|
| Context | "Walk me through your typical day" | Understanding environment |
| Behavior | "Show me how you do X" | Observing actual actions |
| Goals | "What are you trying to achieve?" | Uncovering motivations |
| Pain | "What's the hardest part?" | Identifying frustrations |
| Reflection | "What would you change?" | Generating ideas |

---

## Knowledge Base

Detailed reference guides in `references/`:

| File | Content |
|------|---------|
| `persona-methodology.md` | Validity criteria, data collection, analysis framework |
| `journey-mapping-guide.md` | Mapping process, templates, opportunity identification |
| `example-personas.md` | 3 complete persona examples with data |
| `usability-testing-frameworks.md` | Test planning, task design, analysis |

---

## Validation Checklist

### Persona Quality
- [ ] Based on 20+ users (minimum)
- [ ] At least 2 data sources (quant + qual)
- [ ] Specific, actionable goals
- [ ] Frustrations include frequency counts
- [ ] Design implications are specific
- [ ] Confidence level stated

### Journey Map Quality
- [ ] Scope clearly defined (persona, goal, timeframe)
- [ ] Based on real user data, not assumptions
- [ ] All layers filled (actions, touchpoints, emotions)
- [ ] Pain points identified per stage
- [ ] Opportunities prioritized

### Usability Test Quality
- [ ] Research questions are testable
- [ ] Tasks are realistic scenarios, not instructions
- [ ] 5+ participants per design
- [ ] Success metrics defined
- [ ] Findings include severity ratings

### Research Synthesis Quality
- [ ] Data coded consistently
- [ ] Patterns based on 3+ data points
- [ ] Findings include evidence
- [ ] Recommendations are actionable
- [ ] Priorities justified

---

## Tool Reference

### persona_generator.py

Generates data-driven personas from user research data, classifying users into archetypes with demographics, psychographics, behaviors, goals, frustrations, and design implications.

| Argument | Type | Default | Description |
|----------|------|---------|-------------|
| `format` | positional | (none) | Add `json` for JSON output; omit for human-readable |

**Archetypes supported:** power_user, casual_user, business_user, mobile_first

**Output components:** name, archetype, tagline, quote, demographics, psychographics, behaviors, needs_and_goals, frustrations, scenarios, data_points, design_implications

```bash
python scripts/persona_generator.py           # Human-readable formatted output
python scripts/persona_generator.py json      # JSON for programmatic use
```

**Data input format (customize in script):**
```json
[{
  "user_id": "user_1",
  "age": 32,
  "usage_frequency": "daily",
  "features_used": ["dashboard", "reports", "export"],
  "primary_device": "desktop",
  "usage_context": "work",
  "tech_proficiency": 7,
  "pain_points": ["slow loading", "confusing UI"]
}]
```

---

## Troubleshooting

| Problem | Cause | Solution |
|---------|-------|----------|
| Persona confidence level is "Low" | Fewer than 20 users in sample data | Collect more data points; combine quantitative analytics with qualitative interviews |
| All users classified as same archetype | Insufficient variation in input data | Ensure data includes diverse usage frequencies, devices, and contexts |
| Frustrations are generic (fallback defaults) | Not enough pain_points in user data | Enrich user data with pain_points from interviews and support tickets |
| Design implications too vague | Patterns don't strongly differentiate | Add more behavioral signals (features_used, session duration, task completion) |
| Journey map has flat emotion curve | All stages scored similarly | Re-evaluate with actual user data; conduct contextual interviews per stage |
| Usability test sample too small | Fewer than 5 participants | 5 participants find ~85% of usability issues; recruit to minimum 5 |
| Research synthesis has no clear patterns | Data not coded consistently | Use consistent tagging scheme (GOAL, PAIN, BEHAVIOR, CONTEXT, QUOTE) |

---

## Success Criteria

| Criterion | Target | How to Measure |
|-----------|--------|----------------|
| Persona validity | Validated by 3+ real users ("sounds like me") | Post-creation validation interviews |
| Persona coverage | All key segments represented | Count of personas vs identified user segments |
| Data confidence level | "High" (31+ users) | persona_generator data_points.confidence_level |
| Research cadence | 5-8 interviews per segment per quarter | Count of completed research sessions |
| Insight-to-action rate | >70% of findings result in design changes | Track findings through to implementation |
| Usability issue resolution | All critical/major issues fixed before release | Issue severity tracking |
| Journey map freshness | Updated at least quarterly | Last-updated date on each journey map |

---

## Scope & Limitations

**In scope:**
- Data-driven persona generation from user research
- Archetype classification (power, casual, business, mobile-first)
- User journey mapping frameworks
- Usability test planning and scoring
- Research synthesis and coding methodology
- Interview question frameworks
- Empathy map and opportunity identification

**Out of scope:**
- Automated user interview recording/transcription
- Real-time analytics integration (use analytics platforms)
- Quantitative survey design and distribution (use Typeform/SurveyMonkey)
- Eye tracking or biometric data analysis
- AI-powered sentiment analysis (tool uses heuristic classification)
- Persona illustration or visual asset generation
- Accessibility auditing (see product-designer or design-system-lead skills)

---

## Integration Points

| Tool / Platform | Integration Method | Use Case |
|-----------------|-------------------|----------|
| Dovetail / Condens | Export research data, import persona JSON | Centralize research insights |
| Figma / Miro | Paste persona output as design artifact | Reference personas during design work |
| Notion / Confluence | Human-readable output | Document and share personas with team |
| product-manager-toolkit | Persona pain points inform RICE scoring | Connect user needs to feature prioritization |
| agile-product-owner | Persona data informs user story personas | Write stories grounded in research |
| product-designer | Persona feeds into journey mapping and usability test recruitment | End-to-end design research workflow |