← ClaudeAtlas

auditlisted

Check the three layers against each other — requirement rows, plan tasks and the ledgers — and name every place they have drifted apart. A spec that moved after its area was planned is the common one, and nothing else notices it. Read-only by default; --fix re-plans the areas that drifted. Run when a spec changed, or any time you want to know whether the plans still match what was decided.
nhhthong/clio · ★ 2 · AI & Automation · score 78
Install: claude install-skill nhhthong/clio
**Run only when the user asked for it, this turn** — by slash command, or in plain words ("is the plan still right?", "check the specs against the plans"). Clio's drift nudge is about `/clio:memo` and is not a trigger for this. Unsure → ask in one line, don't run. Mode (may be empty): $ARGUMENTS — anything other than `--fix` is a **report**. `requirements.md` says what was decided. `docs/plans/*.md` says how it gets built. The ledgers say what was built and what is owed. Each is written by a different command at a different time, so they drift, and the drift is silent: a spec row can move months after its area was planned and every later session will read a plan that no longer matches the decision. This skill finds that. It **writes no plan itself** — `/clio:plan` is the only writer of `docs/plans/*.md`, and the rules for re-planning around a ticked row live there. With `--fix` this skill runs `/clio:plan <area>` for the areas that drifted, and only those. ## 1. Read the three layers ```bash "${CLAUDE_PLUGIN_ROOT}"/skills/memo/scripts/validate.sh all # schema first; a FAIL here outranks any drift awk -F'|' 'NF>4 && $2 ~ /^ *[0-9.]+ *$/ {gsub(/^ +| +$/,"",$2); print $2"\t"$5}' \ .claude/docs/specs/requirements.md # row → decision marker awk -F'|' 'NF>5 && $2 ~ /^ *[0-9.]+ *$/ {gsub(/^ +| +$/,"",$2); print FILENAME"\t"$2"\t"$4"\t"$7}' \ .claude/docs/plans/*.md # plan → id, req, Done jq -s -c 'group_by