Skip to main content

update

Close the loop after work — bring the client documents, the spec and the generated documents up to what the code now does, move task statuses to what the audit found, journal the work and curate the changelog Arguments: [--after M11-T9 | --release M11 | --dry | (empty = every task finished since the last work entry)].

Source facts

Repository
Agents-Store/codex-plugins
Last source activity
November 1, 2026 at 02:46
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
update
description
Close the loop after work — bring the client documents, the spec and the generated documents up to what the code now does, move task statuses to what the audit found, journal the work and curate the changelog Arguments: [--after M11-T9 | --release M11 | --dry | (empty = every task finished since the last work entry)].
The closing half of the loop. Everything else in this plugin moves a requirement towards code; this moves finished code back into the documents — **all of them**, the client's included. With no argument, find every task that reached `done` since the newest `work` entry in `history/ledger.jsonl`, and run the sequence for them together. This is `macstack-dev:reconcile --master=code` **scoped to the finished tasks** rather than to the whole folder, and it uses that skill for the document half rather than carrying its own copy. Two implementations of one rule diverge silently, and the first sign is two commands telling you different things about the same document. 1. **Read the finished tasks' `Closes` pointers.** That set of case ids is what determines which documents this pass has to look at. A task with no pointer cannot be swept — report it and fix the task rather than guessing. 2. **Journal it** — a `work` entry naming the task ids, what now exists that did not, and `notes`: the dead end taken, the thing that turned out harder, the decision deferred. A work entry with empty notes is usually a work entry not worth writing, because `what` is the half git already knows. 3. **Verdict each swept case** — `macstack-dev:conformance`, one `audit` row per case. Steps 4 and 6 both read those rows; without them this command would be asserting that the work is done because somebody ticked a box. 4. **Actualise the client documents** — `macstack-dev:reconcile`, stage 4, `code` as master, over the swept ids only. Each acceptance bullet, screen prohibition, trigger and handbook step the code now contradicts is **corrected**, through the `intake` gate: delta → ruling → apply → journal. The `v3` writer patches the named line and leaves the prose around it alone. Three things become a question instead of an edit, and the first is the one that matters: **a statement the client answered.** A `comment` row against that id means the client said something explicit about that sentence, and code does not get to overrule it silently. The others are anything needing a new id, and anything contradicting a ruling in `history/DECISIONS.md`. Batch them into one AskUserQuestion at the end. 5. **`macstack-dev:sync`** — the technical half of the spec against the code, and the business half against the documents step 4 just corrected. That order matters: sync the spec against documents that still describe the old behaviour and you write yesterday's facts into `macstack.json`. 6. **Move the task statuses to what the audit found:** ```bash python3 "${CLAUDE_PLUGIN_ROOT}/skills/planning/references/task_status.py" macstack --apply ``` Both directions. A task whose every case is `implemented` closes and gets today's `Finished` date; a task standing `done` whose case the audit found `absent` is **reopened** — the case this command exists to catch, because a work list that looks shorter than the truth is one nobody goes looking behind. 7. **Re-render** `generated/ARCHITECTURE.md`, `generated/INDEX.md` and `README.md` with `documents`, then re-derive `generated/TEST-CASES.md` for the touched ids only with `macstack-dev:test-cases`. Regeneration is by id — update in place, never clobber hand-written manual steps. 8. **Bump what changed.** Each edited document gets a journal row and a version bump in all three places that must agree. Each document **actually checked against the code** gets a new `reviewed` date — and only those. `reviewed` is not `updated`, and conflating them is how a document stays confidently wrong while lint stays green. 9. **If it reached users**, write the `release` entry and its `CHANGELOG.md` twin of the same id, in the words of somebody who does not read code. Drop everything with no user-visible effect — a changelog that mirrors the log is a git log with extra steps. The exception: if `notes` says something did not work and the client saw it, the changelog does not get to quietly omit it. 10. **Report per document, not per task.** One row for every document the sweep touched and every one it deliberately did not, with the reason. Then the questions from step 4, and the single next command — usually `/macstack-dev:review`, because the documents moved and the client has not seen it. `--dry` runs all ten and writes nothing, ledger included. End with `lint`.
View on GitHub