~aod-score

Re-score an existing idea's ICE rating when circumstances change. Use this skill when you need to re-evaluate ideas, update ICE scores, change idea priority, or re-assess deferred ideas.

9 stars

Best use case

~aod-score is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Re-score an existing idea's ICE rating when circumstances change. Use this skill when you need to re-evaluate ideas, update ICE scores, change idea priority, or re-assess deferred ideas.

Teams using ~aod-score should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/~aod-score/SKILL.md --create-dirs "https://raw.githubusercontent.com/davidmatousek/tachi/main/.claude/skills/~aod-score/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/~aod-score/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How ~aod-score Compares

Feature / Agent~aod-scoreStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Re-score an existing idea's ICE rating when circumstances change. Use this skill when you need to re-evaluate ideas, update ICE scores, change idea priority, or re-assess deferred ideas.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# AOD Re-Score Skill

## Purpose

Update an existing idea's ICE (Impact, Confidence, Effort) score when circumstances change, new information emerges, or priorities shift. Reads from and writes to the idea's GitHub Issue.

## Source of Truth

**GitHub Issues are the sole source of truth for backlog items.** All idea state (ICE scores, status, evidence) is stored in the GitHub Issue body. BACKLOG.md is an auto-generated view regenerated from Issues.

## Inputs

- **NNN**, **#NNN**, or **IDEA-NNN** (legacy): The identifier of the idea to re-score (from user arguments)

## Workflow

### Step 1: Parse Input

Extract the idea identifier from user arguments. Accept three formats:
- **`NNN`** (bare number, e.g., `21`): Direct GitHub Issue lookup
- **`#NNN`** (hash-prefixed, e.g., `#21`): Strip `#` prefix, direct lookup
- **`IDEA-NNN`** (legacy, e.g., `IDEA-009`): Search issue titles for `[IDEA-NNN]` bracket tag

If invalid or missing, display usage: `Usage: /aod.score NNN` (or `#NNN` or `IDEA-NNN`)

### Step 2: Find GitHub Issue

Search for the matching GitHub Issue:

For numeric input (`NNN` or `#NNN`):
```bash
source .aod/scripts/bash/github-lifecycle.sh && aod_gh_find_issue NNN
```

For legacy `IDEA-NNN` input:
```bash
source .aod/scripts/bash/github-lifecycle.sh && aod_gh_find_issue "[IDEA-NNN]"
```

If no issue is found, display an error and exit:
```
Error: No GitHub Issue found for {identifier}
```

### Step 3: Read Current Scores

Read the GitHub Issue body using `gh issue view {number} --json body,title`. Parse the structured body to extract:
- Description (from `## Idea` section or title)
- ICE scores (from `## ICE Score` section)
- Source (from `## Metadata` section)
- Status (from `## Metadata` section)
- Evidence (from `## Evidence` section)

### Step 4: Display Current Scores

Show the existing idea details:

```
CURRENT SCORES — #{issue_number}

GitHub Issue: #{issue_number}
Idea: {description}
Source: {source}
Date: {date}
Status: {status}

ICE Score: {total} (I:{impact} C:{confidence} E:{effort})
Priority Tier: {tier}
```

### Step 5: New ICE Scoring

Present the ICE scoring quick-assessment table using AskUserQuestion. Ask each dimension separately:

#### Impact — "How much value does this deliver to users?"

```
Options:
  - High (9): "Transformative — significant user value"
  - Medium (6): "Solid improvement — meaningful but incremental"
  - Low (3): "Minor enhancement — small quality-of-life fix"
```

Allow the user to select "Other" to provide a custom numeric value (1-10).

#### Confidence — "How sure are we this will succeed?"

```
Options:
  - High (9): "Proven pattern — strong evidence it will work"
  - Medium (6): "Some unknowns — reasonable confidence with gaps"
  - Low (3): "Speculative — significant uncertainty"
```

Allow the user to select "Other" to provide a custom numeric value (1-10).

#### Effort (Ease of Implementation) — "How easy is this to build?"

```
Options:
  - High (9): "Days of work — straightforward implementation"
  - Medium (6): "Weeks of work — moderate complexity"
  - Low (3): "Months of work — significant engineering effort"
```

Allow the user to select "Other" to provide a custom numeric value (1-10).

