Ticket Loop Kit — Git skill for Claude Code
Installs an unattended ticket loop into a repository: implements, verifies, and merges GitHub issue tickets one at a time, each in its own agent worktree (npx … init + /setup-ticket-loop + guidebook).
How to install Ticket Loop Kit
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open iwishash/ticket-loop-kit and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Ticket Loop Kit does
Installs an unattended ticket loop into a repository: implements, verifies, and merges GitHub issue tickets one at a time, each in its own agent worktree (npx … init + /setup-ticket-loop + guidebook). Backends: Orca · cmux · tmux. Workers: Claude Code, Codex
Alternatives in Git
- Worktree Parallel Init — Create multiple git worktrees for parallel development: $ARGUMENTS 23.4k ★
- Bulletproof Quick Start Guide — Target Audience: Complete beginners Never used Python/git before 11.1k ★
- CCometixLine — A high-performance Claude Code statusline tool written in Rust with Git integration and real-time usage tracki 2.4k ★
README
ticket-loop-kit
Installs and updates the **ticket loop** in other repositories: an unattended loop that implements, verifies, and merges GitHub issue tickets one at a time, each in its own worktree. Worktrees and agent terminals are driven by a backend (Orca, cmux, or tmux).
Requirements and supported environments
"Verified" means one real ticket went end to end (worktree → worker → PR → CI → merge → cleanup).
| Supported | Status | |
|---|---|---|
| Worker agent | Claude Code (AGENT=claude, default) |
Verified. Runs claude --dangerously-skip-permissions |
Codex CLI (AGENT=codex) |
Wired up, not verified on a real ticket. Runs codex --dangerously-bypass-approvals-and-sandbox; needs a ChatGPT plan that includes Codex CLI, or an API key |
|
| Backend | Orca (BACKEND=orca, default) |
Verified (Orca 1.4.x). Orca app running, repository registered, Command Source "orca.yaml only" |
cmux (BACKEND=cmux) |
Verified (cmux 0.65). Run the loop inside a cmux terminal; the agent's cmux integration must be on | |
tmux (BACKEND=tmux) |
Verified (tmux 3.8). Any terminal app or SSH. Idle comes from Claude Code hooks; Codex is wired through notify but untested |
|
| Issue tracker | GitHub Issues via gh |
Sub-issues (spec → tickets), blocked_by, labels, PR checks, merge. Other trackers would need the selection, PR, and merge functions rewritten |
| OS | macOS | Verified |
| Linux / WSL | Code paths exist (orca-ide, notify-send, date -d) but have not been run. tmux inside WSL is the likeliest to work as is; Orca from WSL is untried; cmux is macOS-only |
|
| Native Windows (cmd, PowerShell, Git Bash) | Not supported: bash installer and loop, symbolic links under .claude/skills/, no tmux in Git Bash. npx … init refuses on win32 and points to WSL |
|
| Tools | git, gh (logged in), jq, bash; Node ≥ 18 for npx … init |
The bash-only install needs no Node |
**Skills, not baked-in prompts.** The
Related Skills
Journal Init
One-time setup for the journal-skills plugin. Collects user info (name, GitHub username, Jira site, vault path
Garra Routine
Roadmap-driven autonomous slice. Reads ROADMAP+Linear, picks the next step, plans it, implements via PR + CI,
Autoship
Start AutoShip orchestration — reads GitHub issues, dispatches agents, verifies, creates PRs, and merges
Ship Ticket
Ship an ALREADY-BUILT ticket — code review → PR → merge → learnings → install-local. Skips the build (you buil
Claude Linear Sync
Automated Linear ticket tracking for Claude Code — tickets created on task start, updated on commit, closed wh
Overnight
Unattended overnight work block — time-aware merge mode keyed on the merge window; runs /keel:ship over the qu
Related Agents
Proteus Guide
Proteus review guide. After a milestone merges, opens the review issue with the human's brief and evidence lin
Implement Queue Worker
Implements a single GitHub issue in an isolated worktree via TDD. Installs deps, writes a failing test first,
Notifier
Writes one lane's ending to the outside world during an unattended /dev-loop run — swaps the issue's workflow