phase-done
Skill2 starsChanged 29 days agoApache-2.0View on GitHub
Closes a tracker issue by verifying the work is genuinely done (acceptance criteria, gates, docs), writing the close narrative into the PR description, ensuring the PR declares `Closes #N`, and posting the handoff comment. Use when the user says a work item is complete or asks to close it out.
In this repository3 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- next-taskSkill
- phase-statusSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 0 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 27
Verify every
## Acceptance criteriacheckbox is ticked: If any remain - [ ], stop and list them. - Very specific: line 38
Design check: if the work changed how cc-shift behaves, confirm ARCHITECTURE.md says so in the same PR.
- Very specific: line 61
After the merge, scripts/gh/project.sh show <n> should say Done.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/phase-done
The closing step of the issue workflow (.claude/rules/issue-workflow.md). Run
it only once the issue's work is actually finished; this skill verifies and
records, and it does not decide the work is done on your behalf.
Steps
- Identify the issue being closed (the user names it, or it is the issue
this branch's PR declares
Closes #Nfor). Read it withgh issue view <n> --json title,body,comments --jq '.title, .body, (.comments[] | "--- comment ---", .body)'(--commentsprints nothing for an issue without comments,issue-workflow.md§The loop), andscripts/gh/fields.sh show <n>for its type, priority and effort. A Task carries exactly one work-kind label; a Bug or a Feature carries none. Set what is missing before closing (issue-workflow.md§Type, priority and labels). - Verify every
## Acceptance criteriacheckbox is ticked. If any remain- [ ], stop and list them. Do not tick a criterion yourself to proceed; a tick must reflect real, verified state ("the switch picks the account that expires first" means a test or a hand run showed it). Tick verified boxes in the issue body viagh issue edit <n> --body-file. - Relationships check (
scripts/gh/rel.sh tree <n>;.claude/rules/issue-relationships.md): if the issue is a parent with open sub-issues, do NOT close it; finish or re-parent the children first. Closing this issue auto-unblocks anything it wasblocking, which is expected; note any dependents that become workable so the handoff comment can point at them. - Design check: if the work changed how
cc-shiftbehaves, confirmARCHITECTURE.mdsays so in the same PR. A doc that describes the old behaviour is an unmet exit criterion. - Gate check: confirm the gates that apply actually ran and passed: the
shell and workflow set (
shellcheck --severity=style,actionlint,zizmor --min-severity=low .github/), every guard underscripts/checks/, the--self-testof everyscripts/gh/helper the change touched, and the full Rust set in.claude/rules/ci-cd.md. Report the results you saw, never a green you assumed. - Write the close narrative into the PR description: what shipped, the key decisions with their citations, the gate results, and what was deliberately left out (with follow-up issue numbers). The PR description plus the issue thread ARE the build record.
- Post the handoff comment on the issue (
gh issue comment <n>): where things stand at close, what was deliberately left out (with follow-up issue numbers), and what a follow-up session should do first. - Ensure the PR body declares
Closes #<n>(gh pr view,gh pr edit) so the merge intomainauto-closes the issue; never close the issue by hand when a PR carries the work. OneCloseskeyword per issue. Confirm auto-merge is armed (gh pr view --json autoMergeRequest); arm it if not, as its own command (.claude/memory/pr-auto-merge.md). - Roadmap-board check (
.claude/rules/project-board.md):Doneis set by the built-in workflow when the merge closes the issue, never by hand. After the merge,scripts/gh/project.sh show <n>should sayDone; if the issue is missing from the board entirely,scripts/gh/project.sh add <n>and let the closed-to-Done workflow settle it. Do not archive or delete board items. - Remind the user to commit the close on the current conventional-type branch.
What this skill does not do
It does not run the build, the test suite, or the guards to "check" the acceptance criteria for you; those must already have been run and have passed before this skill is invoked. If in doubt, run the relevant command first.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