### Step 6: Compute New ICE Total

```
New ICE Total = Impact + Confidence + Effort
Range: 3-30
```

### Step 7: Update Status

Apply status transitions based on threshold crossings:

- If current status is **"Deferred"** and new score >= 12: Set status to **"Scoring"**
- If current status is **"Scoring"** and new score < 12: Set status to **"Deferred"**
- If current status is **"Validated"**: **Preserve** status (already PM-approved, do not downgrade)
- If current status is **"Rejected"** and new score >= 12: Set status to **"Scoring"** (re-opens for re-validation via `/aod.validate`)
- If current status is **"Rejected"** and new score < 12: Set status to **"Deferred"**

**Note**: Re-scoring a Rejected idea resets it for a fresh PM review. The PM previously rejected the idea, but re-scoring indicates changed circumstances that warrant re-evaluation. The user must still run `/aod.validate` to get PM approval.

### Step 8: Update GitHub Issue

Update the GitHub Issue body with the new ICE scores and status:

1. Use `gh issue edit {number} --body "..."` to update the issue body with new ICE scores and status
2. Add a comment documenting the re-score: `"Re-scored: {old_total} → {new_total} (I:{new_i} C:{new_c} E:{new_e}). Status: {old_status} → {new_status}"`

### Step 9: Regenerate BACKLOG.md

Run `.aod/scripts/bash/backlog-regenerate.sh` to update the backlog snapshot.

### Step 10: Report Result

Display the comparison:

```
IDEA RE-SCORED

ID: #{issue_number}
GitHub Issue: #{issue_number}
Idea: {description}

Previous: {old_total} (I:{old_i} C:{old_c} E:{old_e}) — {old_tier}
Updated:  {new_total} (I:{new_i} C:{new_c} E:{new_e}) — {new_tier}

{If tier changed: "Priority tier changed: {old_tier} → {new_tier}"}
{If status changed: "Status changed: {old_status} → {new_status}"}
{If status preserved: "Status preserved: {status}"}

Date updated: {YYYY-MM-DD}
```

## ICE Scoring Reference

### Quick-Assessment Anchors

| Dimension | High (9) | Medium (6) | Low (3) |
|-----------|----------|------------|---------|
| **Impact** | Transformative | Solid improvement | Minor enhancement |
| **Confidence** | Proven pattern | Some unknowns | Speculative |
| **Effort (Ease)** | Days of work | Weeks of work | Months of work |

### Priority Tiers

| Score Range | Priority | Action |
|-------------|----------|--------|
| 25-30 | P0 (Critical) | Fast-track to development |
| 18-24 | P1 (High) | Queue for next sprint |
| 12-17 | P2 (Medium) | Consider when capacity allows |
| < 12 | Deferred | Auto-defer; requires PM override via `/aod.validate` |

### Auto-Defer Gate

Ideas scoring below 12 are automatically deferred. The PM can override this gate using `/aod.validate #NNN`.

## Edge Cases

