prioritize

star 23

RICE-scored backlog prioritization. Use for sprint planning, feature prioritization, or backlog grooming.

drn By drn schedule Updated 3/6/2026

name: prioritize description: "RICE-scored backlog prioritization. Use for sprint planning, feature prioritization, or backlog grooming."

Backlog Prioritization

Score and rank a list of work items using the RICE framework, then produce a prioritized backlog ready for sprint planning.

Arguments

  • $ARGUMENTS - Required: list of items to prioritize, OR a path to a file containing them, OR "backlog" to pull from git issues/PRs

If no arguments provided, ask the user what items to prioritize.

Context

  • Repo: !git rev-parse --show-toplevel 2>/dev/null | grep -oE '[^/]+$' | head -1
  • Open issues: !gh issue list --limit 20 --state open 2>/dev/null | head -20
  • Open PRs: !gh pr list --limit 10 --state open 2>/dev/null | head -10

Instructions

Step 1: Gather Items

Parse the input into a list of discrete work items. Each item needs:

  • Title: short description
  • Source: where it came from (user input, issue #, PR #, etc.)

If $ARGUMENTS is "backlog", pull from open GitHub issues and PRs.

If fewer than 3 items, ask the user if they want to add more -- RICE works best with 5+ items to compare.

Step 2: Score Each Item (RICE)

For each item, estimate:

Factor Scale How to Estimate
Reach Number of users/devs affected per quarter Ask: who benefits? How many?
Impact 0.25 (minimal), 0.5 (low), 1 (medium), 2 (high), 3 (massive) Ask: how much does this move the needle?
Confidence 50%, 80%, or 100% How certain are these estimates? Use 80% as default.
Effort Person-days (0.5 = half day, 1 = one day, etc.) How long to implement, test, and ship?

RICE Score = (Reach x Impact x Confidence) / Effort

When estimating, be conservative:

  • Default Confidence to 80% unless there's strong evidence either way
  • Round Effort UP (optimistic estimates are the #1 cause of missed deadlines)
  • If you can't estimate Reach, ask the user -- don't guess

Step 3: Classify (MoSCoW)

After scoring, classify each item:

  • Must -- blocking other work or critical for users. Non-negotiable.
  • Should -- high value, should be in this sprint if capacity allows.
  • Could -- nice to have. Only if there's leftover capacity.
  • Won't -- explicitly out of scope. Saying "won't" prevents scope creep.

Step 4: Capacity Check

Ask the user:

  • Sprint duration (default: 2 weeks)
  • Available capacity in person-days (default: 10 per developer)

Apply the 15% buffer rule: reserve 15% of capacity for unexpected work. Available capacity = stated capacity x 0.85.

Allocate the 20% tech debt rule: at least 20% of sprint capacity should go to tech debt, bugs, or maintenance -- not just new features.

Step 5: Produce the Prioritized Backlog

## Prioritized Backlog

### Sprint Capacity
- **Duration:** {N} weeks
- **Available:** {N} person-days (after 15% buffer)
- **Tech debt allocation:** {N} person-days (20%)
- **Feature allocation:** {N} person-days (80%)

### Ranked Items

| Rank | Item | RICE | R | I | C | E | MoSCoW | Fits Sprint? |
|------|------|------|---|---|---|---|--------|--------------|
| 1 | ... | ... | . | . | . | . | Must | Yes |

### Sprint Recommendation
**Include in sprint:**
{items that fit within capacity, prioritized by RICE score, Must items first}

**Deferred:**
{items that don't fit, with brief reason}

**Won't (out of scope):**
{items explicitly excluded}

### Assumptions
{list any assumptions made during estimation}

Print the backlog so the user can review and adjust scores.

If the user disagrees with any score, adjust and re-rank. The user's domain knowledge overrides model estimates.

Install via CLI
npx skills add https://github.com/drn/dots --skill prioritize
Repository Details
star Stars 23
call_split Forks 4
navigation Branch main
article Path SKILL.md
More from Creator