.agents/skills/jobs-to-be-done/SKILL.md
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 skillsauth add EchoNoReturn/task-manager jobs-to-be-doneInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
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?"
### Functional Jobs:
- [Task 1 customer needs to perform]
- [Task 2 customer needs to perform]
- [Task 3 customer needs to perform]
Examples:
Quality checks:
Ask: "How do you want to be perceived by others?"
### Social Jobs:
- [Way customer wants to be perceived socially 1]
- [Way customer wants to be perceived socially 2]
- [Way customer wants to be perceived socially 3]
Examples:
Quality checks:
Ask: "What emotional state do you want to achieve or avoid?"
### Emotional Jobs:
- [Emotional state customer seeks or avoids 1]
- [Emotional state customer seeks or avoids 2]
- [Emotional state customer seeks or avoids 3]
Examples:
Quality checks:
Ask: "What obstacles are preventing you from completing this job?"
### Challenges:
- [Obstacle customer faces 1]
- [Obstacle customer faces 2]
- [Obstacle customer faces 3]
Examples:
Ask: "What takes too much time, money, or effort?"
### Costliness:
- [What's too costly in time, money, or effort 1]
- [What's too costly in time, money, or effort 2]
Examples:
Ask: "What errors do you make frequently that could be prevented?"
### Common Mistakes:
- [Frequent error 1]
- [Frequent error 2]
Examples:
Ask: "What problems do current solutions fail to address?"
### Unresolved Problems:
- [Problem not solved by current solutions 1]
- [Problem not solved by current solutions 2]
Examples:
Ask: "What would make you love a solution?"
### Expectations:
- [What could exceed expectations 1]
- [What could exceed expectations 2]
Examples:
Ask: "What savings in time, money, or effort would delight you?"
### Savings:
- [Way of saving time, money, or effort 1]
- [Way of saving time, money, or effort 2]
Examples:
Ask: "What would make you switch from your current solution?"
### Adoption Factors:
- [Factor increasing likelihood of adoption 1]
- [Factor increasing likelihood of adoption 2]
Examples:
Ask: "How would your life be better if this job were easier?"
### Life Improvement:
- [How solution makes life easier or more enjoyable 1]
- [How solution makes life easier or more enjoyable 2]
Examples:
skills/proto-persona/SKILL.md)See examples/sample.md for full JTBD examples.
Mini example excerpt:
**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
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
development
Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.
tools
Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.
tools
Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.
tools
Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.