| name | close-story |
| description | Finalize bookkeeping for a story already completed by QA. Never changes lifecycle status. Use when: close story, *close-story, story Done, /close-story.
|
| user-invocable | true |
| argument-hint | {story-path} [yolo|interactive] |
| agent | po |
close-story
Lean SDC skill. Task is source of truth.
Task SOT
.aiox-core/development/tasks/po-close-story.md
Input
$ARGUMENTS[0] — story path
$ARGUMENTS[1] — mode
Pre-close gates (blocking)
Before any administrative write, verify (this skill must not modify lifecycle Status):
- Review/gate verdict exists and is PASS, CONCERNS (accepted), or WAIVED — not FAIL/missing.
- Acceptance criteria met.
- Tasks checked complete; File List present.
- Quality gates green (or documented waiver).
- Story is already Done by QA; any other status is an integrity violation.
On any hard fail → HALT, no administrative write and no Status change.
Protocol
- Load and execute
po-close-story.md.
- Adopt @po.
- Preserve Status: Done; do not perform a lifecycle transition.
- Update epic index/backlog and closure metadata if required.
- Suggest next story when applicable.
Post-phase verification
Forbidden
- Closing without a review verdict or before QA sets Done
- Changing story lifecycle status
git push (still @devops)
- Product harvest trees (see ARCH-A denylist)