# Decision Drift Guard

> Catch midstream decision changes before plans drift.

- Skill: `darknesskiller/decision-drift-guard` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add darknesskiller/decision-drift-guard`
- Raw SKILL.md: https://api.skillmd.com/api/skills/darknesskiller/decision-drift-guard/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: darknesskiller (https://skillmd.com/u/darknesskiller)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/darknesskiller/decision-drift-guard

---


# Decision Drift Guard

A supersession is a new accepted user decision replacing an earlier one. Make it explicit before consequential work.

## Steps

1. **Load the ledger.** Path: `.agents/decision-ledger/sessions/<session-id>.md` relative to worktree root. Use host session ID or derive from first request. Each session reads/writes only its own file. Filesystem fails: keep ledger in context, say persistence unavailable.

2. **Track decisions.** One line per active decision: `D-<n> | scope | chosen approach | acceptance`. Suggestions stay proposed until user accepts.

3. **Classify new statement** against active decisions in same scope:

| Statement means... | Class | Action |
|---|---|---|
| Same meaning | same | continue |
| Adds detail or fixes mistake | refinement | update record |
| Separate scope | branch | create record |
| "Use this instead" | supersession | run Gate 1 |
| Cannot both hold | conflict | run Gate 1 |
| Cannot tell | unclear | ask one question |

Watch for: "actually", "instead", "forget that", "on second thought". Compare meaning, not phrase overlap.

4. **Gate 1** (supersession or conflict only): Show old decision, new instruction, impact. Ask: replace, branch, or refine. Wait for choice.

5. **Gate 2** (after replacement confirmed): Touches architecture, public behavior, data shape, security, cost, or irreversible actions: run `/grilling` and wait. Otherwise: which old assumption dies, what changes, what must stay.

6. **Commit supersession.** Mark old record superseded. Link new with `supersedes: D-<n>`. Recompute plan, tests, tool actions. Label stale recommendations.

Completion: one active record per replaced scope, every downstream action uses it.

## First pass format

- Ledger: loaded or unavailable.
- Classification: supersession or conflict.
- Old decision: `<old>`. New instruction: `<new>`. Impact: `<changes>`.
- Paused. Choose: `replace`, `branch`, or `refine`.

