About decision-map
decision-map is a user-invoked planning skill for large, uncertain, or multi-session work. It tracks decisions and open questions in Markdown tickets, progressing one ticket per session and handing off to project specification when planning is complete.
Key features
- 01Create a persistent decision map
- 02Break questions into decision tickets
- 03Track blockers between tickets
- 04Run research tickets in parallel during charting
- 05Resolve one non-research ticket per session
Use cases
- 01Planning a large, unclear project
- 02Organizing decisions across sessions
- 03Mapping dependencies between open questions
- 04Preparing completed planning for project specification
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ light-cheng/ skills --skill decision-mapAfter installing, type/decision-mapin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
ATTRIBUTION.mdagents/openai.yamlreferences/EXAMPLES.mdMAP-CONTRACT.mdWORKFLOW.mdtests/test_decision_map_contract.pyDetails
From the project READMEDecision Map
decision-map is an explicit, user-invoked planning stage for foggy, large,
or multi-session work. Run it only after an explicit $decision-map request.
It charts a persistent decision map on the local markdown tracker and resolves
it one ticket per session.
When docs/agents/light-project.md exists, read only its issue-tracker and
working-area fields and use the referenced tracker contract. Without bootstrap
configuration, retain the local .scratch contract below and report that
default in the handoff.
Core model
.scratch/<effort>/map.md ← canonical map
.scratch/<effort>/issues/NN-<slug>.md ← child decision tickets
- Map:
Destination,Notes,Decisions so far,Not yet specified,Out of scope. - Ticket: one decision-sized question with
Type,Status, andBlocked by.
Exact shapes and tracker operations are in MAP-CONTRACT.md.
Execution
- Charting: name the destination, surface the frontier/fog breadth-first,
create the map and specifiable tickets, wire blocking edges, fire
light-researchtickets in parallel, and stop. - Working: load the map, claim the chosen frontier ticket, resolve it via
the ticket's capability, append
## Answerand update the map, then stop after one ticket (parallellight-researchon charting excepted).
Full mode steps are in WORKFLOW.md; examples are in EXAMPLES.md.
Composition
Resolve tickets with the owning capability: light-research, light-prototype,
socratic (human decisions), or light-to-questionnaire (another person). One
session resolves at most one non-research ticket.
Handoff
When open tickets are zero, fog is empty, and remaining scope is in
Out of scope, recommend explicit $project-spec and stop.
decision-map → project-spec