RICE Prioritisation Skill
Apply consistent, criteria-based RICE scoring to a list of features or initiatives to produce an objective prioritisation ranking.
Required Inputs
Ask the user for these if not provided:
- List of initiatives or features to score (names and brief descriptions)
- Reach estimates (users affected per quarter — from analytics if available)
- Impact estimates (use the standard scale below)
- Effort estimates (person-months — from engineering if available)
- Quarter or planning period
RICE Definitions (adapt to your context)
- Reach: Number of users affected per quarter (use actual DAU/MAU data where available)
- Impact: Effect on your primary metric — use scale: 3=massive, 2=high, 1=medium, 0.5=low, 0.25=minimal
- Confidence: How certain are we about R and I estimates? 100%=high, 80%=medium, 50%=low
- Effort: Person-months required across all functions
RICE Formula
RICE Score = (Reach × Impact × Confidence) / Effort
Programmatic Helper
This skill ships with a stdlib-only Python script that calculates and ranks RICE scores so the maths is consistent and the quick-win / moonshot flags are applied by rule, not by feel. Feed it the initiatives once R, I, C, and E are gathered.
# From a JSON file (confidence accepts 0.8 or 80)
python3 scripts/rice_calculator.py initiatives.json
# Or from a CSV with header: name,reach,impact,confidence,effort
python3 scripts/rice_calculator.py initiatives.csv --format csv
# Or piped in
echo '[{"name":"Onboarding","reach":5000,"impact":2,"confidence":0.8,"effort":3}]' \
| python3 scripts/rice_calculator.py -
It outputs a ranked table with computed RICE scores and auto-flags quick-win (strong score, low relative effort), moonshot (high impact, high effort), and low-confidence (≤50%) items. Use the computed ranking as the starting point, then apply the validation step below — never accept a surprising top rank without checking the estimates behind it.
Where this sits — scoring on the spine
Third in the product-decision spine: /assumption-mapper → /prd-template →
rice-prioritisation → /roadmap-narrative. It receives the success metric from
each initiative's PRD — RICE's Impact is the estimated move on that baselined number,
not a fresh guess — and hands /roadmap-narrative the ranked initiatives with their
scores to group into themes. The four RICE terms are defined once in
docs/craft/product-decisions.md; Confidence
there is the honesty valve, and this skill lives or dies on using it.
The loop
RICE fails when estimates are invented to produce a desired ranking. The loop's job is
to keep every score honest; Phase 2 is where that happens.
- Gather the four estimates per initiative. Reach (real count per period), Impact
(magnitude on the PRD's success metric), Confidence (0–1), Effort (person-months).
Pull Impact from the upstream PRD's metric where it exists.
Done when: every initiative has all four, and each carries a provenance tag on
its source.
- Interrogate confidence — the anti-gaming phase. For each estimate, confidence
must reflect evidence, not enthusiasm: a bold impact with no data gets a low
confidence, and the score self-corrects. Challenge weak inputs and name what data
would raise them (the disclosed estimate-calibration
reference is the how).
Done when: no [hunch] estimate wears a high confidence, and the person who owns
the estimate would defend each number out loud.
- Score, rank, and stress the top. Compute RICE, rank, flag quick wins (high
score, low effort) and moonshots (high impact, high effort), note dependencies.
Then the cross-check: if the top item surprises the team, an estimate is probably
inflated — RICE is a tool, not a verdict.
Done when: the ranking is computed and the top result has survived one honest
"does this feel right, and if not, which estimate is lying?"
- Hand off. Pass the ranked table (with scores and dependencies) to
/roadmap-narrative so it groups by theme rather than re-deriving priorities.
Done when: /roadmap-narrative could theme these without re-scoring.
Output Structure
RICE Prioritisation: [Backlog/Quarter]
| Initiative |
Reach |
Impact |
Confidence |
Effort |
RICE Score |
Notes |
| [name] |
[n] |
[score] |
[%] |
[months] |
[score] |
[flags] |
Recommended Sequence
[Top 5 initiatives with rationale]
Quick Wins (high score, low effort)
[Items to pick up alongside bigger bets]
Data Gaps to Address
[What information would most improve scoring accuracy]
Scoring Rubric (0–40)
Score any output of this skill before handing it over; 32+ is ship-quality.
| Dimension |
0 |
5 |
10 |
| Estimate credibility |
Round-number guesses at 100% confidence; effort estimated by PM alone |
Reach grounded in analytics but confidence uniform across items regardless of evidence |
Each estimate names its source; anything without data sits at 50% confidence; effort comes from engineering, and the doc says so |
| Impact discrimination |
Everything scored 2–3 — the scale produces no signal |
Some spread across the scale but anchors undefined, so scores aren't comparable |
Full scale used with a stated anchor for each level; "massive" reserved for genuinely rare items |
| Ranking interrogation |
Raw sorted output accepted as the verdict |
Quick wins and moonshots flagged, but surprising ranks and dependencies unexamined |
Surprising top ranks investigated with the inflated estimate found or defended; dependencies noted where they change sequencing |
| Actionable sequencing |
A scored table with no recommendation |
Table plus a top-5 list, but no rationale or data-gap follow-ups |
Recommended sequence with per-item rationale, quick wins slotted alongside bigger bets, and named data gaps that would sharpen the next pass |
Quality Checks
Anti-Patterns
1---2name: rice-prioritisation-23description: Scores and ranks product initiatives using the RICE framework. Use when asked to prioritise features, rank a backlog using RICE, score initiatives for quarterly planning, or apply an objective framework to a list of competing ideas. Produces a ranked RICE table with scores, quick wins and moonshot flags, dependency notes, and a recommended sequencing order.4---56# RICE Prioritisation Skill78Apply consistent, criteria-based RICE scoring to a list of features or initiatives to produce an objective prioritisation ranking.910## Required Inputs1112Ask the user for these if not provided:13- **List of initiatives or features to score** (names and brief descriptions)14- **Reach estimates** (users affected per quarter — from analytics if available)15- **Impact estimates** (use the standard scale below)16- **Effort estimates** (person-months — from engineering if available)17- **Quarter or planning period**1819## RICE Definitions (adapt to your context)20- **Reach:** Number of users affected per quarter (use actual DAU/MAU data where available)21- **Impact:** Effect on your primary metric — use scale: 3=massive, 2=high, 1=medium, 0.5=low, 0.25=minimal22- **Confidence:** How certain are we about R and I estimates? 100%=high, 80%=medium, 50%=low23- **Effort:** Person-months required across all functions2425## RICE Formula26RICE Score = (Reach × Impact × Confidence) / Effort2728## Programmatic Helper2930This skill ships with a stdlib-only Python script that calculates and ranks RICE scores so the maths is consistent and the quick-win / moonshot flags are applied by rule, not by feel. Feed it the initiatives once R, I, C, and E are gathered.3132```bash33# From a JSON file (confidence accepts 0.8 or 80)34python3 scripts/rice_calculator.py initiatives.json3536# Or from a CSV with header: name,reach,impact,confidence,effort37python3 scripts/rice_calculator.py initiatives.csv --format csv3839# Or piped in40echo '[{"name":"Onboarding","reach":5000,"impact":2,"confidence":0.8,"effort":3}]' \41 | python3 scripts/rice_calculator.py -42```4344It outputs a ranked table with computed RICE scores and auto-flags **quick-win** (strong score, low relative effort), **moonshot** (high impact, high effort), and **low-confidence** (≤50%) items. Use the computed ranking as the starting point, then apply the validation step below — never accept a surprising top rank without checking the estimates behind it.4546## Where this sits — scoring on the spine4748Third in the product-decision spine: **`/assumption-mapper` → `/prd-template` →49`rice-prioritisation` → `/roadmap-narrative`**. It receives **the success metric** from50each initiative's PRD — RICE's *Impact* is the estimated move on *that* baselined number,51not a fresh guess — and hands `/roadmap-narrative` **the ranked initiatives with their52scores** to group into themes. The four RICE terms are defined once in53[`docs/craft/product-decisions.md`](../../docs/craft/product-decisions.md); *Confidence*54there is the honesty valve, and this skill lives or dies on using it.5556## The loop5758RICE fails when estimates are invented to produce a desired ranking. The loop's job is59to keep every score honest; Phase 2 is where that happens.60611. **Gather the four estimates per initiative.** Reach (real count per period), Impact62 (magnitude on the PRD's success metric), Confidence (0–1), Effort (person-months).63 Pull Impact from the upstream PRD's metric where it exists.64 **Done when:** every initiative has all four, and each carries a provenance tag on65 its source.662. **Interrogate confidence — the anti-gaming phase.** For each estimate, confidence67 must reflect *evidence*, not enthusiasm: a bold impact with no data gets a low68 confidence, and the score self-corrects. Challenge weak inputs and name what data69 would raise them (the disclosed [estimate-calibration](references/estimate-calibration.md)70 reference is the how).71 **Done when:** no [hunch] estimate wears a high confidence, and the person who owns72 the estimate would defend each number out loud.733. **Score, rank, and stress the top.** Compute RICE, rank, flag *quick wins* (high74 score, low effort) and *moonshots* (high impact, high effort), note dependencies.75 Then the cross-check: if the top item surprises the team, an estimate is probably76 inflated — RICE is a tool, not a verdict.77 **Done when:** the ranking is computed and the top result has survived one honest78 "does this feel right, and if not, which estimate is lying?"794. **Hand off.** Pass the ranked table (with scores and dependencies) to80 `/roadmap-narrative` so it groups by theme rather than re-deriving priorities.81 **Done when:** `/roadmap-narrative` could theme these without re-scoring.8283## Output Structure8485### RICE Prioritisation: [Backlog/Quarter]86| Initiative | Reach | Impact | Confidence | Effort | RICE Score | Notes |87|------------|-------|--------|------------|--------|------------|-------|88| [name] | [n] | [score] | [%] | [months] | [score] | [flags] |8990#### Recommended Sequence91[Top 5 initiatives with rationale]9293#### Quick Wins (high score, low effort)94[Items to pick up alongside bigger bets]9596#### Data Gaps to Address97[What information would most improve scoring accuracy]9899## Scoring Rubric (0–40)100101Score any output of this skill before handing it over; 32+ is ship-quality.102103| Dimension | 0 | 5 | 10 |104|---|---|---|---|105| Estimate credibility | Round-number guesses at 100% confidence; effort estimated by PM alone | Reach grounded in analytics but confidence uniform across items regardless of evidence | Each estimate names its source; anything without data sits at 50% confidence; effort comes from engineering, and the doc says so |106| Impact discrimination | Everything scored 2–3 — the scale produces no signal | Some spread across the scale but anchors undefined, so scores aren't comparable | Full scale used with a stated anchor for each level; "massive" reserved for genuinely rare items |107| Ranking interrogation | Raw sorted output accepted as the verdict | Quick wins and moonshots flagged, but surprising ranks and dependencies unexamined | Surprising top ranks investigated with the inflated estimate found or defended; dependencies noted where they change sequencing |108| Actionable sequencing | A scored table with no recommendation | Table plus a top-5 list, but no rationale or data-gap follow-ups | Recommended sequence with per-item rationale, quick wins slotted alongside bigger bets, and named data gaps that would sharpen the next pass |109110## Quality Checks111112- [ ] Every initiative has all four RICE components estimated (even roughly)113- [ ] Confidence is 50% for anything without data backing (not 100% as a default)114- [ ] Quick wins and moonshots are explicitly called out115- [ ] Dependencies that affect sequencing are noted116- [ ] Any surprising ranking is investigated before accepting it117118## Anti-Patterns119120- [ ] Do not default to 100% confidence on estimates that lack supporting data — this inflates scores and misleads planning121- [ ] Do not treat RICE scores as a final decision — a ranking that surprises the team must be investigated before it is accepted122- [ ] Do not omit effort estimates from engineering — PM-only effort estimates are frequently optimistic and skew results123- [ ] Do not forget to note dependencies that would change the sequencing even if RICE scores suggest otherwise124- [ ] Do not score every initiative at the same impact level — if everything is "high impact," the framework produces no useful signal