feat(plugin): add /colormath:implement-ticket - #15
Closed
craigmbooth wants to merge 1 commit into
Closed
Conversation
The chain had a gap at the end. refine-initiative designs an initiative, plan-initiative plans every ticket in it, refine-ticket plans one — and then somebody reads the plan out loud to a fresh session and hopes. This skill executes it. The thinking already happened, so it deliberately does not re-open the ticket: no re-grooming, no interviewing its way to a design, no rewriting the plan field to match what got built. The step that earns its keep is the one before any code. A plan was written against the codebase as it was; between grooming and now, files move, adjacent tickets land, assumptions expire. So every step is walked against the repo first, and where it no longer holds that is a finding for the user rather than something to route around — silently improving a plan is how a reviewed decision gets replaced by an unreviewed one. Sometimes the right outcome here is "this plan no longer holds, here is why" and no PR at all. Then: branch, build at the layer the plan names, execute the ticket's QA plan against the running stack — every item observed rather than asserted, UI items marked unverified when no browser is reachable rather than inferred from the code just written — preflight, and hand off to ship. What happened is recorded in a ticket comment; the plan and qa_plan fields are left as the record of what was intended, because the difference between the two is the only interesting part. It does not move tickets between lanes: one board's "In Review" is another's "Staging", and guessing at somebody's workflow is worse than leaving it where they put it. A ticket with no plan goes back to refine-ticket rather than being planned and implemented in one breath, which would mean nobody ever reviewed the plan. A task is refused outright: that type carries no plans by design and is not code work.
Collaborator
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #14 — base is
feat/refine-initiative-skill, so this diff is the new skill alone and it can use the renamedrefine-ticket. Merge #14 first.The chain had a gap at the end.
refine-initiativedesigns an initiative,plan-initiativeplans every ticket in it,refine-ticketplans one — and then somebody reads the plan out loud to a fresh session and hopes.What it does
/colormath:implement-ticket CM-00012:refine-ticket, because a plan written by the same run that implements it has never been read by anyone. A task carries no plans by design and isn't code work; an initiative is the wrong altitude. Reads the parent initiative when there is one, so the build doesn't collide with the ticket next to it.⚠️when a UI item has no browser reachable (rather than inferred from the code just written, which is the least trustworthy possible source), failures fixed and re-run rather than shipped with the document claiming they passed.make preflight, then/colormath:shipfor PR, gates, review, test plan and the merge decision.What it deliberately doesn't do
planandqa_planstay as the record of intent, because the difference between intent and outcome is the only interesting part. It holds noupdate_tickettool.shipowns that decision and has the gates to make it.Verification
The repo's 16-gate self-test. Plus the mechanical checks: frontmatter parses and
namematches the directory, noupdate_ticketin the grant, every/colormath:<x>referenced anywhere resolves to a skill that exists (only the deliberatereview-ticketmentions in the rename note and pre-v3 history remain), and every line inside 80 characters.Not invocable end to end until released — skills reach a session through the plugin cache.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Xuh2iqLAyZQjFmPP29xVZf