About write-ticket
write-ticket is a skill for researching and drafting software tickets in the same chat; it does not implement them. It turns code and project evidence into an independently actionable plan, and reads back tickets after an authorized tracker write.
Key features
- 01Investigate problem and code evidence
- 02Reuse analysis and resolve key decisions
- 03Draft implementation steps in dependency order
- 04Prepare child tickets and executor handoff
- 05Check drafts and resolve concrete blockers
- 06Read back tickets after authorized writes
Use cases
- 01Draft a ticket for a feature or change
- 02Turn investigation findings into an actionable plan
- 03Split larger changes into reviewable child tickets
- 04Create or update a tracker ticket when authorized
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ gabriel-lafrance/ skills --skill write-ticketAfter installing, type/write-ticketin Claude Code to confirm it loaded.
Bundled filesdoctrine.mdreference.md
Details
From the project READMEWrite Ticket
Develop the final ticket in the same chat as the research and decisions. User start only; /task reads tickets (ticket context). This skill never implements the ticket.
Read when
- Preparing a touched user flow? Open user-experience.md during investigation and carry the result into the Plan's conditional UX/UI section. Backend-only work skips this.
- About to analyze or draft? Open code-quality.md, code-structure.md, and doctrine.md. Skip them and the ticket plans a shape the rules reject.
- About to grill or draft for a Feature? Open strong-foundation.md. Skip it and the Plan has no seams where a new variant plugs in.
- About to ask? Open Asking the user and the relevant reference.md guidance. Skip them and you ask for facts the repo or tracker already has.
- About to draft or write? Open the Plan body, fresh-executor handoff, and final-version description. Skip them and the ticket needs the old chat to make sense.
Process
- Read the prompt and any named existing ticket. Identify the intended outcome and whether the user requested a chat draft or an actual tracker write. Infer repository and tracker facts when available. Do not ask for a ticket stage.
- Gather problem and code evidence through
/analyze, reusing current analysis and refreshing only gaps. Its targeted/howand/whyinvestigations apply when they materially improve understanding. Apply its public boundary investigation when the change warrants it, before decomposition. Keep preparation in the same chat; no intermediate ticket or saved research artifact is required. - Apply
/grill-meusing the decision guidance, including its own-words, line-by-line intent restatement and readiness check. Ask only unresolved consequential user choices; a fully settled request needs no questions. Reuse settled answers. Clarify incomplete replies and contradictions; carry exact contracts, reasons, dependencies, and explicit blockers into the owning work items. As answers change the understanding, research new facts and revise the developing ticket here; do not restart the interview or require another analysis pass without a gap. - Fill the Plan body from that evidence and locked context. Write meaningful implementation items in dependency order, each with local Do, Why, How, and planned Verify details under the work-item contract. Keep shared context in the other sections without repeating item rationale. Assign the work kind. Apply PR-sized subissues when the work has useful reviewable PR boundaries. Derive child bodies and the stack handoff from the same context. Scrub every body to its final current version.
- Apply the fresh-executor handoff, including its fresh-context read-only checker for nontrivial drafts and conditional stack check. Resolve its concrete blockers, then show the complete final draft once in a Locked in message with no Questions (the final response for draft-only). Include child bodies and stack order when split. Incomplete or unchecked drafts remain in chat with the gaps visible; do not call them implementation-ready.
- For a draft-only request, stop with that single final draft. For an authorized tracker write, gather any still-missing priority, assignee, or tracker in one metadata batch. Write after the complete draft is visible, without a redundant permission question. Follow Tracker write, preserving ticket identity and the material prior body on update. Recheck final-version cleanliness after corrections.
- Read back the saved body and relationships. Return actual URLs, kind, applied metadata, and stack order when relevant, with any incomplete write or blocker. Do not print the complete body again; follow Working output. Status is Todo on create; preserve it on update unless the user named another. Do not start implementation or publishing.
Comments
Markdown supported