jtbd-extractor
Skill2 starsChanged 7 months agoMITView on GitHub
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.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- ianklassen/ai-pm-systemtheir own version, first seen Apr 12, 2026
- pratikshadake/claude-product-management-skillstheir own version, first seen Feb 19, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- pratikshadake/claude-product-management-skills★ 33same name
- ianklassen/ai-pm-system★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository4 other files it gives its agents.
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 58
If you haven't provided data yet, I'll ask:
- Distinctive: line 181
I'll connect to your existing personas: - If you keep personas.md updated, I'll show how new jobs relate
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
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
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

