implement-ticket
Skill1 starsChanged 31 days agoMITView on GitHub
Take one ticket from start to delivery: orient in the code, fill the gaps, plan the proof, build, review, deliver and close. Also resumes unfinished work. Starts on request, or on its own under empowerment mode.
- Commits and pushes
18 other projects use a version of this.
Adopted by
Most recently taken up by
- fboulnois/skillstheir own version, first seen Nov 8, 2026
- islandhopper81/claude-skillstheir own version, first seen Nov 1, 2026
- K-log/skillstheir own version, first seen Nov 1, 2026
- crissmoldovan/agent-skillstheir own version, first seen Nov 1, 2026
- AlexaDeWit/skillstheir own version, first seen Nov 1, 2026
- hoangliem88/claude-skillstheir own version, first seen Oct 13, 2026
Used with
Projects with it also use thermo-nuclear-code-quality-review, to-tickets and 7 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
jaydubya818Skillthermo-nuclear-code-quality-review
Use when the user requests an intentionally strict maintainability review.
Also in 3 projects that use this
GoogleSkillto-tickets
Break a plan, spec, or the current conversation into a set of tracer-bullet tickets, each declaring its blocking edges, published to the configured tracker — edges as text in one file per ticket locally, or native blocking links on a real tracker.
Also in 3 projects that use this
GoogleSkillto-spec
Turn the current conversation into a spec and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.
Also in 3 projects that use this
MicrosoftSkillhandoff
Compact the current conversation into a handoff document for another agent to pick up.
Also in 4 projects that use this
NVIDIASkillresearch
Before designing a feature, research how comparable libraries solve the problem, check best practices, known pitfalls, and upstream changes. Use when starting a new feature, investigating an unfamiliar area, or the user asks to research something.
Also in 3 projects that use this
- +4 more from google
Other versions18 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 18
- deadlock-mod-manager/deadlock-mod-manager★ 584same name
- blockscout/frontend★ 310same name
- sponge-b0b/Polaris★ 4same name
- crissmoldovan/agent-skills★ 2same name
- Pawel-Kica/ai-coding-100★ 2same name
- Pawel-Kica/claude-code-100★ 2same name
- anarefin/ai-agent-skills★ 1same name
- fboulnois/skills★ 1same name
- oleg-chibikov/agent-skills★ 1same name
- AlexaDeWit/skills★ 0same name
8 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
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
- plan-specSkill
- plan-ticket-changeSkill
- 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
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. 0 are common, 3 are distinctive, and 10 are very specific to this project.
0
Common
Most of the 17 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 11
Every ticket worked has a local ticket file under .work/tickets/.
- Very specific: line 15
Read Mode in workflow.md too.
- Distinctive: line 21
Read a leaf only when its condition holds:
- Distinctive: line 26
Call a skill only when its condition holds:
- Very specific: line 29
Before step 5, when the Impact rule in step 4 of review-code holds: dev:review-impact on the diff since Base:.
- Very specific: line 37
A ticket id: Read its file in .work/tickets/.
- Very specific: line 48
Read CLAUDE.md, CONTRIBUTING.md, the ticket, .work/spec-index.md and the glossary (or the glossary notes in .work/notes.md).
- Very specific: line 65
Call the Skill tool with "dev:test-plan".
- Distinctive: line 70
Bug ticket: Call the Skill tool with "dev:debug-diagnose" and let it lead.
- Very specific: line 72
Tier
lightorfull: Call the Skill tool with "dev:test-tdd" and build one slice at a time at the plan's seams. - Very specific: line 84
Read Review in workflow.md (it follows Mode: typed under micromanagement, inline under empowerment).
- Very specific: line 87
inline: call the Skill tool with "dev:review-code" and the ticket id (the ticket's Base: commit is the fixed point and the ticket file is … - Very specific: line 105
Add note lines for anything the next session would lose time without.
“Common” is measured: kept by at least 6 in 10 of the 17 edited versions of this file we could read. “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.
Take one ticket to delivery. Read this repo's configuration first: 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.
Every ticket worked has a local ticket file under .work/tickets/. The file holds the ticket's Status, Step and Result, so a session that dies can be resumed. implement-ticket creates whatever record it needs; a missing spec index or epic never blocks it.
Write the Step: line before starting each step, naming the step you are about to do (identify, orient, fill gaps, plan proof, build, review, deliver, close). The last Step: line says where a dead session stopped.
Read Mode in workflow.md too. Under empowerment, where a step below says to ask or wait, take the recommended answer and write ASK: <question> -> <answer> in ## Result; the Always pause list still stops you.
Rigor follows the tier
The tier that test-plan picks in step 3 (check, light, full) decides how much of the process below runs. A small change gets a small process: tier check runs no baseline, its proof is the plan's existing command, and its verdict is VERIFIED when that command exits 0 on the current code, NOT VERIFIED when it fails, and INCONCLUSIVE when it could not run.
Read a leaf only when its condition holds:
- Tier
lightorfull, or a subagent reports work as done: PROOF.md. - Tier
lightorfull, a sweep or migration, a bug ticket, or work you will deliver as more than one commit: SEQUENCE.md.
Call a skill only when its condition holds:
- Step 1 finds code you must change whose shape you do not understand (a guard, a retry, a flag, an odd boundary):
dev:explore-why. - Before step 5, when the Impact rule in step 4 of review-code holds:
dev:review-impacton the diff sinceBase:.
Name each leaf you read and each skill you called on the Applied: line of ## Result. A step that does not apply to this ticket gets a skip: <step>: <reason> line there instead of silent omission.
Steps
0. Identify the ticket
- A ticket id. Read its file in
.work/tickets/. If the ticket exists only on the tracker, read it there and write a local file for it at.work/tickets/tracked/<ID>-<slug>.mdin the template of TICKET.md, with aTracker:line holding its URL. - Pasted ticket text (from Jira or anywhere else). Write it as a ticket file at
.work/tickets/external/<ID>-<slug>.md, using the id it already has. FillType(a guess you state),Requirements: none,Blocked by: None, the acceptance criteria from the text, andFiles:andProof:once step 1 has found them. - Nothing. Resume: find the ticket with
Status: in-progressorin-review(grep -rlover.work/tickets/). With none, say so and suggest/dev:session-progress. With one, read its lastStep:and## Result, compare withgit statusandgit log, and run the tests again before writing more code: the file can be one step behind the working tree. The ticket file is the record: continue from it rather than redoing finished steps, and trust its claims only once the rerun proof agrees with them. A ticket waiting atStep: reviewgoes on from step 5; one atStatus: in-reviewwhose commit now exists is closed asdone. epic <slug>orall(only underempowerment). The set of tickets to work: the ready ones in dependency order, each taken through steps 0 to 7 before the next. A single ticket id works that ticket only.
Set Status: in-progress. Then restate the goal in your first message, in three lines: what the user wants (the outcome, not the method), the problem in the code today, and the smallest change you expect. When what you find later rules out the request as written, stop and say so instead of building around it.
Done when you can state the ticket's id, its title and the goal (and, when resuming, the step you will continue from).
1. Orient
Read CLAUDE.md, CONTRIBUTING.md, the ticket, .work/spec-index.md and the glossary (or the glossary notes in .work/notes.md). Search .work/notes.md with grep -i for the ticket id, then for the module, requirement codes and error messages; the decisions and gotchas it returns bind this ticket.
If the repo has code, find where the work goes. Send wide searches to a subagent so your context stays clean: the module, its entry points, the neighbouring tests, the conventions a new file must match. A fact that would cost the next session time to rediscover (where a module lives, which convention is unwritten, a trap) becomes a note line in .work/notes.md.
Done when you can list: the decisions and notes that bind the ticket, the files you will touch, and the repo's test command.
2. Fill the gaps
- A question that running something answers (does the library accept this input, which layout reads better, how fast is the slow path): find out by running it, with a throwaway script or
dev:explore-prototype, instead of asking the user. - Acceptance criteria that are ambiguous: call the Skill tool with "dev:clarify-grill" on the missing part only.
- A choice between options, or an open point or
spikeinBlocked by: call the Skill tool with "dev:explore-decide". - A question only an outside person can answer: tell the user to type
/dev:clarify-askfor that person, and carry on with every part of the ticket that does not depend on the answer (underempowerment, list the question under## ResultasOPEN:instead, and carry on).
Done when no acceptance criterion is ambiguous, or the ones that remain are named as blocked and the user has agreed to proceed without them.
3. Plan the proof
Call the Skill tool with "dev:test-plan". Done when the plan is in the ticket file under ## Test plan and its self-check in step 8 of test-plan holds.
4. Build
- Branch. Follow
workflow.md. With deliverypr, work on a branch named by the repo's pattern: creating the branch is fine; committing is not. Withcommit, stay on the current branch. Before the first change, write**Base:** <git rev-parse HEAD>under the ticket's header lines: it is the fixed point the review compares against. For tierlightorfull, record the baseline as SEQUENCE.md says. - Bug ticket. Call the Skill tool with "dev:debug-diagnose" and let it lead; it records attempts in the notes.
- Tier
check. Make the change, then run the proof command from the plan. - Tier
lightorfull. Call the Skill tool with "dev:test-tdd" and build one slice at a time at the plan's seams.
Run the typecheck regularly, single test files often, and the whole suite once at the end. When a test fails, change the code. When it fails for a reason outside the slice you are building (a leaked key, a race with a container, a query that returns the wrong row), record it as a problem, not a note: an I-n line in .work/notes.md, an A-n line for each approach tried, and an F-n line once it is green. Tick each acceptance criterion in the ticket file as it is met.
When the plan is wrong, stop instead of patching. The signs: the same workaround shape appears a second time; the work needs files outside the ticket's Files: line or another ticket's scope; a lock, a cast or an always-set optional field is needed where the plan assumed none; a second ticket of the epic deviates from the plan the same way the first did. Write what you found under ## Result, say which tickets it changes, and tell the user to run /dev:plan-ticket-change (or /dev:plan-tickets for the epic); under empowerment, call the Skill tool with that skill yourself and go on with the changed ticket list. One odd edge case is not a sign; a repeated shape is.
A problem found on the way that is not fixed in this ticket (a defect in other code, a broken environment): if it affects other tickets or needs someone else, open a bug ticket for it through the tracker (for a real tracker, print the command, or run it under empowerment: Tracker and pull request writes in workflow.md); otherwise add an I-n line to .work/notes.md tagged with this ticket.
Done when every acceptance criterion is ticked and the proof is green on the current code, run by you in this session. For tier light or full, the verdict is VERIFIED by PROOF.md.
5. Review
Read Review in workflow.md (it follows Mode: typed under micromanagement, inline under empowerment).
typed: writeskip: review: typedunder## Result, go on to delivery, and name/dev:review-code <ID>next to the commit commands, so the user can run it before committing (it reads the ticket'sBase:line as the fixed point). Tiercheckgets no suggestion: the diff is small enough to read.inline: call the Skill tool with "dev:review-code" and the ticket id (the ticket'sBase:commit is the fixed point and the ticket file is the spec). Show the aggregated report, then go on.
Done when each Act on finding is either fixed or written under ## Result with the reason it stays, or the review is skipped. The review is input for the human reviewer, not an approval.
6. Deliver
Follow workflow.md. Git writes follows Mode: under micromanagement, do not run git commit or git push; print them for the user (a direct request from the user in this session to run them is honoured). Under empowerment, run them, never with force. The command that opens the pull request follows Tracker and pull request writes: printed under micromanagement, run under empowerment.
- commit: print the commit message in the repo's convention, then the commands in order:
git addwith the explicit files fromgit status. Underprivatestorage.work/already does not appear there (.git/info/exclude). Underin-repostorage, include it: tickets, spec, notes and plans are the shared recordsetup-repopromised the team; leave out only.work/proof/(scratch evidence), unless the test plan asks to keep a script as a committed test. Thengit commitwith that message. When the work is more than one unit, print one commit per unit in the order SEQUENCE.md gives. - pr: check the diff against the PR size cap first; if it is over, stop, propose how to split the ticket, and tell the user to run
/dev:plan-ticket-change split <ID>to apply it (underempowerment, call it yourself). Then print the branch check, the commit message and commands as above,git push -u origin <branch>, and the command that opens the pull request. Call the Skill tool with "dev:review-pr" for the body and print it. The repo's PR template wins over the skill's template.
Done when the message and the commands are printed (or, under empowerment, you have a commit hash and the pushed branch).
7. Close
- Set
Status: in-review: the work is complete and waits for the user to commit or merge it. SetStatus: donewhen the user confirms the commit or the merge, or when a later/dev:implement-ticketor/dev:session-progressfinds the commit on the branch. UnderMode: empowermentyou commit yourself, so setStatus: doneas soon as the commit exists (with deliverypr, once the pull request is merged). - Fill
## Result: the goal in one line, then what changed; the proof command, the output lines that decide it, and the verdict (VERIFIED,NOT VERIFIEDorINCONCLUSIVE); pre-existing failures from the baseline; the commit message and commands you printed (or the PR or commit); the decisions made; the follow-ups; theApplied:line and anyskip:lines. - Turn an
F-nline from(unconfirmed)to(confirmed)by appending a line with the sameF-n. - Add
notelines for anything the next session would lose time without. - A tracker ticket: mirror the status on the tracker and close it only after delivery is confirmed. Print those commands for the user, or run them under
empowerment(Tracker and pull request writesinworkflow.md).
End with one line naming the next command: /dev:implement-ticket <ID> for the next ready ticket whose blockers are done, else /dev:session-progress.
Under Mode: empowerment, work only the ticket you were given. When you were given epic <slug> or all, take the next ready ticket and repeat from step 0, until none is ready or a stop rule above fires; after the last one, call the Skill tool with "dev:session-progress" and report.
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.

