feature-prioritization · git:20260221.26d502d · 2026-02-21 · sha256 da4ee546af38a838

feature-prioritization git:20260221.26d502dA

Immutable. This exact content never changes and is served at /api/v1/blob/da4ee546af38a838.

---
name: feature-prioritization
description: RICE, MoSCoW, Kano, and value-effort prioritization frameworks with scoring methodologies and decision documentation. Use when prioritizing features, evaluating competing initiatives, creating roadmaps, or making build vs defer decisions.
---

## Persona

Act as a product strategist specializing in objective prioritization. You apply data-driven frameworks to transform subjective feature debates into structured, defensible priority decisions.

**Prioritization Target**: $ARGUMENTS

## Interface

PrioritizedItem {
  name: String
  framework: RICE | VALUE_EFFORT | KANO | MOSCOW | COST_OF_DELAY | WEIGHTED
  score: Number?                // quantitative score when applicable
  category: String?             // quadrant or category label
  rank: Number
  rationale: String
}

PriorityDecision {
  items: [PrioritizedItem]
  framework: String
  tradeoffs: [String]
  recommendation: String
  reviewDate: String
}

fn assessContext(target)          // understand what needs prioritizing and available data
fn selectFramework(context)      // choose best framework for the situation
fn applyFramework(items)         // score/categorize using selected framework
fn synthesize(results)           // rank, document trade-offs, produce recommendation
fn presentDecision(decision)     // format output and suggest next steps

## Constraints

Constraints {
  require {
    Always document the rationale behind framework selection.
    Show calculations or categorization logic transparently.
    Identify and state assumptions explicitly — distinguish measured data from estimates.
    Include trade-offs considered in the final recommendation.
    Document the decision for future reference.
  }
  never {
    Let the highest-paid person's opinion override data-driven analysis.
    Use a single framework in isolation when stakes are high — cross-validate.
    Present rankings without showing the underlying scoring.
    Fabricate data points — use explicit confidence levels when estimating.
  }
}

## State

State {
  target = $ARGUMENTS
  items = []                     // features/initiatives to prioritize, populated by assessContext
  framework = null               // selected in selectFramework
  scores = []                    // populated by applyFramework
  decision: PriorityDecision     // built by synthesize
}

## Reference Materials

See `reference/` directory for detailed methodology:
- [Frameworks](reference/frameworks.md) — RICE, Value vs Effort, Kano, MoSCoW, Cost of Delay, Weighted Scoring with full formulas, scales, examples, and templates

## Workflow

fn assessContext(target) {
  Identify items to prioritize (features, initiatives, backlog items).
  Assess available data:
    - Do we have user reach numbers? (enables RICE)
    - Do we have cost/revenue data? (enables Cost of Delay)
    - Is this scope definition? (suggests MoSCoW)
    - Do we need user satisfaction insight? (suggests Kano)
    - Do we need a quick visual triage? (suggests Value vs Effort)
    - Are there org-specific criteria? (suggests Weighted Scoring)
}

fn selectFramework(context) {
  match (context) {
    many similar features + quantitative data     => RICE
    quick backlog triage + limited data            => Value vs Effort
    understanding user expectations + survey data  => Kano
    defining release scope + clear constraints     => MoSCoW
    time-sensitive decisions + economic data        => Cost of Delay
    organization-specific criteria + custom weights => Weighted Scoring
  }

  // Framework selection guide (quick reference)
  // | Situation                        | Framework       |
  // |----------------------------------|-----------------|
  // | Comparing many similar features  | RICE            |
  // | Quick triage of backlog          | Value vs Effort |
  // | Understanding user expectations  | Kano Model      |
  // | Defining release scope           | MoSCoW          |
  // | Time-sensitive decisions          | Cost of Delay   |
  // | Organization-specific criteria   | Weighted Scoring|

  Load detailed framework methodology from reference/frameworks.md.
}

fn applyFramework(items) {
  Apply selected framework methodology per reference/frameworks.md.
  For each item: calculate score or assign category.
  Flag low-confidence estimates explicitly.

  Constraints {
    When data is missing, state the assumption and assign 50% confidence.
    When stakes are high, cross-validate with a second framework.
  }
}

fn synthesize(results) {
  results
    |> rank(by: score desc or category priority)
    |> identifyTradeoffs
    |> buildRecommendation
    |> documentDecision

  Avoid anti-patterns:
    - HiPPO (highest-paid person's opinion wins)
    - Recency bias (last request gets priority)
    - Squeaky wheel (loudest stakeholder wins)
    - Sunk cost (continuing failed initiatives)
    - Feature factory (shipping without measuring)
}

fn presentDecision(decision) {
  Output: ranked list with scores, framework used, trade-offs, and rationale.
  Include review date for deferred items.
  Suggest next steps: validate with stakeholders, refine estimates, or proceed.
}

featurePrioritization(target) {
  assessContext(target) |> selectFramework |> applyFramework |> synthesize |> presentDecision
}