'Turn raw research into Jobs-to-be-Done statements showing what users are really trying to accomplish. Use when: extract jobs, jtbd analysis, jobs to be done, what job is the user hiring, underlying user needs.'
Resources
10Install
npx skillscat add varunk130/jtbd-extractor Install via the SkillsCat registry.
JTBD Extractor
Turn raw research into Jobs-to-be-Done statements showing what users are really trying to accomplish — reframing feature requests as underlying needs and uncovering innovation opportunities.
Output
Save to discovery/outputs/jtbd-[persona]-[YYYY-MM-DD].md
When to Use This Skill
- Reframing feature requests into underlying needs
- Finding innovation opportunities in saturated markets
- Training your team to think in jobs, not features
What You'll Get
I'll generate a complete Jobs-to-be-Done analysis with:
- JTBD statements — Properly formatted "When [situation], I want to [action], so I can [outcome]"
- Job categories — Separated into Functional, Emotional, and Social jobs
- Opportunity scores — Importance + (Importance - Satisfaction) to show where to focus
- Evidence tracking — Direct quotes and behavior supporting each job
- Feature translation — Mapping what users asked for to what they actually need
- Top opportunities — Ranked list of underserved jobs worth solving
What You'll Need
- Interview transcripts, survey responses, or customer feedback
- Context on your product/market
Process
Step 1: Review Your Context
I'll start by checking your context files to understand what you already know:
- personas.md — What jobs do your existing personas have?
- product.md — What problems does your product solve today?
- Research files — Any prior interview snapshots or feedback data?
I'll share what I find. For example:
"I see your personas in personas.md already have some Jobs-to-be-Done statements. I'll compare what I extract from this research to see if it confirms or expands on those jobs."
Step 2: Request Research Data
If you haven't provided data yet, I'll ask:
"I need research data to extract jobs from. Do you have any of these?
- Interview transcripts or notes
- Survey responses (especially open-ended)
- Support tickets or feature requests
- Customer feedback
You can paste it here or point me to files in your context/ folder."
I won't generate placeholder output without actual data.
Step 3: Identify Jobs
I'll extract statements that reveal what users are trying to accomplish:
- Listening for "I need to...", "I'm trying to...", "I want to..."
- Looking beyond the literal request to the underlying goal
- Connecting to your existing personas when relevant
Step 4: Format as JTBD
I'll structure each job properly:
When [situation/trigger],
I want to [motivation/action],
So I can [expected outcome].Step 5: Categorize Jobs
I'll sort jobs into three types:
- Functional: The practical task (get a report to my boss)
- Emotional: How they want to feel (confident, in control)
- Social: How they want to be perceived (competent, innovative)
Step 6: Score Opportunities
I'll rate each job on:
- Importance: How much does this matter?
- Satisfaction: How well served is this today?
- Opportunity = Importance + (Importance - Satisfaction)
I'll be honest about confidence. If I'm inferring scores from limited data, I'll say so:
"⚠️ Scores are estimated from this interview. Validate with quantitative research before prioritizing."
Output Template
# Jobs-to-be-Done Analysis
**Source:** [Research inputs]
**Product Context:** [Your product/market]
## Context
*What I found in your files:*
- **Existing personas:** [From personas.md, or "None found"]
- **Known jobs:** [Any JTBD already documented]
- **Product positioning:** [From product.md]
## Jobs Identified
*Opportunity Score = Importance + (Importance - Satisfaction). Higher = bigger opportunity.*
### Functional Jobs
| Job Statement | Importance | Satisfaction | Opportunity | Evidence |
|--------------|------------|--------------|-------------|----------|
| When [situation], I want to [action], so I can [outcome] | 8/10 | 4/10 | 12 | [Quote or behavior] |
### Emotional Jobs
| Job Statement | Importance | Satisfaction | Opportunity | Evidence |
|--------------|------------|--------------|-------------|----------|
| When [situation], I want to feel [emotion], so I can [outcome] | 9/10 | 3/10 | 15 | [Quote or behavior] |
### Social Jobs
| Job Statement | Importance | Satisfaction | Opportunity | Evidence |
|--------------|------------|--------------|-------------|----------|
| When [situation], I want to be seen as [perception] | 7/10 | 5/10 | 9 | [Quote or behavior] |
## Comparison to Existing Personas
*How these jobs relate to your current understanding:*
- **Confirms:** [Jobs that match existing persona JTBD]
- **Expands:** [New jobs not in current personas]
- **Contradicts:** [Jobs that conflict with assumptions]
## Top Opportunities
### 1. [Highest opportunity job]
**Job:** [Full statement]
**Why Underserved:** [Current solutions fail because...]
**Desired Outcomes:**
- [Outcome 1]
- [Outcome 2]
**Solution Space:** [Types of solutions that could address this]
### 2. [Second highest]
[Same structure]
## Feature Request Translation
| Request (What They Said) | Job (What They Need) |
|-------------------------|---------------------|
| "Add a dashboard" | "Know if I'm on track without manual checking" |
| "Export to PDF" | "Share progress with stakeholders who don't have access" |
## Recommendations
1. [How to address top opportunity]
2. [Research to validate]
## Suggested Next Steps
- [ ] Update `personas.md` with new jobs discovered
- [ ] Validate importance/satisfaction scores with quantitative survey
- [ ] Add high-opportunity jobs to backlog for prioritization
---
⚠️ **Note:** Importance and satisfaction scores are estimated from research context. Validate with quantitative research (surveys, larger sample) before making prioritization decisions.Framework Reference
Jobs-to-be-Done (Christensen/Ulwick):
- People don't buy products, they hire them to do a job
- Jobs are stable; solutions change
- Opportunity = Importance + (Importance - Satisfaction)
Tips for Best Results
- I'll connect to your existing personas — If you keep personas.md updated, I'll show how new jobs relate
- I focus on jobs, not solutions — "I need a hole" not "Hire a drill"
- I'll find emotional and social jobs — They often drive decisions more than functional ones
- I'll flag confidence levels — Low-confidence scores need validation with quantitative research