definition-of-done
The ordered finish-line runner for any change in this repo — generators, then the asset-integrity refresh last on its own, then the full gate suite, then commit and push; use before declaring any change finished or whenever the stop hook reports uncommitted or untracked changes.
Install
npx skills add https://github.com/VincentChuWaiChow/vanguard-frontier-agentic/tree/master/.claude/skills/definition-of-done
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install vincentchuwaichow-vanguard-frontier-agentic@llmmart
git clone https://github.com/VincentChuWaiChow/vanguard-frontier-agentic.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole vincentchuwaichow/vanguard-frontier-agentic collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Definition of Done
Doctrine
The order is load-bearing. The integrity manifest must hash the settled tree, so
asset-integrity:write always runs last, on its own, from the repo root — never folded into a
parallel generator batch, never run from a subdirectory.
Trigger
- Before declaring any change in this repo finished.
- Whenever the stop hook reports uncommitted or untracked changes.
Input
The list of paths you touched in this change.
Decision matrix
Pick the steps that apply based on what changed — most changes trigger more than one row.
- catalog / agents / skills / roles / providers changed →
npm run manifest:write:all, then re-run asset-integrity LAST on its own (the parallel-generator ordering caveat inCLAUDE.md). skills/**changed →npm run manifest:write.catalog/model-policy.jsonormodel-registry.jsonchanged →npm run model-policy:check(andmodel-policy:applyif the projection changed).tools/vfa-tui/**changed →cd tools/vfa-tui && cargo fmt --check && cargo clippy --all-targets -- -D warnings && cargo test. Return to the repo root afterwards — a persistedcdhas broken integrity runs before.- any root file /
agents//plugins//package.jsonchanged → asset-integrity refresh required.
The invariant sequence
Always, in this order:
- Applicable generators from the decision matrix above.
python3 tests/validate-asset-integrity.py --writefrom the REPO ROOT, last, on its own.npm run validate— zero failures.npm run lint:spellandnpx --yes markdownlint-cli2 "**/*.md" "#node_modules"— zero failures.git statusclean after committing with a scoped conventional-commit message.git push -u origin <branch>(retry with backoff on network errors only).
Footguns
grep -cE 'FAIL|ERROR'exits 1 on a count of 0 — do not chain it with&&before the commit, or a clean gate run looks like a failure and blocks you.- Run integrity from the repo root — a leftover
cdintotools/vfa-tuimakes the write silently target a nonexistent path. - Warnings from model-policy are exit-0 by design — read them, don't treat them as failures.
- Never edit
catalog/asset-integrity.jsonby hand.
Output
The checklist above with pass evidence per step, then the commit hash and push confirmation.
Delegation note
Gate runs may be delegated to a Haiku subagent per agentic-delegation's "Gate run" workflow
template, but the orchestrator reads the results and owns the commit — a delegate's self-report
that gates passed is not verification.
Files (vanguard-frontier-agentic)
-
SKILL.md 2.9 KB
--- name: definition-of-done description: "The ordered finish-line runner for any change in this repo — generators, then the asset-integrity refresh last on its own, then the full gate suite, then commit and push; use before declaring any change finished or whenever the stop hook reports uncommitted or untracked changes." allowed-tools: ["Bash", "Read", "Agent"] --- # Definition of Done ## Doctrine The order is load-bearing. The integrity manifest must hash the settled tree, so `asset-integrity:write` always runs last, on its own, from the repo root — never folded into a parallel generator batch, never run from a subdirectory. ## Trigger - Before declaring any change in this repo finished. - Whenever the stop hook reports uncommitted or untracked changes. ## Input The list of paths you touched in this change. ## Decision matrix Pick the steps that apply based on what changed — most changes trigger more than one row. - **catalog / agents / skills / roles / providers changed** → `npm run manifest:write:all`, then re-run asset-integrity LAST on its own (the parallel-generator ordering caveat in `CLAUDE.md`). - **`skills/**` changed** → `npm run manifest:write`. - **`catalog/model-policy.json` or `model-registry.json` changed** → `npm run model-policy:check` (and `model-policy:apply` if the projection changed). - **`tools/vfa-tui/**` changed** → `cd tools/vfa-tui && cargo fmt --check && cargo clippy --all-targets -- -D warnings && cargo test`. Return to the repo root afterwards — a persisted `cd` has broken integrity runs before. - **any root file / `agents/` / `plugins/` / `package.json` changed** → asset-integrity refresh required. ## The invariant sequence Always, in this order: 1. Applicable generators from the decision matrix above. 2. `python3 tests/validate-asset-integrity.py --write` from the REPO ROOT, last, on its own. 3. `npm run validate` — zero failures. 4. `npm run lint:spell` and `npx --yes markdownlint-cli2 "**/*.md" "#node_modules"` — zero failures. 5. `git status` clean after committing with a scoped conventional-commit message. 6. `git push -u origin <branch>` (retry with backoff on network errors only). ## Footguns - `grep -cE 'FAIL|ERROR'` exits 1 on a count of 0 — do not chain it with `&&` before the commit, or a clean gate run looks like a failure and blocks you. - Run integrity from the repo root — a leftover `cd` into `tools/vfa-tui` makes the write silently target a nonexistent path. - Warnings from model-policy are exit-0 by design — read them, don't treat them as failures. - Never edit `catalog/asset-integrity.json` by hand. ## Output The checklist above with pass evidence per step, then the commit hash and push confirmation. ## Delegation note Gate runs may be delegated to a Haiku subagent per `agentic-delegation`'s "Gate run" workflow template, but the orchestrator reads the results and owns the commit — a delegate's self-report that gates passed is not verification.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.