Generate a Jobs-to-be-Done canvas that maps the full job landscape for a persona or problem space — functional jobs (what they are trying to accomplish), emotional jobs (how they want to feel), and social jobs (how they want to be perceived). Each job includes the current solution, pain points, desired outcomes, situation-based triggers, and hiring/firing criteria. This canvas is the foundation for opportunity identification and solution design.
-
Read product context — Load .chalk/docs/product/0_product_profile.md, any existing research syntheses, interview guides, and prior JTBD docs. If research synthesis docs exist, they are the primary input — JTBD canvases should be grounded in evidence, not speculation. If no product context exists, work from what the user provides and flag that the canvas is hypothesis-based.
-
Identify the persona — Parse $ARGUMENTS to determine the target persona or problem space. If the user specifies a persona, use it. If they specify a problem space (e.g., "expense reporting"), identify the primary persona who experiences that problem. If neither is clear, ask: "Who is the person struggling with this? What is their role and context?"
-
Map the main job — Identify the overarching job the persona is trying to get done. This is not a task or feature — it is the higher-order goal. Use Alan Klement's format: "When [situation], I want to [motivation], so I can [desired outcome]." The main job anchors the entire canvas.
-
Map functional jobs — Break down the practical things the persona needs to accomplish. For each functional job:
- Job statement: concrete action they need to perform
- Current solution: how they solve this today (including workarounds, manual processes, competitor products)
- Pain points: what is frustrating, slow, expensive, or broken about the current solution
- Desired outcome: what success looks like when this job is done well
- Group functional jobs by phase if a natural sequence exists (e.g., planning, executing, reviewing)
-
Map emotional jobs — Identify how the persona wants to feel throughout the experience. Emotional jobs are often the real driver behind product switching. For each emotional job:
- Job statement: the feeling they are seeking or the feeling they are trying to avoid
- Current reality: how the current solution makes them feel
- Desired state: how they want to feel instead
- Common emotional jobs: feel confident, feel in control, avoid anxiety, avoid embarrassment, feel competent
-
Map social jobs — Identify how the persona wants to be perceived by others. Social jobs drive adoption in B2B and collaborative contexts. For each social job:
- Job statement: how they want to be seen by peers, managers, reports, or customers
- Current reality: how the current solution affects their professional perception
- Desired perception: how they want to be perceived when doing this job well
-
Define situation triggers ("When ___" statements) — Map the specific situations that trigger the person to "hire" a solution. Triggers are more valuable than demographics for segmentation. Use the format: "When [specific situation], they need to [job]." Good triggers are concrete and observable, not vague states.
-
Map hiring and firing criteria — Document what causes someone to adopt ("hire") a new solution and what causes them to abandon ("fire") their current one:
- Hiring criteria: what pushes them toward a new solution (push forces) and what pulls them toward it (pull forces)
- Firing criteria: what anxieties hold them back from switching and what habits keep them attached to the current solution
- Use the Four Forces framework: Push (current pain), Pull (new solution appeal), Anxiety (fear of switching), Habit (comfort with status quo)
-
Identify the struggling moment — Describe the specific moment when the gap between the current solution and the desired outcome is most painful. This is the moment a product must nail. Include: what just happened, what they are trying to do, what goes wrong, and how they feel.
-
Determine the next file number — Read filenames in .chalk/docs/product/ to find the highest numbered file. The next number is highest + 1.
-
Write the file — Save to .chalk/docs/product/<n>_jtbd_canvas_<persona_slug>.md.
-
Confirm — Tell the user the canvas was created, share the file path, and highlight the main job, the most critical struggling moment, and the strongest hiring/firing criteria.