Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Scores backlog items with RICE/WSJF/Kano and files GitHub issues for top candidates. Use when triaging a roadmap or prioritizing features for a sprint.
.claude/skills/athola-feature-review/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 66% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 102% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 136% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 127% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 63% | 0% |
Run make test-feature-review to verify scoring logic after changes.
feature-review:inventory-complete))feature-review:classified))feature-review:scored))feature-review:tradeoffs-analyzed))feature-review:suggestions-generated))feature-review:issues-created))Review implemented features and suggest new ones using evidence-based prioritization. Create GitHub issues for accepted suggestions.
Feature decisions rely on data. Every feature involves tradeoffs that require evaluation. This skill uses hybrid RICE+WSJF scoring with Kano classification to prioritize work and generates actionable GitHub issues for accepted suggestions.
scope-guard).Discover and categorize existing features:
bash/feature-review --inventory
Evaluate features against the prioritization framework:
bash/feature-review
Review gaps and suggest new features:
bash/feature-review --suggest
Use tome plugin to adjust scores with external evidence:
bash/feature-review --research
Create issues for accepted suggestions:
bash/feature-review --suggest --create-issues
feature-review:inventory-complete)Identify features by analyzing:
Output: Feature inventory table.
feature-review:classified)Classify each feature along two axes:
Axis 1: Proactive vs Reactive
| Type | Definition | Examples | |------|------------|----------| | Proactive | Anticipates user needs. | Suggestions, prefetching. | | Reactive | Responds to explicit input. | Form handling, click actions. |
Axis 2: Static vs Dynamic
| Type | Update Pattern | Storage Model | |------|---------------|---------------| | Static | Incremental, versioned. | File-based, cached. | | Dynamic | Continuous, streaming. | Database, real-time. |
See classification-system.md for details.
feature-review:scored)Apply hybrid RICE+WSJF scoring:
Feature Score = Value Score / Cost Score
Value Score = (Reach + Impact + Business Value + Time Criticality) / 4
Cost Score = (Effort + Risk + Complexity) / 3
Adjusted Score = Feature Score * ConfidenceScoring Scale: Fibonacci (1, 2, 3, 5, 8, 13).
Thresholds:
See scoring-framework.md for the framework. See multi-metric-evaluation-methodology.md when one model is not enough: it covers how to combine RICE, WSJF, and Kano, where each model fits, and how to reconcile conflicting signals.
feature-review:tradeoffs-analyzed)Evaluate each feature across quality dimensions:
| Dimension | Question | Scale | |-----------|----------|-------| | Quality | Does it deliver correct results? | 1-5 | | Latency | Does it meet timing requirements? | 1-5 | | Token Usage | Is it context-efficient? | 1-5 | | Resource Usage | Is CPU/memory reasonable? | 1-5 | | Redundancy | Does it handle failures gracefully? | 1-5 | | Readability | Can others understand it? | 1-5 | | Scalability | Will it handle 10x load? | 1-5 | | Integration | Does it play well with others? | 1-5 | | API Surface | Is it backward compatible? | 1-5 |
See tradeoff-dimensions.md for criteria.
feature-review:research-enriched)Triggered by: --research flag. Requires tome plugin.
Use tome's multi-source research to adjust scoring factors with external evidence. This phase runs between tradeoff analysis and gap analysis.
research topics and dispatch tome channels (code-search, discourse, papers, triz) in parallel.
using tome:synthesize.
adjustments using channel-to-factor mapping.
deltas, clamp to Fibonacci scale, respect max_delta.
evidence sources and rationale.
See research-enrichment.md for the full enrichment protocol, delta calculation, and graceful degradation behavior.
Graceful degradation: If tome is not installed, prints a warning and proceeds with initial scores unchanged.
feature-review:suggestions-generated)feature-review:issues-created)Deferred capture for high-scoring suggestions: After the user confirms which suggestions to act on, any high-scoring suggestion (score > 2.5) that is not acted on should be preserved as a deferred item. Run once per skipped high-scoring suggestion:
bashpython3 scripts/deferred_capture.py \ --title "<suggestion title>" \ --source feature-review \ --context "RICE score: <score>. <description>"
This runs automatically without prompting the user. Suggestions with scores of 2.5 or below do not need to be captured.
Feature-review uses opinionated defaults but allows customization.
Create .feature-review.yaml in project root:
yaml# .feature-review.yaml version: 1.9.3 # Scoring weights (must sum to 1.0) weights: value: reach: 0.25 impact: 0.30 business_value: 0.25 time_criticality: 0.20 cost: effort: 0.40 risk: 0.30 complexity: 0.30 # Score thresholds thresholds: high_priority: 2.5 medium_priority: 1.5 # Tradeoff dimension weights (0.0 to disable) tradeoffs: quality: 1.0 latency: 1.0 token_usage: 1.0 resource_usage: 0.8 redundancy: 0.5 readability: 1.0 scalability: 0.8 integration: 1.0 api_surface: 1.0
See configuration.md for options.
These rules apply to all configurations:
feature-review:inventory-completefeature-review:classifiedfeature-review:scoredfeature-review:tradeoffs-analyzedfeature-review:research-enriched (if --research)feature-review:suggestions-generatedfeature-review:issues-created (if requested)imbue:scope-guard: Provides Worthiness Scores for suggestions.sanctum:do-issue: Prioritizes issues with high scores.superpowers:brainstorming: Evaluates new ideas against existing features.tome:research: Multi-source research for score enrichment (optional, --research).markdown| Feature | Type | Data | Score | Priority | Status | |---------|------|------|-------|----------|--------| | Auth middleware | Reactive | Dynamic | 2.8 | High | Stable | | Skill loader | Reactive | Static | 2.3 | Medium | Needs improvement |
--research)markdown| Feature | Type | Score | Adj. | Priority | Evidence | |---------|------|-------|------|----------|----------| | Auth | R/D | 2.8 | 3.1 | High | 3 sources | | Loader | R/S | 2.3 | 2.3 | Medium | none | ## Research Evidence ### Code Search (GitHub) - 12 implementations, avg 340 stars - **Reach**: +1 (broad adoption) ### Discourse (HN/Reddit) - 47 mentions, 78% positive - **Impact**: +1 (strong demand)
markdown## Feature Suggestions ### High Priority (Score > 2.5) 1. **[Feature Name]** (Score: 2.7) - Classification: Proactive/Dynamic - Value: High reach - Cost: Moderate effort - Recommendation: Build in next sprint
imbue:scope-guard: Prevent overengineering.sanctum:pr-review: Code-level review (different scope: thisskill prioritizes feature ideas, pr-review reviews diffs).
feature-review:issues-created; each phase marked complete before the next begins
Fibonacci scale and a Priority label (High/Medium/Low) matching the configured thresholds (default: >2.5 High, 1.5-2.5 Medium)
scripts/deferred_capture.py --source feature-review without prompting the user
includes the feature, enhancement, and priority/* labels and a link to related issues where applicable
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 13,721 | 7,697 | -44% | 1 | 1 | 0% | 2,428 | 3,867 | +59% | 0 | 0 | — |
case-02 | fail→fail | 37,471 | 8,455 | -77% | 1 | 1 | 0% | 6,208 | 3,721 | -40% | 0 | 0 | — |
case-03 | fail→fail | 26,335 | 6,631 | -75% | 1 | 1 | 0% | 4,224 | 3,675 | -13% | 0 | 0 | — |
case-04 | pass→pass | 6,688 | 6,764 | +1% | 1 | 1 | 0% | 906 | 4,302 | +375% | 0 | 0 | — |
case-05 | pass→fail | 11,967 | 4,049 | -66% | 1 | 1 | 0% | 1,882 | 3,776 | +101% | 0 | 0 | — |
case-06 | fail→fail | 4,429 | 5,642 | +27% | 1 | 1 | 0% | 725 | 4,249 | +486% | 0 | 0 | — |
case-07 | fail→pass | 13,007 | 4,971 | -62% | 1 | 1 | 0% | 2,573 | 4,277 | +66% | 0 | 0 | — |
case-08 | pass→pass | 4,281 | 2,579 | -40% | 1 | 1 | 0% | 706 | 3,733 | +429% | 0 | 0 | — |
case-09 | fail→pass | 11,650 | 3,416 | -71% | 1 | 1 | 0% | 1,942 | 3,919 | +102% | 0 | 0 | — |
case-10 | fail→fail | 13,913 | 8,020 | -42% | 1 | 1 | 0% | 2,327 | 4,616 | +98% | 0 | 0 | — |
case-11 | fail→pass | 13,399 | 7,731 | -42% | 1 | 1 | 0% | 1,941 | 4,576 | +136% | 0 | 0 | — |
case-12 | fail→pass | 29,304 | 3,055 | -90% | 1 | 1 | 0% | 1,667 | 3,792 | +127% | 0 | 0 | — |
case-13 | fail→pass | 14,784 | 2,885 | -80% | 1 | 1 | 0% | 2,341 | 3,811 | +63% | 0 | 0 | — |
case-14 | fail→pass | 6,316 | 2,894 | -54% | 1 | 1 | 0% | 1,047 | 3,797 | +263% | 0 | 0 | — |
case-15 | pass→pass | 4,694 | 3,185 | -32% | 1 | 1 | 0% | 710 | 3,816 | +437% | 0 | 0 | — |
case-16 | pass→pass | 11,747 | 8,450 | -28% | 1 | 1 | 0% | 1,898 | 4,644 | +145% | 0 | 0 | — |
case-17 | fail→pass | 21,155 | 4,135 | -80% | 1 | 1 | 0% | 1,265 | 3,639 | +188% | 0 | 0 | — |
case-18 | fail→pass | 8,133 | 2,083 | -74% | 1 | 1 | 0% | 1,156 | 3,564 | +208% | 0 | 0 | — |
case-19 | fail→pass | 19,908 | 2,259 | -89% | 1 | 1 | 0% | 1,681 | 3,506 | +109% | 0 | 0 | — |
case-20 | fail→pass | 12,778 | 1,544 | -88% | 1 | 1 | 0% | 1,901 | 3,493 | +84% | 0 | 0 | — |
case-21 | pass→pass | 17,253 | 15,191 | -12% | 1 | 1 | 0% | 2,517 | 5,481 | +118% | 0 | 0 | — |
case-22 | pass→pass | 9,014 | 3,380 | -63% | 1 | 1 | 0% | 1,398 | 3,814 | +173% | 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. 22 cases were attempted, and 18 counted toward the lift figure. The other 4 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +41 percentage points is the difference between those two pass rates over the 18 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.