Structured framework for uncovering customer jobs, pains, and gains to validate product ideas and improve messaging.
Works with
Breaks customer needs into three categories: functional jobs (tasks to complete), social jobs (how they want to be perceived), and emotional jobs (emotional states they seek or avoid)
Identifies four pain types: challenges blocking progress, costliness in time/money/effort, common mistakes, and unresolved problems current solutions don't address
Surfaces four gain type
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionjobs-to-be-doneExecute the skills CLI command in your project's root directory to begin installation:
Fetches jobs-to-be-done from deanpeters/product-manager-skills and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate jobs-to-be-done. Access via /jobs-to-be-done in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Create detailed user stories, acceptance criteria, and feature specs
Example
Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios
Reduce spec writing time by 50%, ensure comprehensive coverage
Research competitors, compare features, identify gaps
Example
Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities
Complete competitive research in 2 hours instead of 2 days
Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs
Example
Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale
0
total installs
0
this week
3.1K
GitHub stars
0
upvotes
Run in your terminal
0
installs
0
this week
3.1K
stars
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
Make data-driven prioritization decisions faster
Draft PRDs, status updates, and stakeholder presentations
Example
Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement
Save 3-5 hours/week on communication overhead
Prerequisites
Time Estimate
30-60 minutes to see productivity improvements
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.
✗ Avoid when
Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.
mattpocock/skills
parcadei/continuous-claude-v3
cursor/plugins
ailabs-393/ai-labs-claude-skills
pproenca/dot-skills
mattpocock/skills
jobs-to-be-done is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
We added jobs-to-be-done from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
Solid pick for teams standardizing on skills: jobs-to-be-done is focused, and the summary matches what you get after install.
Useful defaults in jobs-to-be-done — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
Useful defaults in jobs-to-be-done — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
Keeps context tight: jobs-to-be-done is the kind of skill you can hand to a new teammate without a long onboarding doc.
jobs-to-be-done has been reliable in day-to-day use. Documentation quality is above average for community skills.
We added jobs-to-be-done from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
jobs-to-be-done fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
Registry listing for jobs-to-be-done matched our evaluation — installs cleanly and behaves as described in the markdown.
showing 1-10 of 47