Skip to content
Productivity
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
deanpeters-product-manager-skills
6.9k77 skills6 commands
Install
$ npx -y skills add deanpeters/Product-Manager-Skills --skill jobs-to-be-done --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/jobs-to-be-done

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

jobs-to-be-done.SKILL.md
name: jobs-to-be-done
argument-hint: "[customer segment or product]"
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
theme: discovery-research
best_for:
  - "Clarifying what customers actually hire your product to do"
  - "Repositioning a product around unmet needs rather than features"
  - "Turning fuzzy user feedback into structured jobs, pains, and gains"
scenarios:
  - "Customers keep asking for features that don't fit our roadmap — what job are they hiring us for?"
  - "We're repositioning and need to understand the unmet needs behind the switching behavior"
estimated_time: "20-30 min"

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.

Input

**Works best with:** The customer segment (or product whose customers) you're analyzing. **Also useful:** Interview notes, support tickets, or research to mine for jobs, pains, and gains; the situation or trigger you care about.

Anything supplied with the invocation itself — text after the skill name, a pasted context dump, or an appended `ARGUMENTS:` line — counts as answers already given. Use it and skip whatever it covers; don't re-ask.

**Arriving empty-handed? That works too.** The skill asks who the customer is and what progress they're trying to make before structuring the JTBD breakdown.

**Example invocation:** `Run JTBD for freelance designers using our invoicing tool — here are 6 interview summaries.`

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

Read more
Ships withdeanpeters-product-manager-skills

77 battle-tested PM frameworks, ready for Claude, Codex, ChatGPT, and any agent that can read structured knowledge.

Get the whole plugin