Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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.
.claude/skills/mohitagw15856-rice-prioritisation/SKILL.md| Model | Eval pass | Runs |
|---|---|---|
| gemini-3.6-flash | 100% | 20 |
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 5% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 114% | 0% |
| case-11 | ✗→✓ | ▲ Improved | -1% | 0% |
| case-14 | ✗→✓ | ▲ Improved | -28% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 5% | 0% |
Apply consistent, criteria-based RICE scoring to a list of features or initiatives to produce an objective prioritisation ranking.
If a professional-brain (brain/) exists, ground in it instead of re-asking for what you already know:
knowledge/strategy.md (so the ranking serves the direction), the items as entities/, and impact hypotheses/. Run python3 ../professional-brain/scripts/brain_query.py ./brain "<initiative theme>" and carry each fact's provenance tag through — an impact estimate is usually a [hunch], not [data].decisions/ and the reach/impact estimates as hypotheses/ tagged by evidence strength. Show them, get a yes, then write with ../professional-brain/scripts/brain_write.py … --commit (append-only, dry-run by default).Ask the user for these if not provided:
RICE Score = (Reach × Impact × Confidence) / Effort
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.
bash# 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.
references/estimate-calibration.md — how to anchor each of the four estimates (reach sources, the impact scale with reserve-it-for examples, evidence-based confidence, cross-functional effort) and the cross-checks to run on the finished ranking. Apply it when challenging the user's inputs.templates/scoring-worksheet.md — a fill-in worksheet whose evidence columns force each score to name its source. Offer it when a team wants to score together rather than have the ranking generated.| Initiative | Reach | Impact | Confidence | Effort | RICE Score | Notes | |------------|-------|--------|------------|--------|------------|-------| | name] | n] | score] | %] | months] | score] | flags] |
Top 5 initiatives with rationale]
Items to pick up alongside bigger bets]
What information would most improve scoring accuracy]
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 |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | pass→pass | 12,270 | 11,024 | -10% | 1 | 1 | 0% | 1,022 | 2,694 | +164% | 0 | 0 | — |
case-02 | pass→pass | 19,246 | 19,302 | +0% | 1 | 1 | 0% | 2,295 | 3,943 | +72% | 0 | 0 | — |
case-03 | fail→pass | 18,630 | 7,573 | -59% | 1 | 1 | 0% | 1,941 | 2,044 | +5% | 0 | 0 | — |
case-04 | pass→pass | 11,564 | 8,424 | -27% | 1 | 1 | 0% | 1,048 | 2,059 | +96% | 0 | 0 | — |
case-05 | pass→pass | 13,031 | 15,666 | +20% | 1 | 1 | 0% | 1,244 | 3,525 | +183% | 0 | 0 | — |
case-06 | pass→pass | 19,645 | 16,389 | -17% | 1 | 1 | 0% | 2,192 | 3,152 | +44% | 0 | 0 | — |
case-07 | pass→pass | 16,819 | 11,841 | -30% | 1 | 1 | 0% | 1,817 | 2,887 | +59% | 0 | 0 | — |
case-08 | fail→pass | 13,364 | 13,817 | +3% | 1 | 1 | 0% | 1,459 | 3,125 | +114% | 0 | 0 | — |
case-09 | pass→pass | 17,046 | 16,661 | -2% | 1 | 1 | 0% | 1,677 | 3,224 | +92% | 0 | 0 | — |
case-10 | fail→fail | 10,446 | 7,580 | -27% | 1 | 1 | 0% | 1,668 | 2,039 | +22% | 0 | 0 | — |
case-11 | fail→pass | 15,134 | 8,422 | -44% | 1 | 1 | 0% | 2,090 | 2,060 | -1% | 0 | 0 | — |
case-12 | pass→pass | 9,292 | 9,248 | -0% | 1 | 1 | 0% | 639 | 2,413 | +278% | 0 | 0 | — |
case-13 | pass→pass | 13,138 | 3,918 | -70% | 1 | 1 | 0% | 1,258 | 2,229 | +77% | 0 | 0 | — |
case-14 | fail→pass | 22,664 | 2,969 | -87% | 1 | 1 | 0% | 2,739 | 1,962 | -28% | 0 | 0 | — |
case-15 | fail→pass | 18,287 | 8,433 | -54% | 1 | 1 | 0% | 1,971 | 2,066 | +5% | 0 | 0 | — |
case-16 | pass→fail | 13,716 | 7,000 | -49% | 1 | 1 | 0% | 1,345 | 1,960 | +46% | 0 | 0 | — |
case-17 | pass→pass | 14,511 | 11,309 | -22% | 1 | 1 | 0% | 1,247 | 2,627 | +111% | 0 | 0 | — |
case-18 | fail→pass | 16,950 | 9,985 | -41% | 1 | 1 | 0% | 1,842 | 2,481 | +35% | 0 | 0 | — |
case-19 | fail→fail | 14,573 | 8,430 | -42% | 1 | 1 | 0% | 1,019 | 2,022 | +98% | 0 | 0 | — |
case-20 | fail→pass | 14,770 | 12,822 | -13% | 1 | 1 | 0% | 2,396 | 2,646 | +10% | 0 | 0 | — |
case-21 | pass→pass | 9,704 | 7,554 | -22% | 1 | 1 | 0% | 708 | 1,947 | +175% | 0 | 0 | — |
case-22 | pass→fail | 43,206 | 48,426 | +12% | 1 | 1 | 0% | 5,431 | 9,841 | +81% | 0 | 0 | — |
case-23 | pass→pass | 17,915 | 23,213 | +30% | 1 | 1 | 0% | 2,623 | 6,283 | +140% | 0 | 0 | — |
case-24 | pass→pass | 18,990 | 24,720 | +30% | 1 | 1 | 0% | 2,557 | 4,546 | +78% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted. The headline lift of +21 percentage points is the difference between those two pass rates over the 24 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.