jobs-to-be-done — Claude Code skill: what it does, how to install
The skill breaks customer needs into functional, social and emotional jobs, plus pains and gains. Useful when feature requests keep arriving with no reason behind them.
npx skills add deanpeters/Product-Manager-Skills --skill jobs-to-be-done -a claude-codeWhat jobs-to-be-done does
The skill runs a customer-needs analysis along three lines: functional jobs, social jobs and emotional jobs, with pains and gains next to them. You get back a structured jobs, pains, gains breakdown you can take into positioning or roadmap work.
It ships a step-by-step walkthrough and a template.md to fill in. Name the segment, the situation and what people use today before the analysis starts; without that context the skill sends you off to run interviews or switch interviews. Budget 20-30 minutes. A feature wishlist or a demographic profile does not count as a job, and the skill says so up front.
Treat the output as hypotheses to test against data, not as a finished report. Run it before the product is built: once it ships, discovery has nowhere to land.
What it helps with
- turn support tickets into a list of jobs, pains and gains
- work out what customers actually hire the product to do
- reposition a product around an unmet need
- spot the non-obvious alternatives customers switch from
- tell a customer job apart from a feature request
Example prompts for the agent
- Run JTBD for our product — people keep asking for features that aren't on the roadmap
- Turn these six interview summaries into functional, social and emotional jobs
- Break down the pains and gains for the segment in my notes
How to install jobs-to-be-done
1Skills CLI (Vercel)
npx skills add deanpeters/Product-Manager-Skills --skill jobs-to-be-done -a claude-code2Manually: put the files in place
~/.claude/skills/jobs-to-be-done/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/jobs-to-be-done/
1Skills CLI (Vercel)
npx skills add deanpeters/Product-Manager-Skills --skill jobs-to-be-done -a codex2Manually: put the files in place
.agents/skills/jobs-to-be-done/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add deanpeters/Product-Manager-Skills --skill jobs-to-be-done -a cursor2Manually: put the files in place
.cursor/skills/jobs-to-be-done/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install deanpeters/Product-Manager-Skills jobs-to-be-done2Manually: put the files in place
.github/skills/jobs-to-be-done/SKILL.md1Skills CLI (Vercel)
npx skills add deanpeters/Product-Manager-Skills --skill jobs-to-be-done -a gemini-cli2Platform CLI
gemini skills install https://github.com/deanpeters/Product-Manager-Skills --path skills/jobs-to-be-doneManually: put the files in place
.devin/skills/jobs-to-be-done/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add deanpeters/Product-Manager-Skills --skill jobs-to-be-done -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set7
The whole set →Similar
Questions about jobs-to-be-done
How do I install jobs-to-be-done in Claude Code?
Run npx skills add deanpeters/Product-Manager-Skills --skill jobs-to-be-done -a claude-code. The skill lands at ~/.claude/skills/jobs-to-be-done/SKILL.md.
What does jobs-to-be-done do?
It splits a customer need into functional, social and emotional jobs, then adds the pains and gains around them. The result shows why someone picks up the product in the first place.
How long does the analysis take, and when is it the wrong tool?
Around 20-30 minutes. If the product is already built, discovery comes too late; small feature tweaks do not need this much analysis either.