npx skills add ...
npx skills add deanpeters/product-manager-skills --skill jobs-to-be-done
Uncover customer jobs, pains, and gains in a structured JTBD format. Use when clarifying unmet needs, repositioning a product, or improving discovery and messaging.
npx skills add deanpeters/product-manager-skills --skill jobs-to-be-done
Systematically explore what customers are trying to accomplish (functional, social, emotional jobs), the pains they experience, and the gains they seek. Use this framework to uncover unmet needs, validate product ideas, and ensure your solution addresses real motivations—not just surface-level feature requests.
This is not a survey—it's a structured lens for understanding why customers "hire" your product and what would make them "fire" it.
Works best with: The customer segment (or product whose customers) you're analyzing. Also useful: Interview notes, support tickets, or research to mine for jobs, pains, and gains; the situation or trigger you care about.
Anything supplied with the invocation itself — text after the skill name, a pasted context dump, or an appended ARGUMENTS: line — counts as answers already given. Use it and skip whatever it covers; don't re-ask.
Arriving empty-handed? That works too. The skill asks who the customer is and what progress they're trying to make before structuring the JTBD breakdown.
Example invocation: Run JTBD for freelance designers using our invoicing tool — here are 6 interview summaries.
Influenced by Clayton Christensen and the Value Proposition Canvas (Osterwalder), JTBD breaks customer needs into three categories:
1. Customer Jobs:
2. Pains:
3. Gains:
Use template.md for the full fill-in structure.
Before exploring JTBD, clarify:
skills/proto-persona/SKILL.md)If missing context: Conduct customer interviews, contextual inquiries, or "switch interviews" (why they switched from a previous solution).
Ask: "What tasks are you trying to complete?"
Examples:
Quality checks:
Ask: "How do you want to be perceived by others?"
Examples:
Quality checks:
Ask: "What emotional state do you want to achieve or avoid?"
Examples:
Quality checks:
Ask: "What obstacles are preventing you from completing this job?"
Examples:
Ask: "What takes too much time, money, or effort?"
Examples:
Ask: "What errors do you make frequently that could be prevented?"
Examples:
Ask: "What problems do current solutions fail to address?"
Examples:
Ask: "What would make you love a solution?"
Examples:
Ask: "What savings in time, money, or effort would delight you?"
Examples:
Ask: "What would make you switch from your current solution?"
Examples:
Ask: "How would your life be better if this job were easier?"
Examples:
skills/proto-persona/SKILL.md)See examples/sample.md for full JTBD examples.
Mini example excerpt:
Symptom: "I need to use Slack" or "I need AI-powered analytics"
Consequence: You've anchored on a solution, not the underlying job.
Fix: Ask "Why?" 5 times. "I need Slack" → "Why?" → "To communicate with my team" → "Why?" → "To get quick answers" → "Why?" → "To avoid project delays."
Symptom: "Be more productive" or "Save time"
Consequence: Too vague to inform product decisions.
Fix: Get specific. "Save time" → "Reduce time spent generating monthly reports from 8 hours to 1 hour."
Symptom: Only documenting functional jobs
Consequence: You miss powerful motivators. People often buy based on emotional/social needs, not just functional.
Fix: Explicitly ask about perception and emotions in interviews. "How would solving this make you feel?" "Who would notice if you solved this?"
Symptom: Filling out the template based on assumptions
Consequence: You're guessing. JTBD analysis is only valuable if grounded in real customer insights.
Fix: Conduct "switch interviews" (ask why they switched from a previous solution), contextual inquiries, or problem validation interviews.
Symptom: Listing 20 pains without prioritization
Consequence: No clarity on what to solve first.
Fix: Rank pains by intensity (acute vs. mild). Ask "If we only solved one pain, which would have the biggest impact?"
skills/proto-persona/SKILL.md — Defines who has these jobs/pains/gainsskills/problem-statement/SKILL.md — JTBD informs the "Trying to" and "But" sectionsskills/positioning-statement/SKILL.md — JTBD informs the "that need" statementprompts/jobs-to-be-done.md in the https://github.com/deanpeters/product-manager-prompts repo.Skill type: Component
Suggested filename: jobs-to-be-done.md
Suggested placement: /skills/components/
Dependencies: References skills/proto-persona/SKILL.md
Used by: skills/positioning-statement/SKILL.md, skills/problem-statement/SKILL.md, skills/epic-hypothesis/SKILL.md
### Emotional Jobs:
- [Emotional state customer seeks or avoids 1]
- [Emotional state customer seeks or avoids 2]
- [Emotional state customer seeks or avoids 3]### Challenges:
- [Obstacle customer faces 1]
- [Obstacle customer faces 2]
- [Obstacle customer faces 3]### Costliness:
- [What's too costly in time, money, or effort 1]
- [What's too costly in time, money, or effort 2]### Common Mistakes:
- [Frequent error 1]
- [Frequent error 2]### Unresolved Problems:
- [Problem not solved by current solutions 1]
- [Problem not solved by current solutions 2]### Expectations:
- [What could exceed expectations 1]
- [What could exceed expectations 2]### Savings:
- [Way of saving time, money, or effort 1]
- [Way of saving time, money, or effort 2]### Adoption Factors:
- [Factor increasing likelihood of adoption 1]
- [Factor increasing likelihood of adoption 2]### Life Improvement:
- [How solution makes life easier or more enjoyable 1]
- [How solution makes life easier or more enjoyable 2]**Functional Jobs:** Coordinate tasks across a distributed team
**Pains - Challenges:** Team members use different tools, creating silos
**Gains - Savings:** Reduce status reporting time from 3 hours to 15 minutes