Install any skill in seconds. Free to start, no credit card required.
Get Started Free →JTBD methodology for extracting real jobs behind feature requests — job statements, abstraction layers, first-principles extraction, ODI outcome statements, and opportunity scoring
.claude/skills/nwave-ai-nw-jtbd-analysis/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 13% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 30% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 23% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 47% | 0% |
A job is the progress a person is trying to make in a particular circumstance. Jobs are stable over time — technology changes, jobs don't. People hire products to make progress; they fire them when they fail.
The trap: Feature requests describe a proposed solution, not the underlying job. Always extract the job first.
When [situation/trigger], I want to [motivation/action], so I can [expected outcome]Examples (good):
| Type | Question | Example | |------|----------|---------| | Functional | What task is the user trying to accomplish? | Find someone with complementary expertise | | Emotional | How does the user want to feel? | Feel confident approaching strangers | | Social | How does the user want to be perceived? | Appear professional and well-connected |
Jobs usually live at strategic or physical level, not tactical.
| Layer | Question | Example | |-------|----------|---------| | Tactical | How do we improve this interaction? | Better drag-and-drop for notes | | Operational | Why does this workflow exist? | Why do we need a facilitator? | | Strategic | What decision is being pursued? | How do we reduce direction uncertainty? | | Physical | What's the irreducible function? | Input → Synthesis → Convergence |
Navigation rules:
When a feature request is presented as a job, apply this:
Disruption check: Is there a higher-level job that would make this entire job unnecessary?
Format: [Direction] + [Metric] + [Object] + [Context]
Direction: Always "Minimize" (95% of time). "Maximize" only when more is genuinely better.
Metrics priority:
the time it takes to — speed/efficiency (preferred)the likelihood of — avoiding occurrencesthe likelihood that — avoiding resultsthe number of — quantity reductionthe effort required to — easeGood vs bad examples:
| Bad | Problem | Good | |-----|---------|------| | "I want easy video calls" | Ambiguous + solution | "Minimize the time it takes to start a conversation with a specific person" | | "Manage my network effectively" | Vague verb + ambiguous | "Minimize the time it takes to identify who can help with a specific need" | | "Use breakout rooms to talk privately" | Solution embedded | "Minimize the likelihood of conversations being overheard by unintended parties" | | "Don't miss important people" | Negative framing | "Minimize the likelihood of failing to connect with relevant attendees" |
Forbidden words: easy, reliable, good, better, effective, efficient, manage, handle, deal with. Forbidden patterns: solution references ("using AI", "via the app"), compound statements with "and"/"or", demographics.
Formula: Score = Importance + Max(0, Importance - Satisfaction)
Where Importance and Satisfaction are surveyed 1-10.
| Score | Interpretation | |-------|---------------| | > 12 | Under-served — high opportunity | | 10-12 | Appropriately served — maintain | | < 10 | Over-served — do not invest |
Output format per opportunity:
| Outcome | Importance | Satisfaction | Score | Status |
|---------|------------|--------------|-------|--------|
| Minimize time to find relevant attendees | 9.2 | 4.1 | 14.3 | Under-served |Produce docs/feature/{feature-id}/diverge/job-analysis.md with:
Gate: Job must be at strategic or physical abstraction level. Tactical-level jobs are not acceptable input for brainstorming — elevate first.
Other measured skills in the registry, with their headline benchmark lift.