done
Close increment with PM 3-gate validation (tasks, tests, docs). Use when all tasks complete and saying "close increment", "we're done", or "finish up".
SKILL.mdplugins/specweave/skills/done/SKILL.md
GitHub<!-- Generated from skills/sw-done/SKILL.md by scripts/build/generate-skills.mjs. Edit the source, then npm run build. -->
sw-done: close an increment
Closing is verify, review, complete. The one hard gate is a passing
reports/verify.json; everything else is evidence.
Steps
- Board.
specweave task list: every task must bedoneorskipped. Anything open goes back to sw-do, orspecweave task skip T-04 --reason "<why>". - Verify.
specweave verifyruns the project's test, lint and build commands (configtesting.commands, else detected), checks every acceptance criterion against the ledger (an AC is met when all its tasks are done) and writesreports/verify.mdandreports/verify.json. Red: fix and re-run. Do not tick AC boxes; they are derived. - Review. For anything that ships, run sw-review in a fresh context. With
review.crossModelon, alsospecweave review: another model family reviews the diff (exit 3 means fix first). If the project has aGLOSSARY.md, runspecweave glossary checkand rename new code that uses an avoided word. Fix critical and high findings, then verify again. - Docs. If commands, config or user-facing behaviour changed, update README,
CHANGELOG and the
## Commandstable in AGENTS.md in the same branch. - Complete.
specweave complete 0042. It refuses without a passing verify unless the user gives a reason:specweave complete 0042 --reason "<why>". - Ship. Push the branch and open the PR the way this repository ships;
specweave reportwrites an HTML timeline to attach as evidence.
Report in one paragraph: verify result, review verdict (or "skipped"), commits, anything deferred.
Manual path (no CLI)
Check every task in spec.md has a done or skip line in ledger.jsonl. Run the
project's test, lint and build commands yourself and put their real output in
reports/verify.md. Then set "status": "completed" in metadata.json, the one state
change the manual path makes by hand.
Rules
- Never ask "should I close?" when the tasks are done; close, and the user can reopen.
- Never edit
metadata.jsonstatus while the CLI is available. - Several agents on one increment: only the lead closes, after every agent has handed off or released its claims.
- Completing never calls GitHub, Jira or Azure DevOps unless close-on-complete is set;
a failed sync afterwards is retried with
specweave sync push.