Jobs To Be Done Analysis
deanpeters/Product-Manager-Skills
Structures customer jobs, pains and gains in a Jobs-to-be-Done format, to clarify unmet needs, reposition a product or sharpen discovery.
Discover what customers truly need by analyzing the "job" they hire your product to do.
$ npx skills add wondelai/skills --skill jobs-to-be-done -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install wondelai/skills jobs-to-be-done --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/wondelai/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/jobs-to-be-done .claude/skills/jobs-to-be-done && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "jobs-to-be-done" agent skill from https://github.com/wondelai/skills/tree/main/jobs-to-be-done into .claude/skills/jobs-to-be-done/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jobs-to-be-done", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/wondelai/skills/tree/main/jobs-to-be-doneType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add wondelai/skills --skill jobs-to-be-done -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install wondelai/skills jobs-to-be-done --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/wondelai/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/jobs-to-be-done .agents/skills/jobs-to-be-done && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "jobs-to-be-done" agent skill from https://github.com/wondelai/skills/tree/main/jobs-to-be-done into .agents/skills/jobs-to-be-done/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jobs-to-be-done", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add wondelai/skills --skill jobs-to-be-done -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install wondelai/skills jobs-to-be-done --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/wondelai/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/jobs-to-be-done .cursor/skills/jobs-to-be-done && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "jobs-to-be-done" agent skill from https://github.com/wondelai/skills/tree/main/jobs-to-be-done into .cursor/skills/jobs-to-be-done/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jobs-to-be-done", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/wondelai/skills.git --path jobs-to-be-done--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add wondelai/skills --skill jobs-to-be-done -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install wondelai/skills jobs-to-be-done --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/wondelai/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/jobs-to-be-done .gemini/skills/jobs-to-be-done && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "jobs-to-be-done" agent skill from https://github.com/wondelai/skills/tree/main/jobs-to-be-done into .gemini/skills/jobs-to-be-done/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jobs-to-be-done", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install wondelai/skills jobs-to-be-doneInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add wondelai/skills --skill jobs-to-be-done -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/wondelai/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/jobs-to-be-done .github/skills/jobs-to-be-done && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "jobs-to-be-done" agent skill from https://github.com/wondelai/skills/tree/main/jobs-to-be-done into .github/skills/jobs-to-be-done/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jobs-to-be-done", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add wondelai/skills --skill jobs-to-be-done -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install wondelai/skills jobs-to-be-done --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/wondelai/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/jobs-to-be-done .opencode/skills/jobs-to-be-done && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "jobs-to-be-done" agent skill from https://github.com/wondelai/skills/tree/main/jobs-to-be-done into .opencode/skills/jobs-to-be-done/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jobs-to-be-done", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
jobs-to-be-doneDiscover what customers truly need by analyzing the "job" they hire your product to do.
Jobs To Be Done is an agent skill from wondelai/skills. Discover what customers truly need by analyzing the "job" they hire your product to do. Use when the user mentions "customer discovery", "why customers churn", "what job does this solve", "competing against luck", "product-market fit", "switching behavior", "milkshake moment", or "functional vs emotional jobs". Also trigger when investigating why users choose competitors, designing features around real customer needs, or reframing a value proposition. Covers JTBD interviews, competition analysis, and…
Its SKILL.md is about 4.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `references/case-studies.md`, `references/competitive-strategy.md` and `references/diagnostics.md`).
It sits in Product & Project Management, covering User stories, Positioning and messaging and Product strategy. The repository describes itself as: Wondel.ai Agent Skills — Business, Marketing, UX & Coding Frameworks from Bestselling Books. 50 skills + 12 guided journeys for Claude Code, Codex, Cursor & other agentskills.io… The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c172996. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
amazon.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Jobs To Be Done loads about 4.1k tokens when it runs, and up to ~15k if it reads all its reference files. Until then it costs about 171 tokens; SKILL.md has 2,069 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from wondelai/skills at commit c172996, republished under its MIT licence (© wondelai). 2,069 words, ~4,124 tokens.
.claude/skills/jobs-to-be-done/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Framework for discovering innovation based on a fundamental truth: customers don't buy products -- they "hire" them to do a specific job in their lives.
Job to Be Done = the progress a customer wants to make in specific circumstances.
Key elements of the definition:
Goal: 10/10. Score 1 point per satisfied row in the Quick Diagnostic (7 rows) plus up to 3 points for depth: +1 if all three job dimensions are evidenced, +1 if the job statement avoids any product/solution name, +1 if competition includes non-consumption. Bands: 9-10 = job stated without the product, all four forces mapped, three dimensions evidenced, non-obvious competition and Little Hire tracked; 5-6 = job named but one or two diagnostic rows fail (usually missing forces or emotional/social dimensions); <=3 = product-first framing, demographic segmentation, or Pull-only thinking. Always state the current score and the specific diagnostic rows to fix.
Every job has three inseparable dimensions -- omitting any means failure:
| Dimension | Question | Example (milkshake) |
|---|---|---|
| Functional | What does the customer need to do? | Occupy myself during a boring commute |
| Emotional | How do they want to feel? | Have a small treat for myself |
| Social | How do they want to be perceived? | As a sensible parent (not buying donuts) |
Core concept: A job statement captures the progress a customer seeks in a specific circumstance, in a structured format separating context, desired progress, and expected outcome.
Why it works: Because jobs are stable while solutions churn, anchoring on the job protects a roadmap from chasing features that the next technology shift makes irrelevant.
Key insights:
Product applications:
| Context | Application | Example |
|---|---|---|
| New product ideation | Define the job before brainstorming features | "When I'm commuting alone, I want something to occupy me and satisfy hunger, so I'm not hungry until lunch" |
| Feature prioritization | Evaluate whether a feature serves the core job | Features that advance the stated job beat nice-to-haves |
| Positioning & messaging | Use job statement language in copy | Lead with circumstance and progress, not product specs |
Copy patterns:
See references/innovation-process.md when running an innovation project end-to-end -- the job-hunting methodology, the job atlas, and fill-in statement templates.
Core concept: The decision to "hire" a new product results from four forces: Push (frustration with the current situation), Pull (attraction of the new solution), Anxiety (fear of the new), and Habit (comfort with the current behavior). Change happens only when Push + Pull > Habit + Anxiety.
Why it works: Most innovation efforts only increase Pull while ignoring the anti-change forces -- which is why great products still fail to gain adoption.
Key insights:
Product applications:
| Context | Application | Example |
|---|---|---|
| Onboarding design | Reduce anxiety with trials, guarantees, social proof | Money-back guarantee answers "what if it doesn't work?" |
| Switching campaigns | Make migration effortless to defeat habit | One-click data import from competitor |
| Content marketing | Awaken push in passive seekers by naming the frustration | "5 signs your current tool is costing you hours every week" |
Copy patterns:
See references/competitive-strategy.md when mapping competitors or writing positioning -- forces analysis, the non-obvious-competition tables, and the jobs-based positioning formula with worked examples.
Core concept: Two distinct decision moments: the Big Hire (purchase/signup, happens once) and the Little Hire (decision to use in the moment, happens repeatedly). Winning the Big Hire does not guarantee the Little Hire.
Why it works: Many products win the sale but lose the customer because they optimize only the purchase decision -- understanding both moments reveals where retention problems truly originate.
Key insights:
Product applications:
| Context | Application | Example |
|---|---|---|
| Retention analysis | Separate Big Hire from Little Hire metrics | Track "first use after signup" and "weekly active usage" apart from signup conversion |
| Product design | Optimize repeated usage, not just first impressions | Reduce daily-workflow friction even when onboarding is smooth |
| Customer success | Monitor Little Hire signals to predict churn | Declining usage frequency signals upcoming churn |
Copy patterns:
See references/case-studies.md when you need a worked precedent to reason from -- full Big Hire / Little Hire breakdowns of SNHU, American Girl, and Intuit.
Core concept: True competition is everything a customer can "hire" for the same job, often from completely different categories. Competitors are defined by the job, not by industry classification.
Why it works: Category-based analysis creates blind spots: a milkshake competes with bananas, bagels, and podcasts; Netflix competes with TikTok, sleep, and family conversation. Mapping the full landscape around the job reveals threats and opportunities traditional analysis misses.
Key insights:
Product applications:
| Context | Application | Example |
|---|---|---|
| Competitive analysis | Map all hires for the same job across categories | A PM tool competes with spreadsheets, sticky notes, email, and memory |
| Positioning strategy | Position against the real alternative | Position against "doing it manually", not a named competitor |
| Pricing strategy | Price against the job's value | If the job saves 10 hours/week, price against that time, not similar SaaS |
Copy patterns:
Core concept: Don't ask customers "what do you need" -- they don't know. Instead, reconstruct the purchase timeline (first thought, search, purchase, usage) to uncover the real job.
Why it works: Customers rationalize decisions after the fact and can't articulate latent needs; walking backward through concrete events reveals the true circumstances, forces, and tradeoffs that drove behavior.
Key insights:
Product applications:
| Context | Application | Example |
|---|---|---|
| New market entry | Interview recent switchers | Reconstruct what pushed them away and pulled them in |
| Churn reduction | Interview churned customers on their timeline | Was it Big Hire (wrong expectations) or Little Hire (poor daily experience)? |
| Feature discovery | Interview customers using workarounds | Spreadsheets alongside your product reveal an unmet job dimension |
Copy patterns:
Core concept: Build the entire experience -- features, metrics, organization -- around helping the customer accomplish their job, not around internal capabilities or feature parity.
Why it works: When every decision answers "will this help the customer better accomplish their job?", teams avoid feature bloat and build coherent products; if you can't answer it, you don't understand the job yet.
Key insights:
Product applications:
| Context | Application | Example |
|---|---|---|
| Metrics design | Measure job completion | "Time from problem to resolution", not "features used per session" |
| Product roadmap | Prioritize across job dimensions | A functional fix that ignores the emotional dimension may not move the needle |
| Organizational alignment | Structure teams around jobs | A "morning commute job" team owns content, packaging, and distribution |
Copy patterns:
See references/organizational-change.md when adoption is the bottleneck rather than the analysis -- escaping the feature-factory trap, winning executive buy-in, and managing the change.
| Mistake | Why It Fails | Fix |
|---|---|---|
| Defining jobs narrowly around your product | Misses the real competitive landscape | Define the job from the customer's perspective, never mentioning your product |
| Ignoring emotional and social dimensions | Functional-only jobs miss why customers choose and stay | Always complete all three dimensions |
| Confusing jobs with goals or tasks | Goals too abstract ("be healthy"), tasks too specific ("click button") | Jobs = progress in specific circumstances |
| Only increasing Pull | Great products fail when switching costs and fear stay high | Map all four forces; design interventions for Anxiety and Habit |
| Winning the Big Hire, ignoring the Little Hire | High acquisition, high churn -- purchased but never used | Track and optimize repeated usage separately from purchase |
| Asking customers "what do you want?" | Rationalization and incremental feature requests | Use timeline-based interviews reconstructing actual behavior |
| Defining competition by category | Blind spots from adjacent categories and non-consumption | Map every alternative hire for the job, including doing nothing |
| Question | If No | Action |
|---|---|---|
| Can you state the job in one sentence without mentioning your product? | Product-focused, not job-focused | Write: "When [circumstances], I want to [progress], so I can [outcome]" |
| Have you mapped all four forces? | Over-investing in Pull, ignoring barriers | Design specific interventions for Anxiety and Habit |
| Do you know the emotional and social dimensions? | May win functionally but lose on experience | Run discovery interviews on feelings and social context |
| Have you identified non-obvious competitors? | Competitive blind spots | List everything hireable for the job, including non-consumption |
| Are you tracking Little Hire separately from Big Hire? | Can't tell acquisition problems from retention problems | Separate purchase-conversion and repeated-usage metrics |
| Can your team explain how each feature serves the job? | Building without strategic grounding | Require proposals to name the job dimension served |
| Have you interviewed customers about their purchase timeline? | Job understanding based on assumptions | Run 10+ interviews reconstructing first-thought-to-usage |
When the inline Quick Diagnostic above is not enough -- you are diagnosing a symptom (low signups, high churn, "used wrong") or need JTBD-specific metrics -- see references/diagnostics.md: the "why aren't they buying" symptom table, churn-pattern tables, and traditional-vs-JTBD metric swaps.
For the complete methodology, case studies, and deeper insights:
Clayton M. Christensen (1952-2020) was the Kim B. Clark Professor of Business Administration at Harvard Business School, best known for the theory of disruptive innovation introduced in The Innovator's Dilemma (1997). He developed Jobs to Be Done as a practical innovation methodology in Competing Against Luck (2016) and was repeatedly ranked the world's #1 management thinker by Thinkers50.
© wondelai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (references) in jobs-to-be-done of wondelai/skills.
Open the folder on GitHubat commit c172996
Jobs To Be Done next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Jobs To Be Done this skillwondelai/skills | 2.4k | — | ~4.1k | Automated safety check: Pass | MIT | |
| Jobs To Be Done Analysisdeanpeters/Product-Manager-Skills | 7.2k | 1 repos | ~3.5k | Automated safety check: Pass | Custom licence | |
| Jobs To Be Done Analystsickn33/agentic-awesome-skills | 47k | 1 repos | ~1.6k | Automated safety check: Pass | MIT | |
| Building ProductGTM-Strategist/gtm-strategist-skills | 264 | — | ~5.8k | Automated safety check: Pass | MIT | |
| Osterwalder Canvas Architectsickn33/agentic-awesome-skills | 47k | 1 repos | ~647 | Automated safety check: Pass | MIT | |
| Product Strategyphuryn/pm-skills | 27k | — | ~1.2k | Automated safety check: Pass | MIT |
deanpeters/Product-Manager-Skills
Structures customer jobs, pains and gains in a Jobs-to-be-Done format, to clarify unmet needs, reposition a product or sharpen discovery.
sickn33/agentic-awesome-skills
Uncover the functional, emotional and social jobs a customer hires a product to do: progress state, hiring trigger, alternatives, success criteria, JTBD map.
GTM-Strategist/gtm-strategist-skills
A skill your agent uses when the user needs to define their MVP, create a product roadmap, plan metrics and tracking, refine their value proposition with JTBD, or run usability tests.
sickn33/agentic-awesome-skills
Iterative consultant agent for building and validating logically consistent 9-block Business Model Canvases.
phuryn/pm-skills
Create a comprehensive product strategy using the 9-section Product Strategy Canvas — vision, segments, costs, value propositions, trade-offs, metrics, growth, capabilities, and defensibility.
majiayu000/spellbook
Product discovery and market research expert. An agent skill from majiayu000/spellbook.
wondelai/skills
Navigate the technology adoption lifecycle from early adopters to mainstream market.
wondelai/skills
Apply foundational design principles: affordances, signifiers, constraints, feedback, and conceptual models.
wondelai/skills
Run a structured 5-day process to prototype, test, and validate product ideas with real users.
wondelai/skills
Design habit-forming product loops using the Hook Model (Trigger, Action, Variable Reward, Investment).
wondelai/skills
Diagnose and fix retention problems using behavior design (B=MAP).
wondelai/skills
Design products and pricing around validated willingness to pay, from Ramanujam & Tacke's "Monetizing Innovation".
Categories
Discover what customers truly need by analyzing the "job" they hire your product to do. Jobs To Be Done is an agent skill from wondelai/skills. Discover what customers truly need by analyzing the "job" they hire your product to do.
Jobs To Be Done fits situations like: the user mentions customer discovery; why customers churn; what job does this solve; competing against luck.
Run `npx skills add wondelai/skills --skill jobs-to-be-done -a claude-code`. Or copy the skill folder (jobs-to-be-done in wondelai/skills) into .claude/skills/jobs-to-be-done in your project. Claude Code loads it when a task matches its description.
Run `npx skills add wondelai/skills --skill jobs-to-be-done -a codex`. Or copy the skill folder (jobs-to-be-done in wondelai/skills) into .agents/skills/jobs-to-be-done in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add wondelai/skills --skill jobs-to-be-done -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jobs-to-be-done, .gemini/skills/jobs-to-be-done, .github/skills/jobs-to-be-done and .opencode/skills/jobs-to-be-done in your project.
SKILL.md names no scripts, command-line tools or credentials: Jobs To Be Done is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: amazon.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Jobs To Be Done is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.1k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 11k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Jobs To Be Done: Jobs To Be Done Analysis (deanpeters/Product-Manager-Skills, 7.2k stars), Jobs To Be Done Analyst (sickn33/agentic-awesome-skills, 47k stars), Building Product (GTM-Strategist/gtm-strategist-skills, 264 stars) and Osterwalder Canvas Architect (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
wondelai (a GitHub organization) maintains it in wondelai/skills, which has 2,371 GitHub stars. The repository holds 62 skills in this directory. The repository was last updated on September 10, 2026.
Source: wondelai/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.