decision-eval — Claude Code skill: what it does, how to install
Runs a scoring agent on architectural alternatives in ADRs and outputs ranked evaluations to docs/decisions/. Helpful when choosing between competing designs.
npx skills add avelikiy/great_cto --skill decision-eval -a claude-codeWhat decision-eval does
The skill triggers during architectural reviews whenever an ADR or ARCH document contains two or more competing solutions. It scans sections like ## Alternatives Considered or ## Options and spins up the decision-scorer subagent. The subagent evaluates each variant against project constraints defined in .great_cto/PROJECT.md.
Scoring results go directly into docs/decisions/DECISION-<slug>-<YYYYMMDD>.md. The report lists weighted scores out of 5.00 points alongside a recommended choice. If the architect disagrees, they can document reasons under ## Scoring Override before opening gate:arch.
If project_size is set to nano, the tool quietly halts execution. It also stops if the file has fewer than two alternatives or concerns routine bug fixes.
What it helps with
- score competing architectural designs before setting
gate:arch - generate weighted evaluation files in
docs/decisions/ - select between technical alternatives using criteria from
PROJECT.md - document override rationale when bypassing agent recommendations
Example prompts for the agent
- Score the architecture variants in the latest ADR before creating gate:arch
- Run decision-eval on docs/adr/ADR-002.md to rank proposed options
- Evaluate design alternatives against criteria in .great_cto/PROJECT.md
How to install decision-eval
1Skills CLI (Vercel)
npx skills add avelikiy/great_cto --skill decision-eval -a claude-code2Manually: put the files in place
~/.claude/skills/decision-eval/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/decision-eval/
1Skills CLI (Vercel)
npx skills add avelikiy/great_cto --skill decision-eval -a codex2Manually: put the files in place
.agents/skills/decision-eval/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add avelikiy/great_cto --skill decision-eval -a cursor2Manually: put the files in place
.cursor/skills/decision-eval/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install avelikiy/great_cto decision-eval2Manually: put the files in place
.github/skills/decision-eval/SKILL.md1Skills CLI (Vercel)
npx skills add avelikiy/great_cto --skill decision-eval -a gemini-cli2Platform CLI
gemini skills install https://github.com/avelikiy/great_cto --path skills/decision-evalManually: put the files in place
.devin/skills/decision-eval/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add avelikiy/great_cto --skill decision-eval -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about decision-eval
How to install decision-eval in Claude Code?
Run npx skills add avelikiy/great_cto --skill decision-eval -a claude-code. The skill definition file will be placed in ~/.claude/skills/decision-eval/SKILL.md.
What does decision-eval do?
It inspects ADR documents with two or more proposed options and invokes the decision-scorer agent. The agent rates each variant against project criteria and writes a markdown summary.
When does decision-eval skip execution?
It aborts without output if project_size: nano is set in PROJECT.md, if fewer than two options are present, or when the prompt includes skip scoring.
Source text
SKILL.md · MIT
---
name: decision-eval
description: Spawns the decision-scorer agent after architect proposes 2+ variants in an ADR. Produces a weighted scoring table and recommended choice saved to docs/decisions/.
when_to_use: |
Apply when:
- architect has written an ADR with 2+ alternatives under ## Alternatives Considered or ## Options
- architect is about to finalize a multi-variant decision and needs an objective tie-breaker
- CTO explicitly requests scoring before gate:arch approval
Do NOT apply when:
- The change is a bug fix, docs-only, or style/formatting update
- The ADR has only 1 option (no real alternatives)
- User says "skip scoring" or "no scoring"
- project_size is nano (overhead exceeds value)
effort: medium
allowed-tools: Read, Glob, Bash, Agent
paths:
- "docs/decisions/**"
- "docs/architecture/**"
- ".great_cto/PROJECT.md"
---
# Decision Eval — automated scoring for architectural alternatives
Invoke after architect proposes 2+ variants, before creating gate:arch.
## When to invoke
Invoke this skill when ALL of these are true:
1. An ADR (`docs/adr/ADR-*.md`) or ARCH doc (`docs/architecture/ARCH-*.md`)
contains a section with 2 or more named alternatives (look for
`## Alternatives Considered`, `## Options`, or bold-prefixed options like
`**Option A:**`)
2. The architect has not yet created `gate:arch`
3. The user has not said "skip scoring", "no scoring", or "skip decision-eval"
4. `project_size` in PROJECT.md is NOT `nano`
Skip silently (do not even mention) if any condition fails.
## How to invoke
Read the most recent ADR or ARCH doc to confirm 2+ variants exist, then spawn
the `decision-scorer` agent with the file path as context:
```bash
# Identify target document
TARGET=$(ls -t docs/adr/ADR-*.md 2>/dev/null | head -1)
[ -z "$TARGET" ] && TARGET=$(ls -t docs/architecture/ARCH-*.md 2>/dev/null | head -1)
# Confirm 2+ variants
VARIANT_COUNT=$(grep -cE "^\*\*[A-Za-z]|^### [A-Za-z]|^- \*\*[A-Za-z]" "$TARGET" 2>/dev/null || echo 0)
```
If `VARIANT_COUNT >= 2`, dispatch the agent:
```
Agent: decision-scorer
Context: <TARGET file path>
Task: Score the architectural variants in <TARGET> against .great_cto/PROJECT.md criteria.
Save output to docs/decisions/.
```
## Output location
The decision-scorer agent saves results to:
```
docs/decisions/DECISION-<slug>-<YYYYMMDD>.md
```
After the agent completes, read the output file and surface the recommendation
to the architect:
```
Decision scoring complete:
Recommended: <variant name> (<score>/5.00)
Runner-up: <variant name> (<score>/5.00)
Full report: docs/decisions/DECISION-<slug>-<YYYYMMDD>.md
Architect: review the scoring rationale before accepting or overriding the recommendation.
```
## Skip conditions
Output nothing and proceed to the next step if:
- `project_size: nano` in PROJECT.md
- Fewer than 2 variants found in the ADR/ARCH doc
- User message contains "skip scoring" or "skip decision-eval" or "no scoring"
- The target document is a bug-fix or docs-only ADR (check title for "fix:", "docs:", "chore:")
## Integration with architect workflow
This skill sits between Step 4 (Write ADR) and Step 5 (Create gate:arch) in
`agents/architect.md`. Architect invokes it by name:
```
Invoke skill: decision-eval
```
After scoring completes, architect may:
- Accept the recommendation → proceed to gate:arch with the recommended option
- Override the recommendation → document rationale in the ADR under a new
`## Scoring Override` section before creating gate:arch
© avelikiy · MIT · avelikiy/great_cto