thinking-jobs-to-be-done — Claude Code skill: what to build
Works out the progress a user hires a product for, then ranks features by it. Useful when you cannot tell what to cut and what to grow.
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-jobs-to-be-done -a claude-codeWhat thinking-jobs-to-be-done does
The skill walks the agent through a Jobs to Be Done procedure. First it names the performer and the circumstance: who hires a solution, in what trigger situation, how often, with what at stake. Then it states the job without naming a feature — when this happens, I want that progress, so I get that outcome — and rejects solution-shaped phrasings like adding a dashboard.
Next comes the forces map: what pushed the old way to fail, what pulls toward the new progress, what anxiety blocks the switch, what habit holds the status quo. Competition is read wider than the same category — email, spreadsheets, manual work, non-consumption. The output is a decision artifact: job statement, performers, forces, outcome metrics, and a call to build, cut or reposition.
It needs at least one evidence source: a PRD or spec, tickets, support or sales notes, analytics and logs, or current product behavior. Without one, the skill asks you to name the research gap instead of inventing quotes. On pure execution work — a bug fix, a schema change, CI — it gets in the way, because the job is already known and rediscovering it buys nothing.
What it helps with
- decide what to build and what to cut when the need is fuzzy
- explain why a shipped feature never got adopted
- map competitors outside your own category
- write a job statement that does not smuggle in a solution
- stress-test a decision against its strongest countercase
Example prompts for the agent
- Run a JTBD pass on why our new feature is not sticking — here are the tickets and support notes
- Write the job statement for this PRD and tell me what to cut from the backlog
- Build the JTBD artifact from our logs and current product behavior
How to install thinking-jobs-to-be-done
1Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-jobs-to-be-done -a claude-code2Manually: put the files in place
~/.claude/skills/thinking-jobs-to-be-done/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/thinking-jobs-to-be-done/
1Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-jobs-to-be-done -a codex2Manually: put the files in place
.agents/skills/thinking-jobs-to-be-done/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-jobs-to-be-done -a cursor2Manually: put the files in place
.cursor/skills/thinking-jobs-to-be-done/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install tjboudreaux/cc-thinking-skills thinking-jobs-to-be-done2Manually: put the files in place
.github/skills/thinking-jobs-to-be-done/SKILL.md1Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-jobs-to-be-done -a gemini-cli2Platform CLI
gemini skills install https://github.com/tjboudreaux/cc-thinking-skills --path skills/thinking-jobs-to-be-doneManually: put the files in place
.devin/skills/thinking-jobs-to-be-done/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-jobs-to-be-done -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about thinking-jobs-to-be-done
How do I install thinking-jobs-to-be-done in Claude?
Run npx skills add tjboudreaux/cc-thinking-skills --skill thinking-jobs-to-be-done -a claude-code. The skill lands in ~/.claude/skills/thinking-jobs-to-be-done/SKILL.md.
What does thinking-jobs-to-be-done do?
It helps decide what to build and explain failed adoption. It recovers the progress users hire a solution for under a circumstance, then ranks by outcome and competing workarounds.
What do I need before using it?
At least one evidence source: a PRD or spec, tickets, support and sales notes, analytics and logs, or current product behavior. With none of those, the skill names the research gap rather than making up quotes.
Source text
SKILL.md · MIT
---
name: thinking-jobs-to-be-done
description: Deciding what to build or why adoption fails. Recover the progress users hire a solution for under a circumstance, then rank by outcome and competing workarounds.
disable-model-invocation: true
---
# Jobs to Be Done
Core rule: users hire solutions for progress in a situation. Prioritize the job, forces, outcome, and competing workaround—not the feature list.
## When to Use
- Choosing what to build, cut, or prioritize when user need is unclear
- Explaining low adoption of a shipped feature
- Mapping competition beyond same-category products (email, spreadsheets, manual work, non-consumption)
- Positioning or research when the progress sought is contested
Requires at least one evidence source: PRD/spec, tickets, support/sales notes, analytics/logs, or current product behavior. If none exist, name the research gap; do not invent quotes.
## When NOT to Use
- Pure execution once the job is known (bug fix, schema, CI, performance)—implement, do not rediscover the job
- Retro-justifying a decision already locked—framework theater
- Infrastructure/internal work with no end-user progress decision
- When the open question is only *how* to implement a settled job
## Procedure
1. **Name performers and circumstance.** Who hires a solution, in what trigger situation, how often, and with what stakes. Prefer primary performers with daily high-stakes jobs over rare secondary ones.
2. **State the job, not the solution.** Frame: `When [circumstance], I want to [progress], so I can [outcome]`. Reject solution-shaped statements ("use Slack", "add a dashboard"). Capture functional, emotional, and social dimensions only if evidence supports them.
3. **Map forces and switch.** From artifacts: what push made the old way fail, what pull the new progress offers, what anxiety blocks switching, what habit keeps the status quo. List what they hire today—including non-software and non-consumption.
4. **Define done and outcome metrics.** How the performer knows the job is finished. List outcomes to minimize and maximize (time-to-progress, rework, confidence, surprises). Prefer frequent, poorly served jobs over rare, adequately worked-around ones.
5. **Score candidates against the job.** For each feature/priority: which job step it serves, performer share, frequency, quality of alternatives. Promote high-frequency underserved dimensions; demote polished work for well-served or low-stakes jobs.
6. **Strongest countercase.** State the best case that the stated job is wrong (wrong performer, vanity metric, process-is-the-job, competition is actually non-consumption). If the countercase fits evidence better, revise the job before recommending build.
7. **Stop.** Stop when one primary job statement, competing set, and outcome metrics are evidence-backed enough to change a build/position decision—or when artifacts cannot answer and research is the only next step.
## Output
Produce a JTBD decision artifact:
```text
Job statement: When …, I want to …, so I can …
Performers: primary / secondary (frequency, stakes)
Forces: push / pull / anxiety / habit
Competition: direct | indirect | non-consumption
Outcomes: minimize […] ; maximize […]
Priority implication: build / cut / reposition — because job gap is …
Countercase checked: …
Evidence used / gaps: …
```
## Verification
- **Falsify:** If replacing the job statement with a feature name does not change the recommendation, you never left solution-space—rewrite the job from circumstance and progress.
- **Stop:** Do not keep mapping job steps once the ranking decision is stable.
- **Over-application guard:** Skip on pure implementation tasks and known jobs. Never fabricate user quotes or personas to fill missing evidence.
© tjboudreaux · MIT · tjboudreaux/cc-thinking-skills