
Define Jtbd Canvas
- 513 installs
- 518 repo stars
- Updated August 4, 2026
- product-on-purpose/pm-skills
define-jtbd-canvas is a Claude Code product-management skill that generates a Clayton Christensen-style Jobs to be Done canvas covering functional, emotional, and social customer motivations for developers who need to re
About
define-jtbd-canvas is a pm-skills agent skill (version 2.1.0) that walks developers through Clayton Christensen's Jobs to be Done framework and fills a 12-section canvas template from references/TEMPLATE.md. The skill captures job performers, circumstances, functional/emotional/social jobs, competing solutions including non-consumption, hiring criteria, and supporting quotes so teams understand why customers hire a product. Invoke it with `/pm-skills:define-jtbd-canvas` when demographic personas fail to explain behavior or when positioning needs reframing around customer progress. It sits in the pm-skills Define phase alongside hypothesis and opportunity-tree skills inside a 68-skill product-management library. Reach for define-jtbd-canvas before PRDs and feature specs when motivation, not feature lists, must drive prioritization.
- define-jtbd-canvas
- AI & Agent Building
- AI-coding skill
Define Jtbd Canvas by the numbers
- 513 all-time installs (skills.sh)
- +34 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #1,749 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/product-on-purpose/pm-skills --skill define-jtbd-canvasAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 513 |
|---|---|
| repo stars | ★ 518 |
| Last updated | August 4, 2026 |
| Repository | product-on-purpose/pm-skills ↗ |
How do you map customer jobs to be done?
Helps with ai & agent building tasks.
Who is it for?
Product engineers and tech leads who must translate user research into a structured JTBD canvas before writing PRDs or prioritizing roadmap items.
Skip if: Teams that already have an approved PRD and need detailed technical specification rather than customer-motivation framing.
When should I use this skill?
A developer mentions JTBD, jobs to be done, customer hiring criteria, or needs to reframe product positioning from features to progress.
What you get
A completed Jobs to be Done canvas document with job overview, performer, circumstance, functional/emotional/social jobs, competing solutions, hiring criteria, insights, quotes, and follow-up research questions.
- JTBD canvas document
- Job statements with hiring criteria
By the numbers
- Skill version 2.1.0 with a 12-section JTBD canvas template
- Part of the pm-skills library with 68 plug-and-play product skills
Files
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
Jobs to be Done Canvas
A Jobs to be Done (JTBD) canvas captures the complete picture of why customers "hire" products to make progress in their lives. Based on Clayton Christensen's framework, JTBD goes beyond features and demographics to understand the underlying motivations.functional, emotional, and social.that drive customer behavior.
When to Use
- When deeply researching customer motivations before building
- To reframe product positioning around customer progress
- When existing personas feel too surface-level or demographic
- During competitive analysis to identify why customers switch
- When designing marketing messages that resonate
- To align team on who the customer really is and what they need
When NOT to Use
- You need a person-shaped artifact (goals, behaviors, quotes) for design or marketing work -> use
foundation-persona; the canvas captures the job, the persona captures the person - You have no customer research yet -> synthesize interviews first with
discover-interview-synthesis; the canvas's insights must trace to research, not assumptions - You are framing one specific problem to solve now -> use
define-problem-statement - You need to map opportunities to a measurable outcome for prioritization -> use
define-opportunity-tree
Instructions
When asked to create a JTBD canvas, follow these steps:
1. Identify the Job Performer Define who is doing this job. Go beyond demographics to capture the circumstance they're in. The same person can have different jobs in different situations.
2. Articulate the Circumstance Describe when and where this job arises. Jobs are triggered by specific situations. Understanding context helps predict when customers will seek a solution.
3. Write the Job Statement Use the format: "When [situation], I want to [motivation], so I can [desired outcome]." The job statement captures the core progress the customer seeks.
4. Define the Functional Job What is the practical task the customer needs to accomplish? This is the tangible, measurable part of the job. Be specific about what "done" looks like.
5. Capture the Emotional Job How does the customer want to feel during and after the job? Emotional jobs often drive decisions more than functional ones. Include both desired feelings and feelings to avoid.
6. Identify the Social Job How does the customer want to be perceived by others? Social jobs relate to status, identity, and relationships. Not all jobs have strong social dimensions.
7. Map Competing Solutions What are customers currently "hiring" to do this job? Include direct competitors, indirect alternatives, and non-consumption (doing nothing). Understanding current solutions reveals what to compete against.
8. Define Hiring Criteria What makes customers choose one solution over another? What are the "must haves" vs. "nice to haves"? This informs positioning and prioritization.
Output Format
Use the template in references/TEMPLATE.md to structure the output. A complete canvas fills every template section: Job Overview; Job Performer; The Circumstance; Job Statement; Functional Job; Emotional Job; Social Job; Competing Solutions; Hiring Criteria; Insights and Implications; Supporting Quotes; and Questions for Further Research.
Quality Checklist
Before finalizing, verify:
- [ ] Job statement follows "When... I want... so I can..." format
- [ ] Circumstance is specific (not just "anytime")
- [ ] Functional job describes tangible outcome
- [ ] Emotional job includes how customer wants to feel
- [ ] Competing solutions include non-obvious alternatives
- [ ] Insights are based on research, not assumptions
Examples
See references/EXAMPLE.md for a completed example.
{
"schema": 1,
"skill": "define-jtbd-canvas",
"runs_per_query": 3,
"trigger_threshold": 0.5,
"queries": [
{
"q": "Build a Jobs to be Done canvas for freelancers using our invoicing product",
"expect": "trigger",
"split": "train"
},
{
"q": "Our personas feel like demographic cardboard; I want to understand what customers are actually trying to accomplish when they hire us",
"expect": "trigger",
"split": "train",
"notes": "Intent-only ask; personas too surface-level is a listed use case"
},
{
"q": "Map the functional, emotional, and social dimensions of the job our meal-kit subscribers are hiring us for",
"expect": "trigger",
"split": "train"
},
{
"q": "Customers keep switching from spreadsheets to our tool and I want to capture the underlying progress they're seeking",
"expect": "trigger",
"split": "train"
},
{
"q": "We're repositioning the product around customer progress instead of features; create the JTBD canvas to anchor that work",
"expect": "trigger",
"split": "train"
},
{
"q": "Use the interview synthesis we finished last week to build a jobs-to-be-done canvas for the onboarding segment",
"expect": "trigger",
"split": "train"
},
{
"q": "Create a JTBD canvas for small-business owners managing payroll",
"expect": "trigger",
"split": "validation"
},
{
"q": "Marketing wants messaging that resonates; help me articulate the job, the struggle, and the emotional stakes our buyers experience",
"expect": "trigger",
"split": "validation",
"notes": "Intent-only ask, no canvas keyword"
},
{
"q": "Why do customers fire their current analytics tool and hire ours? Frame it with the jobs framework",
"expect": "trigger",
"split": "validation"
},
{
"q": "Capture the circumstances, motivations, and desired outcomes behind why teams adopt our API product",
"expect": "trigger",
"split": "validation"
},
{
"q": "Design needs a person-shaped artifact with goals, behaviors, and quotes for the new dashboard work; build that profile",
"expect": "no-trigger",
"split": "train",
"near_miss_of": "foundation-persona",
"notes": "Person-shaped artifact for design belongs to the persona skill, per When NOT to Use"
},
{
"q": "I have 15 raw customer interview transcripts; pull out the patterns and insights first",
"expect": "no-trigger",
"split": "validation",
"near_miss_of": "discover-interview-synthesis",
"notes": "Raw research must be synthesized before a canvas, per When NOT to Use"
},
{
"q": "Frame the cart-abandonment problem as a one-page problem statement for the team",
"expect": "no-trigger",
"split": "train",
"notes": "Framing one specific problem; define-problem-statement territory"
},
{
"q": "Build an opportunity solution tree connecting our retention goal to customer opportunities",
"expect": "no-trigger",
"split": "train"
},
{
"q": "Compare our positioning against the top four competitors in a structured analysis",
"expect": "no-trigger",
"split": "validation"
},
{
"q": "Write the PRD for the job-board feature we committed to last quarter",
"expect": "no-trigger",
"split": "train",
"notes": "Contains 'job' but is a specification ask"
},
{
"q": "My Docker container can't reach the host database; help me debug the networking",
"expect": "no-trigger",
"split": "train",
"notes": "Unrelated debugging ask"
},
{
"q": "Write a SQL window function that ranks customers by lifetime value",
"expect": "no-trigger",
"split": "validation",
"notes": "Unrelated technical ask"
},
{
"q": "Arrange travel for three days of customer visits in Toronto",
"expect": "no-trigger",
"split": "train",
"notes": "Unrelated logistics ask"
},
{
"q": "Draft this quarter's OKRs for the growth team",
"expect": "no-trigger",
"split": "validation"
}
]
}
define-jtbd-canvas - Version History
| Version | Date | Release | Effort | Type | Summary |
|---|---|---|---|---|---|
| 2.1.0 | 2026-06-10 | v2.26.0 | F-12-batch-2 | minor | Quality convergence: When NOT to Use + output-contract enumeration (F-12 Batch 2) |
| 2.0.0 | 2026-01-26 | - | - | baseline | Prior published version |
2.1.0 (2026-06-10)
Quality-convergence minor (F-12 Batch 2): added a "When NOT to Use" section with boundary pointers to neighboring skills, and the Output Format now enumerates the template sections a complete artifact fills. No template or example changes.
2.0.0 (2026-01-26)
Baseline row for the prior published version; see git history for its changes.
Jobs to be Done Canvas: Weeknight Dinner Decision
Job Overview
Job Title: Weeknight Dinner Decision Date: January 2026 Author: Product Team Research Basis: 12 in-depth interviews with parents who cook 4+ weeknight dinners, observation of 5 dinner prep sessions, 200 survey responses
---
Job Performer
Who: A parent who is primarily responsible for feeding their family on weeknights
Key Characteristics:
- Has at least one child living at home
- Works (full-time, part-time, or manages household full-time)
- Cooks dinner at home 4+ times per week
- Feels time pressure between end of workday and dinner time
Not Defined By:
- Gender (53% women, 47% men in our research)
- Specific age range
- Cooking skill level (novice to experienced)
- Income level (job exists across economic spectrum)
---
The Circumstance
When does this job arise?
Between 4pm and 6pm on weekdays, when the parent realizes they need to figure out dinner. Often triggered by: leaving work, picking up kids, or realizing nothing is defrosted. The "what's for dinner?" question from family members is a secondary trigger.
Where does this happen?
Often mentally starts in the car or during commute. Physical planning/shopping can happen at work (online ordering), in the kitchen (checking pantry), or at the grocery store.
Frequency:
5 times per week, every week. This is a persistent, recurring job.
Urgency:
High urgency.there's a hard deadline (hungry family) and the window to decide narrows as time passes. By 5pm, options become limited.
---
Job Statement
"When I'm mentally or physically exhausted at the end of my workday and realize I need to feed my family dinner, I want to quickly decide on a meal that everyone will eat and I can actually make, so I can get food on the table without stress and feel like I'm taking care of my family."
---
Functional Job
What is the practical task to accomplish?
Identify a dinner option, ensure ingredients are available or obtainable, and prepare food that is ready to eat within 45-60 minutes of starting.
Definition of "Done":
- Family is eating a meal together (or at least eating, even if not together)
- Meal is reasonably nutritious (not just snacks)
- Everyone has something they'll actually eat
- Cleanup is not overwhelming
Key Steps in the Job:
1. Realize dinner decision needs to be made 2. Assess what's available (fridge, pantry, time) 3. Consider constraints (dietary, preferences, energy) 4. Decide on a meal 5. Acquire any missing ingredients (or adjust plan) 6. Prepare the meal 7. Serve and (hopefully) eat together
Functional Pains:
- Decision fatigue after a long day
- Not knowing what's in the fridge/pantry without checking
- Recipe requires ingredient not on hand
- Kids reject what's made after it's too late to pivot
- Recipes require more time/energy than available
---
Emotional Job
How do they want to feel?
| Desired Feeling | Why It Matters |
|---|---|
| Confident | Know the meal will work out.no anxiety about failure |
| Calm | Peaceful transition from work to home, not frantic |
| In control | Having a plan reduces chaos of the "witching hour" |
| Proud | Providing good food for family feels like caregiving |
| Present | Able to be with family, not stressed about cooking |
How do they want to avoid feeling?
| Feeling to Avoid | Current Trigger |
|---|---|
| Guilty | Ordering takeout again, feeding kids "junk" |
| Overwhelmed | Too many decisions after a mentally draining day |
| Like a failure | Kids won't eat what's made, food is burned/bad |
| Invisible | No one appreciates the effort that goes into dinner |
| Rushed | Racing against the clock, cutting corners |
Emotional Pains:
- The dread that starts building around 3pm: "What am I going to make?"
- Feeling judged (by self or partner) when opting for easy/processed options
- Shame when comparing self to curated social media meal posts
---
Social Job
How do they want to be perceived?
| Desired Perception | By Whom |
|---|---|
| A parent who has it together | Spouse/partner |
| Someone who cares about family health | Children (eventually) |
| Capable adult who can manage household | Self, extended family |
| Not "that parent" who only does fast food | Other parents, society |
What perception do they want to avoid?
| Perception to Avoid | By Whom |
|---|---|
| Lazy or not trying | Spouse/partner, in-laws |
| A bad provider | Self (internalized) |
| Incompetent | Co-workers (if discussed) |
| Someone who doesn't prioritize family | Extended family |
Social Context:
- Partner's expectations and involvement vary (some share load, some don't)
- Kids' opinions are vocal and influential (but often nutritionally unwise)
- Social media creates comparison pressure ("look at this bento box")
- Cultural expectations about "proper" home-cooked meals
---
Competing Solutions
What do customers currently "hire" for this job?
| Solution Type | Solution | Strengths | Weaknesses |
|---|---|---|---|
| Direct Competitor | Meal planning apps (Mealime, Paprika) | Organized recipes, shopping lists | Still requires decision-making, often ignored |
| Direct Competitor | Meal kit services (HelloFresh, Blue Apron) | Ingredients delivered, decisions made | Expensive, still time to cook, waste |
| Indirect Alternative | Takeout/delivery | No effort, guaranteed edible | Expensive, unhealthy guilt, not "cooking" |
| Indirect Alternative | Rotisserie chicken + sides | Quick, cheap, family-friendly | Gets repetitive, feels like giving up |
| Non-consumption | "Fend for yourself" night | Zero effort | Guilt, nutritional concerns |
| DIY/Manual | Mental meal plan + handwritten list | Free, familiar | Forgetting, not consulted, loses list |
Why Do They Switch?
- Current solution stopped working (meal kit fatigue, budget constraints)
- Life stage change (new baby, kids' activities, job change)
- New Year / fresh start motivation
- Recommendation from trusted friend
Why Do They Stay?
- Switching cost of learning new system
- Already paid for subscription
- Fear new solution won't be better
- "Better the devil you know"
---
Hiring Criteria
Must-Have (Table Stakes):
- Recipes must be achievable in 30-45 minutes
- Ingredients must be commonly available (no specialty stores)
- Must account for picky eaters (customizable or kid-friendly)
- Must integrate with how they actually shop (not separate trip)
Differentiators (Decision Drivers):
- Makes the decision for me (don't make me choose from 10,000 recipes)
- Knows what I have on hand / uses up what's there
- Learns family preferences over time
- Reduces cognitive load, not just recipe storage
- Adapts when plans change (Tuesday's chicken is now spoiled)
Nice-to-Have:
- Nutritional information
- Theme nights (Taco Tuesday integration)
- Integration with smart home devices
- Partner/family collaboration features
---
Insights and Implications
Key Insight 1: The hardest part isn't cooking.it's deciding. By 5pm, mental energy is depleted and any decision feels hard. Solutions that require browsing and choosing from options fail at the moment of need.
- Product Implication: Make one strong recommendation rather than presenting options. "Here's what you should make tonight" beats "Here are 12 recipes you might like."
Key Insight 2: "What's in my kitchen" is the real constraint, not "what sounds good." Parents are willing to make almost anything if they know they have the ingredients and it's fast.
- Product Implication: Pantry tracking and "what can I make with what I have" is more valuable than recipe discovery.
Key Insight 3: The emotional weight of this job is underestimated. Parents carry real shame about dinner struggles. Solutions must reduce guilt, not add to it (e.g., "you should be meal planning on Sunday").
- Product Implication: Tone matters. No judgment, celebrate small wins, make "good enough" feel okay.
---
Supporting Quotes
"By 5pm, I literally cannot make another decision. I've made 400 decisions at work. Don't show me 50 recipes - just tell me what to make." - P4, working mom of 2
"I'll open the meal planning app on Sunday with great intentions. By Tuesday, everything's gone off-script and I'm back to 'what's for dinner?'" - P7, dad of 3
"I know I should meal plan, but when I actually look at those apps, I just feel worse about myself. Like I can't even do this basic adult thing." - P11, working mom of 1
"The best nights are when I don't have to think. Someone just says 'we're having this' and I make it." - P2, stay-at-home dad of 2
---
Questions for Further Research
- How do parents currently track what's in their kitchen? What's the friction there?
- At what point in the day is intervention most helpful? (Morning planning vs. afternoon reminder?)
- How much does partner involvement change the job? (Shared load vs. solo responsibility)
- What role do kids' preferences play at different ages?
---
This canvas should be validated and updated as you learn more about customers.
Jobs to be Done Canvas: [Job Name]
Job Overview
Job Title: [Short name for this job] Date: [When canvas was created] Author: [Who created this] Research Basis: [What research informed this: interviews, surveys, observation, etc.]
---
Job Performer
Who: [Description of the person in this situation]
Key Characteristics:
- [Relevant characteristic 1]
- [Relevant characteristic 2]
- [Relevant characteristic 3]
Not Defined By: <!-- What demographics or attributes are NOT defining factors -->
- [Attribute that doesn't matter]
- [Attribute that doesn't matter]
---
The Circumstance
When does this job arise? <!-- Specific trigger or situation -->
[Description of the triggering circumstance]
Where does this happen?
[Physical or digital context]
Frequency:
[How often does this job arise: daily, weekly, monthly, occasionally]
Urgency:
[How urgent is the job when it arises: immediate, can wait, flexible]
---
Job Statement
"When [specific situation or trigger], I want to [motivation/action], so I can [desired outcome/progress]."
---
Functional Job
What is the practical task to accomplish?
[Description of the tangible outcome]
Definition of "Done": <!-- What does successful completion look like? -->
- [Success criterion 1]
- [Success criterion 2]
- [Success criterion 3]
Key Steps in the Job: <!-- The process the customer goes through -->
1. [Step 1] 2. [Step 2] 3. [Step 3] 4. [Step 4]
Functional Pains: <!-- What makes this job difficult functionally -->
- [Pain point 1]
- [Pain point 2]
- [Pain point 3]
---
Emotional Job
How do they want to feel?
| Desired Feeling | Why It Matters |
|---|---|
| [Feeling 1] | [Explanation] |
| [Feeling 2] | [Explanation] |
| [Feeling 3] | [Explanation] |
How do they want to avoid feeling?
| Feeling to Avoid | Current Trigger |
|---|---|
| [Feeling 1] | [What causes this feeling now] |
| [Feeling 2] | [What causes this feeling now] |
| [Feeling 3] | [What causes this feeling now] |
Emotional Pains: <!-- What causes negative emotions in current solutions -->
- [Emotional pain 1]
- [Emotional pain 2]
---
Social Job
How do they want to be perceived?
| Desired Perception | By Whom |
|---|---|
| [Perception 1] | [Audience] |
| [Perception 2] | [Audience] |
What perception do they want to avoid?
| Perception to Avoid | By Whom |
|---|---|
| [Perception 1] | [Audience] |
| [Perception 2] | [Audience] |
Social Context: <!-- Who else is involved or observing -->
- [Social factor 1]
- [Social factor 2]
---
Competing Solutions
What do customers currently "hire" for this job?
| Solution Type | Solution | Strengths | Weaknesses |
|---|---|---|---|
| Direct Competitor | [Product] | [What it does well] | [Where it falls short] |
| Indirect Alternative | [Product/behavior] | [What it does well] | [Where it falls short] |
| Non-consumption | [Doing nothing/workaround] | [Why they choose this] | [Cost of this choice] |
| DIY/Manual | [Manual process] | [Why they choose this] | [Cost of this choice] |
Why Do They Switch? <!-- What causes customers to fire one solution and hire another -->
- [Switch trigger 1]
- [Switch trigger 2]
Why Do They Stay? <!-- What keeps customers with current solutions despite problems -->
- [Inertia factor 1]
- [Inertia factor 2]
---
Hiring Criteria
Must-Have (Table Stakes): <!-- Non-negotiable requirements -->
- [Requirement 1]
- [Requirement 2]
- [Requirement 3]
Differentiators (Decision Drivers): <!-- What tips the decision between options -->
- [Differentiator 1]
- [Differentiator 2]
- [Differentiator 3]
Nice-to-Have: <!-- Appreciated but not essential -->
- [Nice-to-have 1]
- [Nice-to-have 2]
---
Insights and Implications
Key Insight 1: [Insight]
- Product Implication: [What to build/change]
Key Insight 2: [Insight]
- Product Implication: [What to build/change]
Key Insight 3: [Insight]
- Product Implication: [What to build/change]
---
Supporting Quotes
<!-- Verbatim quotes from research that illustrate the job -->
"[Quote 1]" - [Source]
"[Quote 2]" - [Source]
"[Quote 3]" - [Source]
---
Questions for Further Research
- [Question 1]
- [Question 2]
- [Question 3]
---
This canvas should be validated and updated as you learn more about customers.
Related skills
How it compares
Pick define-jtbd-canvas over hypothesis or problem-statement skills when the goal is understanding why customers hire solutions across functional, emotional, and social dimensions.
FAQ
What does define-jtbd-canvas output?
define-jtbd-canvas outputs a structured Jobs to be Done canvas using references/TEMPLATE.md with 12 sections including job statement, functional/emotional/social jobs, competing solutions, hiring criteria, and research questions.
When should developers use define-jtbd-canvas?
define-jtbd-canvas fits before PRD writing when teams need to understand why customers hire a product. Use it when demographic personas do not explain behavior or positioning must shift from features to progress.
How do you invoke define-jtbd-canvas?
define-jtbd-canvas runs through the pm-skills plugin with `/pm-skills:define-jtbd-canvas "your context"` on Claude Code. Install from product-on-purpose/pm-skills and pass customer or market context as the argument.