agentleFS
K-logK-log/skills/skills/engineering/implement-ticket/SKILL.md

implement-ticket

Skill0 starsChanged 8 days agoMITView on GitHub

Build a ticket from the ticket tracking system (for example Jira) end to end in a fresh worktree off the base branch - blocker check, constraints, test-first build, review, PR, CI and review-comment rounds, and ticket update. Use when the user or a coordinator says to build, implement, or ship a ticket (an ID such as PROJ-123, or a ticket URL).

18 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use thermo-nuclear-code-quality-review, implement-spec and 8 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.
  • jaydubya818Skill

    thermo-nuclear-code-quality-review

    Use when the user requests an intentionally strict maintainability review.

    Also in 3 projects that use this

  • AWSSkill

    implement-spec

    Implement the result of /to-spec and /to-tickets in code.

    Also in 3 projects that use this

  • GoogleSkill

    to-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

  • GoogleSkill

    to-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

  • MicrosoftSkill

    handoff

    Compact the current conversation into a handoff document for another agent to pick up.

    Also in 4 projects that use this

  • NVIDIASkill

    research

    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

The file

Show its rules and text

We split this skill into the rules it gives an agent

21 rules. 0 are common, 8 are distinctive, and 13 are very specific to this project.

  • 0

    Common

    Most of the 17 edited versions we read keep these.

  • 8

    Distinctive

    This author's own choices. Worth a look.

  • 13

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Run the review command in the main session, because it starts its own reviewer subagents.

    line 13
  2. Very specific:

    If you already work in a worktree for this ticket, use it.

    line 18
  3. Distinctive:

    If a "blocked by" ticket is not done, stop.

    line 23
  4. Distinctive:

    Read the code that the ticket touches in the worktree.

    line 24
  5. Distinctive:

    If a check fails, stop. Report each problem with the evidence (file, line, PR, or ticket).

    line 29
  6. Very specific:

    Write CONSTRAINTS.md at the worktree root with:

    line 34
  7. Very specific:

    Add CONSTRAINTS.md to the exclude file at $(git rev-parse --git-path info/exclude), so it stays local.

    line 39
  8. Very specific:

    If the build needs a local cache directory (for example .m2-local for Maven's -Dmaven.repo.local), put it inside the git directory at $(git …

    line 40
  9. Very specific:

    Every later phase must respect CONSTRAINTS.md.

    line 43
  10. Very specific:

    Run the repo's review command (a project skill such as /<repo>-review).

    line 56
  11. Very specific:

    Check every finding against CONSTRAINTS.md and the commit history before you apply it.

    line 57
  12. Very specific:

    Verify each risk area in CONSTRAINTS.md as it says.

    line 58
  13. Distinctive:

    After the last fix, re-run Phase 3.

    line 59
  14. Distinctive:

    If the branch has no PR, open a PR against the base branch.

    line 64
  15. Very specific:

    Wait for the PR checks with gh pr checks --watch and a 20 minute timeout.

    line 71
  16. Distinctive:

    If a check failed, fix it.

    line 72
  17. Very specific:

    If review threads are open, run /pr-comments.

    line 73
  18. Distinctive:

    If you changed code, do Phase 3, Phase 4, and Phase 5 again, then go back to step 1.

    line 74
  19. Very specific:

    Update the ticket description only if the delivered scope differs from CONSTRAINTS.md.

    line 81
  20. Very specific:

    Stop and ask before any action that skips required human review: merging, pushing with --force or -f, approving your own PR, bypassing …

    line 86
  21. Very specific:

    Run /verify-branch and end with its report table.

    line 90

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Implement ticket $ARGUMENTS end to end. If no ticket ID was given, ask for one.

Subagents

Decide for yourself whether to use subagents and where. Use one when it keeps bulky output out of your context or when work can run in parallel. Do the rest in the main session.

Run the review command in the main session, because it starts its own reviewer subagents. If a subagent reports a blocker or a failure it cannot fix, stop and report it.

Setup

  1. Find the base branch. If the user named one, use it. Else use the repo's default branch: git symbolic-ref --short refs/remotes/origin/HEAD. If that fails, run git remote set-head origin --auto and try again.
  2. If you already work in a worktree for this ticket, use it. Else git fetch origin <base>, then create a worktree off origin/<base> on a branch named after the ticket (for example PROJ-1234-short-title). Do all work inside that worktree.

Phase 0: Can the ticket start?

  1. Fetch the ticket and every linked ticket from the ticket tracking system. For Jira, use the Atlassian MCP. For GitHub issues, use gh issue view <n> --comments.
  2. If a "blocked by" ticket is not done, stop. Report the blocker ticket ID, its title, and its status.
  3. Read the code that the ticket touches in the worktree. Check that the change makes sense:
    • The problem still exists. Another branch or merged PR did not already fix it.
    • The ticket's assumptions about the code, the data, and the APIs match what is there.
    • The acceptance criteria do not conflict with each other, with locked decisions, or with linked tickets.
    • The scope is the right size for one PR.
  4. If a check fails, stop. Report each problem with the evidence (file, line, PR, or ticket).
  5. Move the ticket to its in-progress status.

Phase 1: Constraints and plan

  1. Write CONSTRAINTS.md at the worktree root with:
    • each acceptance criterion, numbered
    • each locked decision, quoted with its ID if it has one (for example D7)
    • ticket scope: what is in and what is explicitly out
    • risk areas: each place where the change can break existing behavior (shared code, other callers, data migrations, permissions, other tenants or product areas), with how to verify it
  2. Add CONSTRAINTS.md to the exclude file at $(git rev-parse --git-path info/exclude), so it stays local. In a worktree, .git is a file, so do not write to .git/info/exclude directly.
  3. If the build needs a local cache directory (for example .m2-local for Maven's -Dmaven.repo.local), put it inside the git directory at $(git rev-parse --git-dir)/m2-local. Git never tracks files there, and git worktree remove deletes it with the worktree.
  4. Show the plan (files to touch, tests per criterion), then proceed without waiting.

Every later phase must respect CONSTRAINTS.md.

Phase 2: Build test-first

For each acceptance criterion: write a test, run it and watch it fail, then make it pass. Done when every criterion in CONSTRAINTS.md has a test you saw fail, then pass. Commit as you go.

Phase 3: Full check

Run the full test suite, then lint, then any other check the repo's CI runs (for example a policy gate), one after the other. Use the repo's own scripts (npm run, make, ./mvnw, scripts/), not npx or the tool directly. Done when all of them are green.

Phase 4: Review

  1. Commit all changes.
  2. Run the repo's review command (a project skill such as /<repo>-review). If the repo has none, run /code-review.
  3. Check every finding against CONSTRAINTS.md and the commit history before you apply it. Commit the fixes.
  4. Verify each risk area in CONSTRAINTS.md as it says. Record the command or check and its result.
  5. After the last fix, re-run Phase 3.

Phase 5: Pull request

  1. Push the branch. After a rebase, push with --force-with-lease.
  2. If the branch has no PR, open a PR against the base branch. If it has a PR, update its title and body. The body has:
    • a plain-English description of what changed and why
    • a readiness table: one row per acceptance criterion and in-scope item, with the diff location that covers it, or "not covered"
    • a risk table: one row per risk area, with the check that verified it, or "UNVERIFIED"

Phase 6: CI and review comments

  1. Wait for the PR checks with gh pr checks --watch and a 20 minute timeout.
  2. If a check failed, fix it.
  3. If review threads are open, run /pr-comments.
  4. If you changed code, do Phase 3, Phase 4, and Phase 5 again, then go back to step 1.

Done when all checks pass and no AI review thread is open. Stop after 3 rounds and summarize what is left.

Phase 7: Ticket update

  1. Comment on the ticket with the PR link.
  2. Update the ticket description only if the delivered scope differs from CONSTRAINTS.md.
  3. Move the ticket to its in-review status.

Stop conditions

Stop and ask before any action that skips required human review: merging, pushing with --force or -f, approving your own PR, bypassing branch protection or CI.

Final summary

Run /verify-branch and end with its report table.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.