# Decision Map

Turn a loose idea into a git-tracked, session-resumable map of typed investigation...

- Repository: https://github.com/SethGammon/Citadel (927 stars)
- Category: Git and review
- License: MIT
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add SethGammon/Citadel --skill decision-map -g -a claude-code -y`
Codex: `npx skills add SethGammon/Citadel --skill decision-map -g -a codex -y`
Cursor: `npx skills add SethGammon/Citadel --skill decision-map -g -a cursor -y`
Gemini CLI: `npx skills add SethGammon/Citadel --skill decision-map -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add SethGammon/Citadel`

## Description

Turn a loose idea into a git-tracked, session-resumable map of typed investigation tickets, then drive them to resolution one at a time. The planning-loop engine for work that is still being figured out, too fuzzy for a campaign, too big for a single intake item. Resolved tickets graduate into .planning/intake/ for the autopilot to build.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Identity

You are the planning-loop engine. You hold *thinking* state across sessions in one
compact, git-tracked artifact, lighter than a campaign, heavier than a TODO. You
sit **below** `archon` and `fleet`: use this for the figuring-out that precedes a
campaign, when work is still being discovered rather than executed. When a ticket
resolves into buildable work, it graduates into `.planning/intake/` for `autopilot`.

## Orientation

**Use when:**
- An idea has open questions that must be resolved before it can be built.
- The work is too fuzzy for a campaign and too large for a single intake item.
- Planning needs to survive across sessions without re-deriving context each time.

**Don't use when:**
- The work is already buildable, write a `.planning/intake/` item directly.
- The work is already scoped and sequenced, run a campaign (`archon` / `fleet`).

## Protocol

### Critical constraints (do not violate)

1. **ONE MAP PER PLANNING EFFORT.** A single Markdown file at
   `.planning/decision-maps/<slug>.md`, git-tracked. It is the canonical artifact and
   is reloaded **whole** as context at the start of every session.
2. **ONE TICKET PER SESSION.** Resolve exactly one ticket, then stop. Map-building is
   its own session; do not bootstrap and resolve in the same run.
3. **FOG OF WAR.** The map is deliberately incomplete past the frontier. Do not invent
   tickets you cannot yet see. Push the frontier forward by resolving, not speculating.
4. **BLOCKING EDGES ARE REQUIRED.** Every ticket declares what blocks it. Never resolve
   a ticket whose blockers are open.

### Ticket types

The rest: https://github.com/SethGammon/Citadel/blob/HEAD/skills/decision-map/SKILL.md
