Skip to content
Development
Skill

/jobs-to-be-done

Uncover customer jobs, pains, and gains in a structured JTBD format. Use when clarifying unmet needs, repositioning a product, or improving discovery and messaging.

From plugin
crew44
35862 skills4 agents

Claude Code

$ npx -y skills add getcrew44/crew44 --skill jobs-to-be-done --agent claude-code

SKILL.md

jobs-to-be-done.SKILL.md
name: jobs-to-be-done
description: Uncover customer jobs, pains, and gains in a structured JTBD format. Use when clarifying unmet needs, repositioning a product, or improving discovery and messaging.
intent: >-
  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.
type: component

Purpose

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.

Key Concepts

The Jobs-to-be-Done Framework

Influenced by Clayton Christensen and the Value Proposition Canvas (Osterwalder), JTBD breaks customer needs into three categories:

**1. Customer Jobs:**

  • **Functional jobs:** Tasks customers need to perform (e.g., "send an invoice")
  • **Social jobs:** How customers want to be perceived (e.g., "look professional to clients")
  • **Emotional jobs:** Emotional states customers seek or avoid (e.g., "feel confident in my work")

**2. Pains:**

  • **Challenges:** Obstacles customers face
  • **Costliness:** What's too expensive in time, money, or effort
  • **Common mistakes:** Errors customers make that could be prevented
  • **Unresolved problems:** Gaps in current solutions

**3. Gains:**

  • **Expectations:** What would exceed current solutions
  • **Savings:** Time, money, or effort reductions that delight
  • **Adoption factors:** What increases likelihood of switching
  • **Life improvement:** How a solution makes life easier or more enjoyable

Why This Structure Works

  • **Separates job from solution:** "Communicate with my team" (job) ≠ "email" (solution)
  • **Reveals underlying motivations:** Functional job may be "track expenses," but emotional job is "feel in control of finances"
  • **Surfaces competition you didn't see:** Customers "hire" non-obvious alternatives (pen and paper, spreadsheets, workarounds)
  • **Prioritizes by intensity:** Not all pains are equal—focus on the most acute

Anti-Patterns (What This Is NOT)

  • **Not a feature wishlist:** "I want AI, automation, and dashboards" is not a job
  • **Not demographics:** "Millennials want mobile-first" is a persona trait, not a job
  • **Not generic:** "Be more productive" is too vague—dig into *which* tasks and *why*
  • **Not one-dimensional:** Focusing only on functional jobs misses social/emotional motivations

When to Use This

  • Early-stage discovery (before you know the solution)
  • Validating product-market fit (does your solution address the right jobs?)
  • Prioritizing roadmap (which jobs are most painful/important?)
  • Competitive analysis (what are customers "hiring" competitors for?)
  • Marketing messaging (speak to jobs, not features)

When NOT to Use This

  • After you've already built the product (too late for discovery)
  • For trivial features (don't over-analyze small tweaks)
  • As a substitute for quantitative validation (JTBD informs hypotheses; data validates them)

---

Application

Use `template.md` for the full fill-in structure.

Step 1: Define the Context

Before exploring JTBD, clarify:

  • **Target customer segment:** Who are you studying? (reference `skills/proto-persona/SKILL.md`)
  • **Situation:** In what context does the job arise? (e.g., "When managing a project deadline...")
  • **Current solutions:** What do they use today? (competitors, workarounds, doing nothing)

**If missing context:** Conduct customer interviews, contextual inquiries, or "switch interviews" (why they switched from a previous solution).

---

Step 2: Explore Customer Jobs

Functional Jobs

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:**

  • "Reconcile monthly expenses for tax filing"
  • "Onboard a new team member in under 2 hours"
  • "Deploy code to production without downtime"

**Quality checks:**

  • **Verb-driven:** Jobs are actions ("send," "analyze," "coordinate")
  • **Solution-agnostic:** Don't say "use email to communicate"—say "communicate with remote teammates"
  • **Specific:** "Manage finances" is too broad; "Track business expenses for tax deductions" is specific

---

Social Jobs

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:**

  • "Be seen as a strategic thinker by my exec team"
  • "Appear responsive and reliable to clients"
  • "Look tech-savvy to my younger colleagues"

**Quality checks:**

  • **Audience-specific:** Who is the customer trying to impress? (boss, clients, peers, etc.)
  • **Emotional weight:** Social jobs often drive adoption more than functional jobs

---

Emotional Jobs

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:**

  • "Feel confident I'm not missing important details"
  • "Avoid the anxiety of manual data entry errors"
  • "Feel a sense of accomplishment at the end of the day"

**Quality checks:**

  • **Positive and negative:** Include both what they seek ("feel in control") and what they avoid ("avoid embarrassment")
  • **Rooted in research:** Don't fabricate emotions—use customer quotes

---

Step 3: Identi

Read more
@getcrew44
Ships withcrew44

Orchestrate a crew of specialist AI agents in one local-first workspace. Each role on its best model, with memory and skills that compound. Free, MIT.

35862 skills4 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
358
Star history of getcrew44/crew44 on GitHub, a chart by star-history.com

Other skills on crew44.

brainstorming

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.…

@getcrew44@getcrew44Install Skill
executing-plans

executing-plans

Use when you have a written implementation plan to execute in a separate session with review checkpoints

@getcrew44@getcrew44Install Skill
receiving-code-review

receiving-code-review

Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically…

@getcrew44@getcrew44Install Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about jobs-to-be-done.

Which coding agents can use jobs-to-be-done?
jobs-to-be-done installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.