nw-jtbd-analysis
JTBD methodology for extracting real jobs behind feature requests — job statements, abstraction layers, first-principles extraction, ODI outcome statements, and opportunity scoring
Best use case
nw-jtbd-analysis is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
JTBD methodology for extracting real jobs behind feature requests — job statements, abstraction layers, first-principles extraction, ODI outcome statements, and opportunity scoring
Teams using nw-jtbd-analysis should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/nw-jtbd-analysis/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How nw-jtbd-analysis Compares
| Feature / Agent | nw-jtbd-analysis | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
JTBD methodology for extracting real jobs behind feature requests — job statements, abstraction layers, first-principles extraction, ODI outcome statements, and opportunity scoring
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# JTBD Analysis
## Core Principle
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.
---
## Job Statement Format
```
When [situation/trigger], I want to [motivation/action], so I can [expected outcome]
```
**Examples (good)**:
- "When I'm hosting a virtual networking event, I want to facilitate natural conversations between strangers, so I can create valuable connections that wouldn't happen otherwise."
- "When I join an event as a participant, I want to quickly find relevant people to talk to, so I can maximize the value of my limited time."
---
## Job Types — Extract All Three
| 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 |
---
## Abstraction Layers — Navigate to the Real Job
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**:
- Use "why?" to move up layers
- Use "how?" to move down layers
- Stop when further "why?" produces a life-goal answer
---
## First-Principles Extraction — 3-Step Inversion
When a feature request is presented as a job, apply this:
1. **Identify the Activity** — What visible action is the user performing?
- e.g., "User brainstorms on a whiteboard"
2. **Reject the Activity as the Job** — Does anyone wake up wanting to do this activity?
- "Nobody wakes up wanting to brainstorm" → the job is deeper
3. **Strip to Irreducible Function** — What remains if all tools and methods are removed?
- e.g., "Reduce uncertainty via input-synthesis-convergence"
**Disruption check**: Is there a higher-level job that would make this entire job unnecessary?
---
## ODI Outcome Statements — Measurable Success Criteria
Format: `[Direction] + [Metric] + [Object] + [Context]`
**Direction**: Always "Minimize" (95% of time). "Maximize" only when more is genuinely better.
**Metrics priority**:
1. `the time it takes to` — speed/efficiency (preferred)
2. `the likelihood of` — avoiding occurrences
3. `the likelihood that` — avoiding results
4. `the number of` — quantity reduction
5. `the effort required to` — ease
**Good 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.
---
## Opportunity Scoring
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 |
```
---
## DIVERGE Output for JTBD Phase
Produce `docs/feature/{feature-id}/diverge/job-analysis.md` with:
1. **Raw request** — verbatim feature/problem statement received
2. **Job extraction** — 5 Why chain from tactical to physical/strategic level
3. **Job statements** — functional (required) + emotional + social (if identifiable)
4. **Disruption check** — Is there a higher-level job this entire job is serving?
5. **Outcome statements** — 3-6 measurable ODI-format statements
6. **Opportunity candidates** — Which outcomes appear most under-served?
**Gate**: Job must be at strategic or physical abstraction level. Tactical-level jobs are not acceptable input for brainstorming — elevate first.Related Skills
nw-stress-analysis
Advanced architecture stress analysis methodology for designing systems that survive unknown stresses. Load when --residuality flag is used or when designing high-uncertainty, mission-critical systems.
nw-jtbd-bdd-integration
Translating JTBD analysis to BDD scenarios - job story to Given-When-Then patterns, forces-based test discovery, job-map-based test discovery, and property-shaped criteria
nw-persona-jtbd-analysis
Structured persona creation and JTBD analysis methodology - persona templates, ODI job step tables, pain point mapping, success metric quantification, and multi-persona segmentation
nw-jtbd-workflow-selection
JTBD workflow classification and routing - ODI two-phase framework, five job types with workflow sequences, baseline type selection, workflow anti-patterns, and common recipes
nw-jtbd-opportunity-scoring
JTBD opportunity scoring and prioritization - outcome statement format, opportunity algorithm, scoring interpretation, feature prioritization, and opportunity matrix template
nw-jtbd-interviews
JTBD discovery techniques adapted for AI product owner context. Four Forces extraction, job dimension probing, question banks, and anti-patterns for interactive feature discovery conversations.
nw-jtbd-core
Core JTBD theory and job story format - job dimensions, job story template, job stories vs user stories, 8-step universal job map, outcome statements, and forces of progress
nw-ux-web-patterns
Web UI design patterns for product owners. Load when designing web application interfaces, writing web-specific acceptance criteria, or evaluating responsive designs.
nw-ux-tui-patterns
Terminal UI and CLI design patterns for product owners. Load when designing command-line tools, interactive terminal applications, or writing CLI-specific acceptance criteria.
nw-ux-principles
Core UX principles for product owners. Load when evaluating interface designs, writing acceptance criteria with UX requirements, or reviewing wireframes and mockups.
nw-ux-emotional-design
Emotional design and delight patterns for product owners. Load when designing onboarding flows, empty states, first-run experiences, or evaluating the emotional quality of an interface.
nw-ux-desktop-patterns
Desktop application UI patterns for product owners. Load when designing native or cross-platform desktop applications, writing desktop-specific acceptance criteria, or evaluating panel layouts and keyboard workflows.