From greymatter
Measures drift between declared and actual changes in a completed development chunk using git diff, updates the plan tracker, and propagates status to roadmap tracking.
How this skill is triggered — by the user, by Claude, or both
Slash command
/greymatter:completing-chunksThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Mechanical post-chunk pass. No judgment about quality of work — that's `reviewing-execution`. This skill measures what changed, writes it to the sidecar, and propagates.
Mechanical post-chunk pass. No judgment about quality of work — that's reviewing-execution. This skill measures what changed, writes it to the sidecar, and propagates.
chunks.N.status: "completed". chunks.N.touched.actual populated from git diff. chunks.N.touched.drift computed (actual minus declared). completed_at set. If observations.md exists and was passed via --observations, the tracker records the path. If the plan rolls up to a roadmap row and this was the final chunk, the roadmap tracker's row is marked shipped.
Confirm the chunk is committed. The verb measures drift from a commit range; uncommitted changes can't be measured. If the user hasn't committed, ask them to commit before invoking.
Invoke the verb:
node greymatter/scripts/dev-pipeline.js complete-chunk --plan <plan-path> --chunk <N> [--observations observations.md]
The verb resolves the commit range, runs git diff, queries graph.db for symbol-level changes, computes actual minus declared, writes the result to plan.tracker.json (status, touched.actual, touched.drift, completed_at), and ticks the roadmap row if this was the last chunk in a plan that rolls up to one.
Read the verb's stdout. It prints one line per drift record (<kind> <path>[::<symbol>]). Skim for surprises — anything outside the chunk body's intent is worth flagging to the user before the next dispatch.
complete-chunk: chunk N touched X file(s) but resolved 0 symbols — graph.db may not contain project '<name>', the symbol-level drift is silent and only file-level records were written. Tell the user, run node greymatter/scripts/scan.js --project <name>, and re-run complete-chunk against the same commit range.Hand off.
dispatching-chunks for chunk N+1; the next dispatch reads the new drift entries and injects them.reviewing-execution.
Stop.reviewing-execution.plan.md. The body is immutable post-dispatch; corrections go in a superseding plan.git diff is empty, drift is empty. The tracker's drift array is computed; never typed.npx claudepluginhub advenire-consulting/greymatter --plugin greymatterDetects scope creep by comparing git changes against task plan, quantifies drift percentage, and classifies into ON_TRACK, MINOR_DRIFT, SIGNIFICANT_DRIFT, OUT_OF_CONTROL tiers. Auto-triggers on file exceedance.
Compares approved plans against actual implementation to detect unimplemented items, out-of-scope changes, and design drift. Invoked via /drift-check.
Writes the next chunk's assignment file with auto-injected drift preamble, preparing it for an executing-chunks subagent. Useful for chunk-based development pipelines.