JTBD
Goal
Turn a vague request, feature idea, or proposed solution into a clearer statement of the real job, desired progress, and hiring logic behind it.
The job of this skill is not to brainstorm features. The job is to reveal what the user is trying to get done, why current options are insufficient, and what success must feel like from the user's point of view.
This skill reframes the problem. It does not claim validated demand unless evidence is explicitly provided.
Default Posture
- reframe before ideating
- progress over personas
- circumstances over demographics
- forces over opinions
- outcomes before features
When To Use
Run this skill when:
- the user proposes a feature before naming the need
- the problem statement sounds like a solution statement
- demand is unclear or contradictory
- several ideas exist but it is unclear which one matters
- product, offer, workflow, or strategy decisions need better problem framing
This is a strong first step before:
scamper
triz
- broader product ideation
- roadmap prioritization
Scope Boundaries
In scope:
- identify the underlying job
- clarify desired progress and context
- surface switching forces
- name hiring and firing criteria
- produce a sharper framing for downstream methods
Out of scope by default:
- generating the final feature set
- validating market size
- writing full user stories or product requirements
- pretending one interview quote or one anecdote proves the job
Escalation Conditions
Pause and keep open_unknowns prominent when:
- the user and trigger context are both unclear
- no current alternative or workaround can be named
- the proposed job is too broad to guide decisions
- the framing depends on evidence that is not yet available
If framing remains weak after one pass, recommend validation or return to upstream method selection.
JTBD Workflow
- Restate the proposed solution in neutral terms.
- Extract the suspected user, context, and trigger moment.
- Rewrite the problem as progress the user is trying to make.
- Name the functional, emotional, and social dimensions if they matter.
- Identify current alternatives, workarounds, or non-consumption.
- Surface the four switching forces:
- push of the current situation
- pull of the new solution
- anxiety about change
- habit of the present
- Define what "good progress" looks like.
- Return a tighter JTBD framing for downstream use.
Core Questions
Use the minimum set needed:
- What is the user trying to get done?
- What happened that made this matter now?
- What progress is blocked today?
- What does the user use instead right now?
- What makes switching hard?
- What would make the user say "this solved it"?
Output Contract
Always return:
proposed_solution
job_executor
job_to_be_done
trigger_context
desired_progress
current_alternatives
switching_forces
hiring_criteria
evidence_status (provided, inferred, mixed)
open_unknowns
next_action
Good JTBD Signals
Strong signals:
- a clear before/after state
- a real triggering circumstance
- observable workarounds or alternatives
- concrete progress language
- decision criteria the user would actually use
Weak signals:
- generic demographics instead of context
- feature wishlists with no job
- abstract motivation without a triggering moment
- claims about "users" with no evidence source
Guardrails
- Do not confuse the job with the product category.
- Do not reduce JTBD to "the user wants feature X".
- Do not invent emotional or social dimensions if they do not matter.
- Do not force novelty; sometimes the right answer is better execution of an old job.
- Distinguish evidence from inference.
- If the job remains unclear, say so and keep
open_unknowns explicit.
- If the framing is too weak for confident JTBD output, recommend validation instead of pretending certainty.
Anti-Patterns
Watch for these failure modes:
- turning JTBD into persona theater
- answering with feature ideas instead of a job statement
- using demographics as the main explanatory model
- ignoring the current workaround
- treating one solution concept as if it were already validated demand
- collapsing push, pull, anxiety, and habit into one vague paragraph
Example
User request:
We should build an AI meal planner for busy parents.
Expected shape of response:
proposed_solution: AI meal planner
job_executor: busy parent responsible for weeknight meals
job_to_be_done: help me decide and prepare acceptable weeknight meals fast enough that feeding my family does not drain my time and attention after work
trigger_context: repeated evening decision fatigue, low time, conflicting family preferences
desired_progress: move from stressful last-minute meal decisions to a repeatable low-friction dinner routine
current_alternatives: takeout, repeating familiar meals, ad hoc grocery runs, generic recipe apps
switching_forces: push from meal stress, pull from easier planning, anxiety about complexity and family rejection, habit of existing routines
hiring_criteria: fast planning, low mental load, family acceptance, realistic ingredients
evidence_status: inferred
open_unknowns: who plans meals, what "acceptable" means, how often planning fails today
next_action: validate the job and switching forces before ideating features
1---2name: jtbd3description: Use Jobs To Be Done to reframe a task around the underlying user job, desired progress, hiring criteria, and switching forces. Use when the user is naming solutions before needs, when the real problem is unclear, or when product and strategy work need stronger problem framing before ideation.4---56# JTBD78## Goal910Turn a vague request, feature idea, or proposed solution into a clearer statement of the real job, desired progress, and hiring logic behind it.1112The job of this skill is not to brainstorm features. The job is to reveal what the user is trying to get done, why current options are insufficient, and what success must feel like from the user's point of view.1314This skill reframes the problem. It does not claim validated demand unless evidence is explicitly provided.1516## Default Posture1718- reframe before ideating19- progress over personas20- circumstances over demographics21- forces over opinions22- outcomes before features2324## When To Use2526Run this skill when:2728- the user proposes a feature before naming the need29- the problem statement sounds like a solution statement30- demand is unclear or contradictory31- several ideas exist but it is unclear which one matters32- product, offer, workflow, or strategy decisions need better problem framing3334This is a strong first step before:3536- `scamper`37- `triz`38- broader product ideation39- roadmap prioritization4041## Scope Boundaries4243In scope:4445- identify the underlying job46- clarify desired progress and context47- surface switching forces48- name hiring and firing criteria49- produce a sharper framing for downstream methods5051Out of scope by default:5253- generating the final feature set54- validating market size55- writing full user stories or product requirements56- pretending one interview quote or one anecdote proves the job5758## Escalation Conditions5960Pause and keep `open_unknowns` prominent when:6162- the user and trigger context are both unclear63- no current alternative or workaround can be named64- the proposed job is too broad to guide decisions65- the framing depends on evidence that is not yet available6667If framing remains weak after one pass, recommend validation or return to upstream method selection.6869## JTBD Workflow70711. Restate the proposed solution in neutral terms.722. Extract the suspected user, context, and trigger moment.733. Rewrite the problem as progress the user is trying to make.744. Name the functional, emotional, and social dimensions if they matter.755. Identify current alternatives, workarounds, or non-consumption.766. Surface the four switching forces:77 - push of the current situation78 - pull of the new solution79 - anxiety about change80 - habit of the present817. Define what "good progress" looks like.828. Return a tighter JTBD framing for downstream use.8384## Core Questions8586Use the minimum set needed:8788- What is the user trying to get done?89- What happened that made this matter now?90- What progress is blocked today?91- What does the user use instead right now?92- What makes switching hard?93- What would make the user say "this solved it"?9495## Output Contract9697Always return:98991. `proposed_solution`1002. `job_executor`1013. `job_to_be_done`1024. `trigger_context`1035. `desired_progress`1046. `current_alternatives`1057. `switching_forces`1068. `hiring_criteria`1079. `evidence_status` (`provided`, `inferred`, `mixed`)10810. `open_unknowns`10911. `next_action`110111## Good JTBD Signals112113Strong signals:114115- a clear before/after state116- a real triggering circumstance117- observable workarounds or alternatives118- concrete progress language119- decision criteria the user would actually use120121Weak signals:122123- generic demographics instead of context124- feature wishlists with no job125- abstract motivation without a triggering moment126- claims about "users" with no evidence source127128## Guardrails129130- Do not confuse the job with the product category.131- Do not reduce JTBD to "the user wants feature X".132- Do not invent emotional or social dimensions if they do not matter.133- Do not force novelty; sometimes the right answer is better execution of an old job.134- Distinguish evidence from inference.135- If the job remains unclear, say so and keep `open_unknowns` explicit.136- If the framing is too weak for confident JTBD output, recommend validation instead of pretending certainty.137138## Anti-Patterns139140Watch for these failure modes:141142- turning JTBD into persona theater143- answering with feature ideas instead of a job statement144- using demographics as the main explanatory model145- ignoring the current workaround146- treating one solution concept as if it were already validated demand147- collapsing push, pull, anxiety, and habit into one vague paragraph148149## Example150151User request:152153`We should build an AI meal planner for busy parents.`154155Expected shape of response:1561571. `proposed_solution`: AI meal planner1582. `job_executor`: busy parent responsible for weeknight meals1593. `job_to_be_done`: help me decide and prepare acceptable weeknight meals fast enough that feeding my family does not drain my time and attention after work1604. `trigger_context`: repeated evening decision fatigue, low time, conflicting family preferences1615. `desired_progress`: move from stressful last-minute meal decisions to a repeatable low-friction dinner routine1626. `current_alternatives`: takeout, repeating familiar meals, ad hoc grocery runs, generic recipe apps1637. `switching_forces`: push from meal stress, pull from easier planning, anxiety about complexity and family rejection, habit of existing routines1648. `hiring_criteria`: fast planning, low mental load, family acceptance, realistic ingredients1659. `evidence_status`: `inferred`16610. `open_unknowns`: who plans meals, what "acceptable" means, how often planning fails today16711. `next_action`: validate the job and switching forces before ideating features