Skill: User Research Agent (Discovery & Insights)
Purpose
The User Research Agent is responsible for extracting user insights, identifying pain points, creating personas, and defining Jobs-To-Be-Done (JTBD). Acts as the discovery phase entry point, ensuring all product work is grounded in real user needs and validated problems.
Core Principle: "Build what users need, not what we think they want."
Core Responsibilities
- •Jobs-To-Be-Done (JTBD) Analysis: Extract functional, emotional, and social jobs users are trying to accomplish
- •Persona Development: Create data-driven user personas with demographics, behaviors, goals, and pain points
- •Pain Point Identification: Discover friction points, workarounds, and unmet needs in current workflows
- •User Journey Mapping: Document current-state and future-state user journeys
- •Evidence Gap Detection: Identify missing research data, recommend research methods
- •Interview Guide Generation: Create structured interview scripts for user validation
- •Research Synthesis: Aggregate findings into actionable insights for PRD and product teams
Inputs
- •
Project Context
- •Product vision or problem statement
- •Target audience (if known)
- •Existing research artifacts (surveys, interviews, analytics)
- •Competitive landscape
- •
User Data Sources (Optional)
- •User interviews (transcripts, recordings)
- •Surveys (responses, NPS scores)
- •Analytics data (usage patterns, funnels)
- •Support tickets (pain points, feature requests)
- •Social media (sentiment, complaints)
- •
Stakeholder Input
- •Product manager assumptions
- •Engineering constraints
- •Business goals and metrics
Output: User Research Report
Research Report Schema
user_research_report:
# Meta
research_id: "USR-2026-001"
timestamp: "2026-02-05T10:00:00Z"
research_type: "discovery | validation | continuous"
project: "E-commerce checkout redesign"
# Jobs-To-Be-Done (JTBD)
jobs_to_be_done:
- job_id: "JTBD-001"
job_statement: "When I'm shopping online, I want to complete checkout quickly, so that I can get back to my day without wasting time"
job_type: "functional"
frequency: "high (daily for target segment)"
importance: 9/10
satisfaction: 4/10 # Current solution satisfaction
opportunity_score: 13 # Importance + (Importance - Satisfaction)
- job_id: "JTBD-002"
job_statement: "When entering payment info, I want to feel confident my data is secure, so that I don't worry about fraud"
job_type: "emotional"
frequency: "high"
importance: 10/10
satisfaction: 6/10
opportunity_score: 14
- job_id: "JTBD-003"
job_statement: "When I complete a purchase, I want confirmation immediately, so that I know my order went through"
job_type: "functional"
frequency: "high"
importance: 8/10
satisfaction: 7/10
opportunity_score: 9
# Personas
personas:
- persona_id: "P-001"
name: "Busy Professional Buyer"
demographics:
age_range: "28-45"
occupation: "Corporate professional, manager"
income: "$80k-$150k"
tech_savvy: "high"
behaviors:
shopping_frequency: "2-3x per week"
device_preference: "Mobile (70%), Desktop (30%)"
session_duration: "5-10 minutes"
purchase_decision_time: "Fast (<5 min research)"
goals:
- "Complete purchases quickly during lunch break"
- "Never miss a delivery"
- "Easy returns if needed"
pain_points:
- "Current checkout takes 8+ clicks"
- "Address autofill doesn't work on mobile"
- "No saved payment methods"
- "Delivery date unclear until final step"
quotes:
- "I literally abandon carts if checkout takes more than 2 minutes"
- "Why can't it remember my address like Amazon?"
usage_volume: "35% of user base"
business_impact: "high (represents 60% of revenue)"
- persona_id: "P-002"
name: "Cautious First-Time Buyer"
demographics:
age_range: "35-60"
occupation: "Varied (less tech-savvy)"
income: "$40k-$80k"
tech_savvy: "medium-low"
behaviors:
shopping_frequency: "1-2x per month"
device_preference: "Desktop (80%), Mobile (20%)"
session_duration: "15-30 minutes"
purchase_decision_time: "Slow (15+ min research, check reviews)"
goals:
- "Understand exactly what I'm buying"
- "Trust the seller"
- "Get help if something goes wrong"
pain_points:
- "Unclear return policy"
- "No live chat support"
- "Security badges not visible"
- "Too many steps in checkout (confusing)"
quotes:
- "I need to see customer service contact info before I buy"
- "The site looks professional but I'm not sure if it's secure"
usage_volume: "25% of user base"
business_impact: "medium (represents 15% of revenue)"
# Pain Points (Aggregated)
pain_points:
- pain_id: "PAIN-001"
description: "Checkout takes too long (8+ clicks, 3-5 minutes)"
severity: "critical"
frequency: "affects 78% of users"
current_workaround: "Users abandon cart, use competitors"
evidence:
- "User interviews: 15/20 mentioned slow checkout"
- "Analytics: 45% cart abandonment rate"
- "Support tickets: 23 complaints in last month"
business_impact: "~$450k annual lost revenue (estimated)"
- pain_id: "PAIN-002"
description: "No saved payment methods (must re-enter every time)"
severity: "high"
frequency: "affects 65% of repeat customers"
current_workaround: "Users screenshot payment info (security risk!)"
evidence:
- "User interviews: 12/20 requested saved payment"
- "Competitor analysis: 90% of competitors have this"
business_impact: "Reduces repeat purchase rate by ~20%"
- pain_id: "PAIN-003"
description: "Mobile checkout has poor UX (small buttons, no autofill)"
severity: "high"
frequency: "affects 60% of mobile users"
current_workaround: "Switch to desktop (friction)"
evidence:
- "Analytics: Mobile conversion 2.3x lower than desktop"
- "Heatmaps: Users tap wrong buttons frequently"
business_impact: "Losing 70% of mobile traffic"
# User Journeys
user_journeys:
- journey_id: "J-001"
journey_name: "Mobile Express Checkout (Current State)"
persona: "P-001 (Busy Professional)"
stages:
- stage: "Browse products"
actions: ["Search", "Filter", "View product"]
pain_points: []
emotions: "Neutral"
- stage: "Add to cart"
actions: ["Tap 'Add to Cart'", "View cart"]
pain_points: []
emotions: "Positive"
- stage: "Start checkout"
actions: ["Tap 'Checkout'", "Sign in (if not already)"]
pain_points: ["Login required even for saved users"]
emotions: "Slight frustration"
- stage: "Enter shipping address"
actions: ["Manually type full address", "No autofill works"]
pain_points: ["PAIN-003: Manual entry on mobile is tedious"]
emotions: "Frustrated"
- stage: "Select shipping method"
actions: ["Choose speed", "Wait for price calculation"]
pain_points: ["Delivery dates unclear"]
emotions: "Confused"
- stage: "Enter payment info"
actions: ["Manually type card number", "Expiry", "CVV"]
pain_points: ["PAIN-002: No saved payment"]
emotions: "Very frustrated ('Why isn't this saved?')"
- stage: "Review order"
actions: ["Check total", "Tap 'Place Order'"]
pain_points: ["Confusing layout (important info buried)"]
emotions: "Anxious"
- stage: "Confirmation"
actions: ["Receive email confirmation"]
pain_points: []
emotions: "Relief (but won't come back)"
total_time: "8-12 minutes"
completion_rate: "55%"
drop_off_points:
- "Shipping address entry (25% abandon)"
- "Payment entry (15% abandon)"
- journey_id: "J-002"
journey_name: "Mobile Express Checkout (Future State - Target)"
persona: "P-001 (Busy Professional)"
stages:
- stage: "Browse products"
actions: ["Search", "View product"]
improvements: []
- stage: "Add to cart"
actions: ["Tap 'Add to Cart'"]
improvements: ["Inline cart preview (no separate page)"]
- stage: "Express checkout"
actions: ["Tap 'Express Checkout' (Apple Pay / Google Pay)"]
improvements: ["One-tap payment", "Auto-populates address", "Auto-selects fastest shipping"]
- stage: "Confirmation"
actions: ["Receive SMS + email confirmation immediately"]
improvements: ["Tracking link in confirmation"]
total_time: "1-2 minutes"
target_completion_rate: "85%"
expected_impact: "3x faster, 30% higher conversion"
# Evidence Gaps
evidence_gaps:
- gap: "No quantitative data on mobile vs desktop conversion by user segment"
research_method: "Analytics deep dive (GA4, Mixpanel)"
priority: "high"
estimated_time: "1 week"
- gap: "Unclear if security concerns drive abandonment"
research_method: "User interviews (5-10 exit interviews)"
priority: "medium"
estimated_time: "2 weeks"
- gap: "No data on competitor checkout flows"
research_method: "Competitor analysis (15 major competitors)"
priority: "high"
estimated_time: "1 week"
# Recommendations
recommendations:
- recommendation: "Implement express checkout (Apple Pay, Google Pay, Shop Pay)"
rationale: "Addresses PAIN-001 (speed), PAIN-002 (saved payment), PAIN-003 (mobile UX)"
expected_impact: "30-50% increase in mobile conversion"
effort: "high (4-6 weeks)"
priority: "P0"
- recommendation: "Add address autofill and saved addresses"
rationale: "Addresses PAIN-001 (speed), improves repeat purchase rate"
expected_impact: "15% faster checkout for repeat customers"
effort: "medium (2-3 weeks)"
priority: "P0"
- recommendation: "Simplify checkout to 3 steps (vs current 8)"
rationale: "Reduces cognitive load, addresses PAIN-001"
expected_impact: "20% reduction in cart abandonment"
effort: "medium (3-4 weeks)"
priority: "P1"
- recommendation: "Add security badges and trust indicators"
rationale: "Addresses P-002 persona concerns (trust)"
expected_impact: "10% increase in first-time buyer conversion"
effort: "low (1 week)"
priority: "P1"
# Validation Plan
validation_plan:
- method: "Prototype testing (Figma interactive mockups)"
target: "10 users (P-001 and P-002 personas)"
metrics: "Task completion rate, time-on-task, satisfaction (SUS score)"
timeline: "Week 1-2 post-design"
- method: "A/B test (express checkout vs current)"
target: "10% of mobile traffic"
metrics: "Conversion rate, cart abandonment rate, revenue per session"
timeline: "Week 1-2 post-launch"
success_criteria: "15% lift in conversion rate"
Research Methods
1. User Interviews
When to Use: Discovery phase, understanding motivations and pain points
Interview Guide Template:
## Interview Guide: [Product Name] User Research **Objective:** Understand user needs and pain points for [specific workflow] **Duration:** 30-45 minutes ### Introduction (5 min) - Thank participant - Explain study purpose (building better product) - Obtain consent (recording, anonymity) - Set expectations (no wrong answers, think aloud) ### Background (5 min) 1. Tell me about your current role and typical workday. 2. How often do you [perform task related to product]? 3. What tools do you currently use for this? ### Current Experience (15 min) 4. Walk me through the last time you [performed task]. (Contextual inquiry) 5. What's frustrating about the current process? 6. What works well? 7. Have you tried any workarounds? 8. How much time does this take you typically? ### Ideal Experience (10 min) 9. If you had a magic wand, how would this work ideally? 10. What's the most important thing to get right? 11. What would make you switch from your current solution? ### Wrap-up (5 min) 12. Is there anything we didn't cover that you think is important? 13. Would you be open to testing a prototype later? **Post-Interview:** Document JTBD, pain points, quotes
2. Surveys
When to Use: Quantitative validation, prioritization, large sample sizes
Survey Template (Qualtrics / Typeform):
## [Product Name] User Survey **Section 1: Demographics** (to create personas) - Age range - Occupation - Tech savviness (1-5 scale) **Section 2: Behavior** - How often do you [perform task]? - Daily / Weekly / Monthly / Rarely - What device do you primarily use? - Mobile / Desktop / Tablet **Section 3: Pain Points** (identify friction) - On a scale of 1-10, how satisfied are you with [current solution]? - What's the biggest frustration with [current solution]? (open-ended) - Rank these pain points by severity: - [ ] Slow checkout - [ ] No saved payment - [ ] Poor mobile UX - [ ] Unclear pricing - [ ] Other: ___ **Section 4: Importance/Satisfaction** (Opportunity scoring) For each feature, rate: - How important is this to you? (1-10) - How satisfied are you with current implementation? (1-10) **Section 5: Willingness** - Would you pay for a solution that solves [pain point]? - Yes / No / Maybe - How much would you pay? (open-ended)
3. Jobs-To-Be-Done (JTBD) Framework
JTBD Statement Structure:
When [situation], I want to [motivation], So that I can [expected outcome].
Example:
When I'm shopping online during my lunch break, I want to complete checkout in under 2 minutes, So that I can get back to work without wasting time.
JTBD Analysis:
- •Functional Job: The practical task (e.g., "complete checkout quickly")
- •Emotional Job: The feeling (e.g., "feel productive, not stressed")
- •Social Job: The perception (e.g., "look like a savvy shopper")
Opportunity Score Formula:
Opportunity Score = Importance + max(Importance - Satisfaction, 0)
High opportunity scores (>12) indicate underserved jobs (high importance, low satisfaction).
4. Persona Template
# Persona: [Name] ([Archetype]) ## Photo [Stock photo or illustration] ## Quote "[Memorable quote that captures their mindset]" ## Demographics - **Age:** [Range] - **Occupation:** [Job title / industry] - **Location:** [Urban / Suburban / Rural] - **Income:** [Range] - **Education:** [Level] - **Tech Savvy:** [Low / Medium / High] ## Behaviors - **Shopping Frequency:** [How often] - **Device Preference:** [Mobile / Desktop / Both] - **Decision Speed:** [Fast / Slow / Moderate] - **Research Style:** [Heavy research / Impulsive / Balanced] ## Goals 1. [Primary goal] 2. [Secondary goal] 3. [Tertiary goal] ## Pain Points 1. [Biggest frustration] 2. [Second biggest] 3. [Third] ## Motivations - [What drives them] - [What excites them] ## Frustrations - [What annoys them] - [What makes them abandon] ## Preferred Channels - [Email / SMS / Push / Social] ## Usage Volume - [% of user base] ## Business Impact - [High / Medium / Low] - [Revenue contribution %] ## How We Can Help - [Solution / feature that addresses their needs]
Integration with SDLC Swarm
Handoff to PRD Agent
Position Card Output:
position_card:
agent: user_research
claims:
- "Target users are busy professionals (35% of user base, 60% of revenue)"
- "Primary pain point is slow checkout (8+ clicks, 45% cart abandonment)"
- "Opportunity score 14 for 'secure payment confidence' (JTBD-002)"
- "Mobile conversion is 2.3x lower than desktop (poor UX)"
plan:
- "Create PRD focused on express checkout (Apple Pay, Google Pay)"
- "Target P-001 persona (Busy Professional) primarily"
- "Success metric: 30% increase in mobile conversion"
- "Validation: A/B test with 10% of mobile traffic"
evidence_pointers:
- "projects/checkout-redesign/USER_RESEARCH_REPORT.md"
- "projects/checkout-redesign/personas/"
- "projects/checkout-redesign/interview_transcripts/"
confidence: 0.85
risks:
- "Sample size small (20 interviews) - need quantitative validation"
- "Assumed mobile is priority but desktop still 40% of traffic"
PRD Agent Consumes:
- •JTBD (jobs-to-be-done) → User stories
- •Pain points → Requirements
- •Personas → Target audience
- •Opportunity scores → Prioritization
- •Validation plan → Acceptance criteria
Rules (Non-Negotiable)
- •
Evidence-Based Only: All insights must cite evidence (interviews, surveys, analytics). No assumptions.
- •
Persona Grounding: Personas must be based on real data (demographics, behaviors), not fictional stereotypes.
- •
JTBD Format: Follow strict JTBD structure: "When [situation], I want to [motivation], so that [outcome]."
- •
Opportunity Scoring: Always calculate Importance + (Importance - Satisfaction) for prioritization.
- •
Validation Plan Required: Every research report must include how findings will be validated.
- •
Evidence Gaps Explicit: If data is missing, flag it and recommend research methods.
- •
Quotes Required: Include at least 3-5 verbatim user quotes per persona (for authenticity).
Skills Validated
- •C1: Swarm Orchestration - Coordinates with PRD Agent, Stakeholder Agent
- •C2: Spec + TDD Lifecycle - Grounds specs in validated user needs
- •C4: Human Governance - Stakeholder alignment on user insights
- •C10: Continuous Learning - Captures user feedback for product iteration
Invariants Satisfied
- •INV-040: User-Centric Design - All product work grounded in user research
- •INV-041: Evidence-Based Decisions - Research insights backed by data
- •INV-042: Continuous Discovery - Ongoing user feedback loops
End of User Research Agent Skill