plan-ticket-change
Skill1 starsChanged 33 days agoMITView on GitHub
Split a ticket in two, cancel it, or reopen a cancelled one, keeping ids, blocking edges, the spec index and notes in step. Starts on request, or on its own under empowerment mode.
In this repository34 other files it gives its agents.
- agent-docsSkill
- ask-meSkill
- clarify-askSkill
- clarify-domainSkill
- clarify-explainSkill
- clarify-grill-docsSkill
- clarify-grillSkill
- debug-diagnoseSkill
- design-improveSkill
- design-modulesSkill
- design-typesSkill
- explore-decideSkill
- explore-howSkill
- explore-prototypeSkill
- explore-researchSkill
- explore-whySkill
- implement-specSkill
- implement-ticketSkill
- plan-specSkill
- plan-ticketsSkill
- review-codeSkill
- review-impactSkill
- review-learnSkill
- review-prSkill
- session-handoffSkill
- session-progressSkill
- session-retroSkill
- setup-need-installSkill
- setup-repoSkill
- setup-verifySkill
- test-benchmarkSkill
- test-planSkill
- test-tddSkill
- wizardSkill
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 11
Read this repo's configuration: docs/agents/issue-tracker.md and docs/agents/workflow.md (reached from CLAUDE.md), or .work/config.md when …
- Very specific: line 17
Read the ticket (its file under .work/tickets/, or the tracker issue), every ticket that names it in Blocked by (grep -rl "<ID>" …
- Very specific: line 38
Update the Blocked by lines and the spec index lines as listed.
≈ “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
Who starts this. The user asks for it (types it or names it), or Mode in workflow.md is empowerment and the work has reached this step. In any other case, tell the user which command to type, and stop.
Change one ticket that already exists: split it, cancel it, or reopen a cancelled one. Nothing is deleted: a ticket that goes away is dropped, never removed, so its id is never reused.
Read this repo's configuration: docs/agents/issue-tracker.md and docs/agents/workflow.md (reached from CLAUDE.md), or .work/config.md when storage is private. If neither exists, tell the user to run /dev:setup-repo.
Steps
1. Read the ground
Read the ticket (its file under .work/tickets/, or the tracker issue), every ticket that names it in Blocked by (grep -rl "<ID>" .work/tickets), and the lines of .work/spec-index.md that name it (open points, infrastructure). Note its Status, Step, Base: and branch.
Done when you can list the ticket, what blocks it, what it blocks, its requirement codes, and whether work on it has started.
2. Propose
- split: divide the acceptance criteria into the part that stays and the part that moves. The original id keeps the part that ships first (the work in progress, if any). The moved part becomes a new ticket with the next id (the "Next id" rule in the tracker doc),
Blocked bythe original when it needs the original's code. Each part must still be a vertical slice: verifiable on its own and under the PR size cap. Split theRequirementscodes, theFiles:line and theProof:line the same way: each part keeps the files and the proof of its own criteria. - cancel: the reason, and the requirement codes the ticket carried: which ticket covers them now, or that nothing does.
- reopen: the ticket must be
dropped. It goes back toready; check every ticket in itsBlocked bystill exists and is notdropped.
For split and cancel, also decide each ticket that was blocked by this one: it now waits on the original, the new ticket, both, another ticket, or nothing.
Show the change as a list of before → after lines, one per ticket file, tracker issue or spec index line touched. Then go on to step 3 without waiting. Ask only when the ticket splits two ways that fit equally well. Done when the list is shown.
3. Apply
Local tracker:
- split: rewrite the original's title and criteria (ticked criteria stay ticked), and add under
## Result:Split on <date>: <reason>. Moved to <new ID>.Write the new ticket from the template in TICKET.md withStatus: ready, in the same epic folder, numbered right after the original. If the original's file name no longer matches its title, rename it. - cancel:
Status: dropped, and the reason under## Result. - reopen:
Status: ready, and a line under## Resultwith the date and the reason. - Update the
Blocked bylines and the spec index lines as listed.
Real tracker: write the same changes as commands from the tracker doc (create the new issue as a sub-issue of the same epic, edit the original's body, comment the reason, close as dropped, or reopen) in one script, .work/handoff/ticket-change-<ID>.sh. Print its path and contents for the user to run, or run it yourself under Mode: empowerment (Tracker and pull request writes in workflow.md).
Notes: one D-n decision line in .work/notes.md: the reason, the option not taken (for example "keep one PR over the cap"), and the original ticket and its epic as tags.
Done when every listed line is applied and grep -rn "<ID>" .work/ shows no line that disagrees with the change.
4. Leave the code to the user
This skill changes tickets, not code.
- Split of a ticket in progress: the original keeps its branch and
Base:. List the changed files (git status --short) that belong to the moved part; leave them in place and let the user choose what to do with them. - Cancel of a ticket in progress: name its branch and worktree, and print the
git worktree removeandgit branch -Dcommands. Say plainly when there are uncommitted changes, and never run these commands without the user's confirmation.
End with one line naming the next command: /dev:implement-ticket <ID> for the ticket to work next, else /dev:session-progress.
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.