- **Idea not found**: Search GitHub Issues by number (NNN, #NNN) or title tag (IDEA-NNN), display error with the identifier that was searched for
- **Invalid ID format**: Display usage guidance showing accepted formats (NNN, #NNN, or IDEA-NNN)
- **Validated status**: Preserve — PM has already approved, re-scoring only updates the numeric score
- **Rejected status**: Re-opens to Scoring (>= 12) or Deferred (< 12) — allows re-submission to PM via `/aod.validate`
- **Custom ICE score outside 1-10**: Clamp to valid range (1 minimum, 10 maximum)
- **Score doesn't change**: Still update the date to record that a re-evaluation occurred
- **`gh` unavailable**: Display error — re-scoring requires GitHub access since Issues are the source of truth

## Quality Checklist

- [ ] Idea identifier parsed and validated (NNN, #NNN, or IDEA-NNN)
- [ ] GitHub Issue found for the idea
- [ ] Current scores displayed before re-scoring
- [ ] New ICE score computed correctly (additive I+C+E)
- [ ] Status updated based on threshold crossings (Validated preserved; Rejected re-opens)
- [ ] GitHub Issue body updated with new scores
- [ ] Re-score documented as Issue comment
- [ ] BACKLOG.md regenerated
- [ ] Old vs new comparison displayed

Related Skills

~aod-status

9
from davidmatousek/tachi

On-demand backlog snapshot and lifecycle stage summary. Regenerates BACKLOG.md from GitHub Issues and displays item counts per stage. Use this skill when you need to check backlog status, view stage counts, regenerate BACKLOG.md, or get a lifecycle overview.

~aod-spec

9
from davidmatousek/tachi

Validates specification completeness and quality by checking for mandatory sections, [NEEDS CLARIFICATION] markers, testable criteria, and clear scope boundaries. Use this skill when you need to check if spec is complete, validate specifications, review spec.md, or check specification quality. Ensures specifications are ready for architecture and implementation phases.

~aod-run

9
from davidmatousek/tachi

Full lifecycle orchestrator that chains all 6 AOD stages (Discover, Define, Plan, Build, Deliver, Document) with disk-persisted state for session resilience and governance gates at every boundary. Use this skill when you need to run the full lifecycle, orchestrate stages, resume orchestration, or check orchestration status.

~aod-project-plan

9
from davidmatousek/tachi

Validates architecture documentation completeness by checking for technology stack, API specifications, database schema, security architecture, and alignment with feature specification. Use this skill when you need to check if plan.md is complete before implementation, validate architecture documentation, or review technical plans for completeness.

~aod-plan

9
from davidmatousek/tachi

Plan stage orchestrator that runs all three Plan sub-steps (spec → project-plan → tasks) in sequence with governance gates. Stops on rejection, continues through approvals. Use this skill when you need to run the full Plan stage, navigate planning sub-steps, or resume after a rejection.

~aod-kickstart

9
from davidmatousek/tachi

POC kickstart skill that transforms a project idea into a sequenced consumer guide with 6-10 seed features. Use when a developer invokes /aod.kickstart to generate a consumer guide, when starting a new project and needing a structured backlog plan, or when converting a project idea into seed features for the AOD lifecycle. Three-stage workflow: Idea Intake, Stack Selection, Guide Generation.

~aod-discover

9
from davidmatousek/tachi

Unified discovery skill with 4 entry points: /aod.discover (full flow: capture + score + validate), /aod.discover --seed (fast-track pre-vetted ideas with auto defaults), /aod.idea (capture + score only), /aod.validate (PM validation for existing idea). Use this skill when you need to capture ideas, run discovery, validate ideas with PM, generate user stories, log feature requests, or add items to the ideas backlog.

~aod-deliver

9
from davidmatousek/tachi

Structured delivery retrospective for the AOD Lifecycle's Deliver stage. Validates Definition of Done, captures delivery metrics (estimated vs. actual duration), logs surprises, feeds new ideas back into discovery via GitHub Issues, and creates Institutional Knowledge entries. Use this skill when you need to close a feature, run a delivery retrospective, capture lessons learned, or complete the AOD lifecycle.

~aod-define

9
from davidmatousek/tachi

Internal skill invoked by /aod.define to generate industry-standard PRD content using proven frameworks from Google, Amazon, and Intercom. Do NOT invoke directly — use /aod.define instead, which wraps this skill with Triad governance and sign-offs.

~aod-build

9
from davidmatousek/tachi

Generate standardized checkpoint reports for multi-phase implementation projects. Use this skill when pausing implementation at strategic milestones (phase completion, user story completion, critical features) to create comprehensive progress reports with task breakdowns, metrics, knowledge base entries, and resume instructions.

~aod-bugfix

9
from davidmatousek/tachi

One-shot governed bug fix loop: diagnose → plan → implement → verify → document. TRIGGER when: user reports a bug, pastes an error message/stack trace/failing test, or asks to fix a bug. Runs 5 Whys root cause analysis, presents confirmation gate before any code changes, implements fix, verifies with tests, and generates KB entry for review.

~aod-blueprint

9
from davidmatousek/tachi

Unified project setup and story generation skill that auto-detects new vs existing projects. Three modes: first-run (creates repo, registers project, activates), subsequent-run (skips setup, adds new stories with deduplication), and demo (loads pre-built Hello World stories). Generates ICE-scored, dependency-ordered stories as GitHub Issues and outputs a consumer guide. Use when a developer invokes /aod.blueprint to bootstrap or extend a project.