nWave/skills/nw-jtbd-opportunity-scoring/SKILL.md
JTBD opportunity scoring and prioritization - outcome statement format, opportunity algorithm, scoring interpretation, feature prioritization, and opportunity matrix template
npx skillsauth add nwave-ai/nwave nw-jtbd-opportunity-scoringInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use when prioritizing features, stories, or backlog items based on customer-defined outcomes. Opportunity scoring (Ulwick's ODI) replaces gut-feel prioritization with evidence-based ranking.
Every customer need expressed as a desired outcome following strict format:
[Direction] + the [metric] + [object of control] + [contextual clarifier]
Outcome statement must be: Solution-free (no specific technology) | Measurable (ratable on importance/satisfaction 1-5) | Controllable (customer can assess improvement) | Unambiguous (same interpretation by all stakeholders)
Walk the 8-step job map (see jtbd-core skill) and generate 2-3 per step. Produces 16-24 outcome statements per job -- comprehensive view of customer needs.
| Job Map Step | Outcome Statement Pattern | |-------------|--------------------------| | Define | "Minimize the time to determine [what is needed]" | | Locate | "Minimize the likelihood of missing [required input]" | | Prepare | "Minimize the time to set up [environment/context]" | | Confirm | "Minimize the likelihood of proceeding with [invalid state]" | | Execute | "Minimize the time to complete [core action]" | | Monitor | "Minimize the likelihood of [undetected failure]" | | Modify | "Minimize the time to recover from [exception]" | | Conclude | "Minimize the likelihood of [incomplete cleanup]" |
Opportunity Score = Importance + max(0, Importance - Satisfaction)
Where:
Rewards outcomes both important and unsatisfied. If satisfaction >= importance, second term is zero (appropriately served). If satisfaction < importance, gap amplifies score (underserved).
| Score Range | Category | Action | |-------------|----------|--------| | 15-20 | Extremely underserved | High-priority; invest heavily | | 12-15 | Underserved | Strong opportunity; plan for next iteration | | 10-12 | Appropriately served | Maintain; incremental improvement | | < 10 | Overserved | Simplification candidate; may be over-engineered |
From job mapping and interview findings, compile 15-30 per major job.
Gather ratings from users/stakeholders. For small teams:
Compute scores, sort descending. Top scores = highest-priority features.
Each high-scoring outcome maps to one or more stories. Score 15+ should produce at least one story in current iteration.
Scores below 10 are simplification candidates. Resources on overserved outcomes are better redirected to underserved ones.
## Opportunity Scoring: [Product/Feature Area]
| # | Outcome Statement | Imp. (%) | Sat. (%) | Score | Priority |
|---|-------------------|----------|----------|-------|----------|
| 1 | Minimize the time to [outcome A] | | | | |
| 2 | Minimize the likelihood of [outcome B] | | | | |
| 3 | Maximize the [quality] when [context C] | | | | |
### Scoring Method
- Importance: % of respondents rating 4+ on 5-point scale
- Satisfaction: % of respondents rating 4+ on 5-point scale
- Score: Importance + max(0, Importance - Satisfaction)
- Priority: Extremely Underserved (15+), Underserved (12-15),
Appropriately Served (10-12), Overserved (<10)
### Top Opportunities (Score >= 12)
1. [Outcome] -- Score: [X] -- Story: [link or title]
2. [Outcome] -- Score: [X] -- Story: [link or title]
### Overserved Areas (Score < 10)
1. [Outcome] -- Score: [X] -- Simplification opportunity: [description]
### Data Quality Notes
- Source: [user interviews / team estimates / support ticket analysis]
- Sample size: [N respondents]
- Confidence: [High if N >= 10 with user data, Medium if team estimates]
Context: CLI tool for deploying applications. 8 users surveyed.
| # | Outcome Statement | Imp. | Sat. | Score | Priority | |---|-------------------|------|------|-------|----------| | 1 | Minimize time to identify root cause of failed deployment | 92% | 35% | 14.9 | Extremely Underserved | | 2 | Minimize likelihood of deploying untested code | 88% | 72% | 10.4 | Appropriately Served | | 3 | Minimize time to roll back a bad deployment | 85% | 30% | 14.0 | Underserved | | 4 | Minimize time to onboard a new team member to deploy | 65% | 40% | 9.0 | Overserved | | 5 | Minimize likelihood of misconfiguring environment variables | 80% | 45% | 11.5 | Appropriately Served |
Prioritization result:
Ulwick's methodology assumes large-scale surveys (100+ respondents). For small agile teams:
| Method | Best For | Combine With Opportunity Scoring | |--------|----------|--------------------------------| | MoSCoW | Sprint-level scope decisions | Use opportunity scores to inform Must/Should/Could | | Value/Effort matrix | Quick relative ranking | Use opportunity scores as "value" axis | | RICE | Feature-level prioritization | Use opportunity score as "Impact" component | | Story mapping | Release planning | Use opportunity scores to prioritize rows (MVP vs later) |
jtbd-core skilljtbd-interviews skilljtbd-bdd-integration skillleanux-methodology skilltesting
Acceptance test creation methodology for the DISTILL wave. Domain knowledge for the acceptance designer agent: port-to-port principle, prior wave reading, wave-decision reconciliation, graceful degradation, and document back-propagation.
development
Cross-agent collaboration protocols, workflow handoff patterns, and commit message formats for TDD/Mikado/refactoring workflows
development
Creates a phased roadmap.json for a feature goal with acceptance criteria and TDD steps. Use when planning implementation steps before execution.
testing
Acceptance test creation methodology for the DISTILL wave. Domain knowledge for the acceptance designer agent: port-to-port principle, prior wave reading, wave-decision reconciliation, graceful degradation, and document back-propagation.