
Worktrunk
Run parallel Claude, Codex, or Gemini sessions on isolated git worktrees without branch chaos, using Worktrunk’s agent plugins and wt CLI workflows.
Overview
Worktrunk is an agent skill most often used in Build (also Ship review prep) that configures git worktree workflows and per-agent plugins so parallel coding sessions stay isolated.
Install
npx skills add https://github.com/max-sixty/worktrunk --skill worktrunkWhat is this skill?
- Compares Claude Code, Codex, OpenCode, and Gemini CLI across configuration skill, activity tracking, worktree isolation,
- Provides one-line installs: wt config plugins claude install, codex install, plus manual marketplace add flows
- Explains why Codex omits activity tracking (no turn-end hook) and why non-Claude agents use wt switch --create and wt re
- Positions the configuration skill as living docs for LLM commits, hooks, and troubleshooting
- Capability matrix covers 4 agent CLIs: Claude Code, Codex, OpenCode, and Gemini CLI
Adoption & trust: 2.6k installs on skills.sh; 5.4k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You run more than one agent session on the same repo and branches collide, context bleeds, or you cannot see which worktree is actively coding.
Who is it for?
Solo builders juggling multiple AI agents on one codebase who already use git and want wt list visibility plus Claude-style isolation when available.
Skip if: Single-session workflows on tiny repos where git branches alone are enough, or teams that forbid local worktree automation.
When should I use this skill?
You configure Worktrunk plugins or need documented worktree switch/create/remove flows for supported agent CLIs.
What do I get? / Deliverables
Worktrunk plugins and wt commands give you isolated worktrees, visible session activity where hooks allow, and a documented setup path per agent CLI.
- Installed Worktrunk marketplace plugin for the chosen agent CLI
- Documented wt switch --create / wt remove workflow matched to that CLI’s hook support
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Parallel agent worktrees are a build-time workflow pattern that also pays off when you switch contexts during ship and review. The skill documents per-agent plugin install paths, hook capabilities, and when to fall back to wt switch --create—core agent-tooling setup.
Where it fits
Install wt config plugins claude install so new features get their own isolated worktree before the first agent edit.
Track 🤖 versus 💬 markers in wt list to see which parallel agent session is still running on a branch.
Switch worktrees with wt switch --create to diff two agent implementations without losing either session’s context.
How it compares
Use this agent-oriented worktree orchestration instead of manual git worktree recipes that do not track which CLI session owns which tree.
Common Questions / FAQ
Who is worktrunk for?
Indie developers using Claude Code, Codex, OpenCode, or Gemini CLI who want Worktrunk to manage parallel git worktrees and plugin configuration for multi-agent coding.
When should I use worktrunk?
During Build agent-tooling setup when you add plugins; during Build pm when you spin feature branches per agent; during Ship review when you switch trees to compare agent-generated changes before merge.
Is worktrunk safe to install?
It modifies agent plugin configuration and git worktrees on your machine—review the Security Audits panel on this Prism page and inspect marketplace sources before installing plugins.
SKILL.md
READMESKILL.md - Worktrunk
# Agent Integration Worktrunk ships a plugin for each supported agent CLI. What a plugin provides depends on the hooks that CLI exposes: | Capability | Claude Code | Codex | OpenCode | Gemini CLI | |---|:-:|:-:|:-:|:-:| | Configuration skill | ✓ | ✓ | | ✓ | | Activity tracking (🤖/💬 in `wt list`) | ✓ | | ✓ | ✓ | | Worktree isolation | ✓ | | | | | `/wt-switch-create` command | ✓ | | | | The configuration skill is documentation the agent reads to help set up LLM commits, hooks, and troubleshooting. Activity tracking shows which worktrees have running sessions. Worktree isolation and `/wt-switch-create` need worktree-lifecycle hooks that only Claude Code exposes, so Codex, OpenCode, and Gemini users invoke `wt switch --create` and `wt remove` directly. Codex omits activity tracking because its hooks have no turn-end event, so a 🤖 marker could never clear back to 💬. ## Installation ### Claude Code ```bash wt config plugins claude install ``` Manual equivalent: ```bash claude plugin marketplace add max-sixty/worktrunk claude plugin install worktrunk@worktrunk ``` ### Codex ```bash wt config plugins codex install ``` This configures the Worktrunk marketplace in Codex. Then run `/plugins` in Codex and install Worktrunk from the marketplace. Manual equivalent: ```bash codex plugin marketplace add max-sixty/worktrunk ``` To remove the marketplace entry, run `wt config plugins codex uninstall`. Already-installed plugins are left unchanged. ### OpenCode ```bash wt config plugins opencode install ``` This writes the activity-tracking plugin to OpenCode's global plugins directory, `~/.config/opencode/plugins/worktrunk.ts` (honoring `$OPENCODE_CONFIG_DIR` and `$XDG_CONFIG_HOME`). `wt config plugins opencode uninstall` removes it. ### Gemini CLI ```bash gemini extensions install https://github.com/max-sixty/worktrunk ``` Gemini loads the extension natively from the repository, so there is no `wt` wrapper. `gemini extensions uninstall worktrunk` removes it. ## Configuration skill With the `/worktrunk` skill, the agent can help with: - Setting up LLM-generated commit messages - Adding project hooks (pre-start, pre-merge, pre-commit) - Configuring worktree path templates - Fixing shell integration issues Claude Code is designed to load the skill automatically when it detects worktrunk-related questions. ## Activity tracking The Claude Code, OpenCode, and Gemini plugins track agent sessions with status markers in `wt list`: ```bash $ wt list <b>Branch</b> <b>Status</b> <b>HEAD±</b> <b>main↕</b> <b>Remote⇅</b> <b>Path</b> <b>Commit</b> <b>Age</b> <b>Message</b> @ main <span class=d>^</span><span class=d>⇡</span> <span class=g>⇡1</span> . <span class=d>33323bc1</span> <span class=d>1d</span> <span class=d>Initial commit</span> + feature-api <span class=d>↑</span> 🤖 <span class=g>↑1</span> ../repo.feature-api <span class=d>70343f03</span> <span class=d>1d</span> <span class=d>Add REST API endpoints</span> + review-ui <span class=c>?</span> <span class=d>↑</span> 💬 <span class=g>↑1</span> ../repo.review-ui <span class=d>a585d6ed</span> <span class=d>1d</span> <span class=d>Add dashboard component</span> + wip-docs <span class=c>?</span> <span class=d>–</span> ../repo.wip-docs <span class=d>33323bc1</span> <span class=d>1d</span> <span class=d>Initial commit</span> <span class=d>○</span> <span class=d>Showing 4 worktrees, 2 with changes, 2 ahead</span> ``` - 🤖 — agent is working - 💬 — agent is waiting or idle The plugin clears the marker when a session ends. A stale marker can remain if the agent process is killed before its session-end hook runs; `wt config state marker clear` removes a marker manually. ### Manual status markers Set status markers manually for any workflow: ```ba