next-ticket
Skill1 starsChanged 4 months agoMITView on GitHub
Picks the next dispatchable ticket from docs/tickets/ and implements it, without anyone naming which one. Claims by pushing the ticket branch, so concurrent runs cannot take the same ticket.
- Commits and pushes
1 other project uses a version of this.
Adopted by
Most recently taken up by
- bmdhodl/agent47their own version, first seen Oct 5, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- bmdhodl/agent47★ 4same name
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.
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 19
If this run was started by a routine or asked for autopilot, and enabled is false, stop immediately.
- Distinctive: line 54
Stop and say which of these it is — the distinction tells the human their next move:
- Distinctive: line 61
Do not invent work, and do not take a blocked ticket because it looks ready to you.
≈ “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
Requested: $ARGUMENTS
The queue lives in docs/tickets/ — statuses are derived from git, never stored
elsewhere. See docs/tickets/README.md for the model.
0. Read the kill switch
Read .claude/autopilot.json.
maxInFlightfrom that file is the limit for step 1, unless the request passed a number, which wins.- If this run was started by a routine or asked for autopilot, and
enabledisfalse, stop immediately. Say autopilot is off and that/autopilot onturns it back on. Do not work the ticket anyway.
A human asking for one ticket directly in a session is not autopilot — serve that whatever the flag says. The switch governs unattended execution, not the skill.
1. Check whether there is room
In flight = tickets whose branch claude/NNN-* exists while the file in main still says
todo. Count them (remote branches too, when a remote exists). At or above the limit —
stop and report what is in flight. This check is what keeps two runs from claiming
the same ticket.
2. Pick the next ticket
Ready = status: todo in main, every id in depends is done in main, and no
claude/NNN-* branch exists. Take the lowest id — the planner numbers tickets in
dependency order, so lowest-first is the intended sequence. Skip any ticket whose branch
carries needs-attention: a human must look at those before a retry.
3. Claim it by pushing the branch
git checkout main && git pull
git checkout -b claude/NNN-<slug>
git push -u origin claude/NNN-<slug> # skip the push when there is no remoteThe push is the lock: if it fails because the branch already exists, another run got there first — say so and pick the next ready ticket (once). With no remote, creating the local branch is the claim.
4. If nothing is ready
Stop and say which of these it is — the distinction tells the human their next move:
- Blocked work exists — name the blocked tickets and the unmerged tickets holding them.
- Everything is in review — the queue advances on merges; that is the human's move.
- Something needs attention — name it; it will never clear on its own.
- Nothing left — every ticket is done. Say so plainly.
Do not invent work, and do not take a blocked ticket because it looks ready to you.
5. Run it
Invoke the execute-ticket skill for the chosen id. Everything about how the ticket is
implemented lives there — do not restate or second-guess it here.
Handle exactly one ticket per run. The chain advances when a merge fires the next run, so review sits between tickets by construction.
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.

