Ticket workflow skill with a required outline structure (#129) #138
No reviewers
Labels
No labels
assets
bug
duplicate
enhancement
help wanted
invalid
question
testing
ui
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
liamjd/UntitledColonyBuilder!138
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "129-ticket-planning-skill"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #129
Adds a project skill,
.claude/skills/ticket/SKILL.md, for the ticket → outline → tests → review workflow described in CLAUDE.md's "Division of labour". Run it with/ticket <N> [stage]. It also triggers when Claude is asked to draft, spec, outline or review an issue.What the skill requires
Outline. Every section below is required; one that doesn't apply must say "None". These cover the gaps #129 found on #57:
null.%uniquenames, why each node sits where it does, and which names the tests depend on.Ticket. Testable acceptance criteria. Decisions for Liam are asked in one round and recorded on the ticket with a date. The milestone is assigned, not just mentioned.
Tests first. The tests are checked to fail for the right reason, and the test count is compared against main. They are also checked against a throwaway implementation, which is then discarded.
Review. Covers uncommitted work too, and re-reads everything on every pass. Suspected bugs are reproduced before being reported. Findings are ranked by severity, and each fix is written as ordered steps with the conditional ones marked.
Trial run: #117
The skill was trialled end to end on #117 (PR #137) before this PR was opened. The second commit folds in what that run showed:
task_releasedneeded the pawn id;Pawns.remove()never freed a removed pawn's task;constcan't be overridden in a subclass.emit(), which caused a real bug in #117;🤖 Generated with Claude Code