Vspawn
vlinx-io/VelaTerm
Explicitly spawn a standalone child session under the current vlx-term session, passing the task in as its first message (mirrors spawntask).
Mint isolated git worktrees for parallel agent work, track ownership in a cross-agent registry, and land finished branches back onto a target with a queued rebase, test gate, and atomic fast-forward…
$ npx skills add iii-hq/workers --skill worktree -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install iii-hq/workers worktree --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/iii-hq/workers.git skills-src && mkdir -p .claude/skills && cp -r skills-src/worktree/skills .claude/skills/worktree && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "worktree" agent skill from https://github.com/iii-hq/workers/tree/main/worktree/skills into .claude/skills/worktree/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "worktree", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/iii-hq/workers/tree/main/worktree/skillsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add iii-hq/workers --skill worktree -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install iii-hq/workers worktree --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iii-hq/workers.git skills-src && mkdir -p .agents/skills && cp -r skills-src/worktree/skills .agents/skills/worktree && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "worktree" agent skill from https://github.com/iii-hq/workers/tree/main/worktree/skills into .agents/skills/worktree/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "worktree", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add iii-hq/workers --skill worktree -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install iii-hq/workers worktree --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iii-hq/workers.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/worktree/skills .cursor/skills/worktree && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "worktree" agent skill from https://github.com/iii-hq/workers/tree/main/worktree/skills into .cursor/skills/worktree/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "worktree", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/iii-hq/workers.git --path worktree/skills--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add iii-hq/workers --skill worktree -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install iii-hq/workers worktree --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iii-hq/workers.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/worktree/skills .gemini/skills/worktree && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "worktree" agent skill from https://github.com/iii-hq/workers/tree/main/worktree/skills into .gemini/skills/worktree/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "worktree", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install iii-hq/workers worktreeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add iii-hq/workers --skill worktree -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/iii-hq/workers.git skills-src && mkdir -p .github/skills && cp -r skills-src/worktree/skills .github/skills/worktree && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "worktree" agent skill from https://github.com/iii-hq/workers/tree/main/worktree/skills into .github/skills/worktree/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "worktree", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add iii-hq/workers --skill worktree -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install iii-hq/workers worktree --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iii-hq/workers.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/worktree/skills .opencode/skills/worktree && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "worktree" agent skill from https://github.com/iii-hq/workers/tree/main/worktree/skills into .opencode/skills/worktree/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "worktree", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
worktreeMint isolated git worktrees for parallel agent work, track ownership in a cross-agent registry, and land finished branches back onto a target with a queued rebase, test gate, and atomic fast-forward…
Worktree is an agent skill from iii-hq/workers. Mint isolated git worktrees for parallel agent work, track ownership in a cross-agent registry, and land finished branches back onto a target with a queued rebase, test gate, and atomic fast-forward merge.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering Git worktrees and Subagents. The licence is Apache-2.0.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 72ae6ab. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Worktree loads about 1.8k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 920 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
ates the source repo's gitignored files (.env files, caches) intoAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from iii-hq/workers at commit 72ae6ab, republished under its Apache-2.0 licence (© iii-hq). 920 words, ~1,791 tokens.
.claude/skills/worktree/SKILL.md (or your agent's skills folder).The worktree worker gives every agent its own isolated checkout of a shared
repository. Instead of two sessions fighting over one working tree,
worktree::create mints a locked git worktree on a fresh branch, records
who owns it, and returns a path to use as the agent's working directory.
When the work is done, worktree::land automates the merge-back: rebase
onto the target branch, run an optional test command, fast-forward the
target atomically, and clean the worktree up. Lands are serialized per
repository through an engine FIFO queue, so parallel agents never race a
merge.
The land test gate delegates to shell::exec, so the shell worker must be
installed and worktree_root must sit inside its fs.host_roots jail.
Landing never pushes to remotes; it moves local branches only.
Destructive surfaces are gated by configuration: every mutating function
checks its gate first, the force paths (claim takeover, forced removal,
land force_restart) ship closed, and a denial names the exact config key
to flip. The path worktree::create returns doubles as the turn's
filesystem scope root (metadata.fs_scope.root), so file access inside the
worktree is fenced by the shell worker while the gates cover the lifecycle
door the scope cannot see (remove, prune, branch deletion, landing).
worktree::create, then use the
returned path as the agent's working directory).worktree::list,
worktree::status).worktree::create with pr: <number> fetches refs/pull/<n>/head
from origin and branches at it).main (or any target) with
tests enforced first (worktree::land with test_cmd).worktree::land; pass force_restart to
abort and start over instead.worktree::claim,
worktree::release) or clean up abandoned ones (worktree::remove,
worktree::prune).worktree::create are managed.shell
worker with the worktree path as cwd; this worker only manages the
worktrees themselves.worktree::create — mint a locked, isolated worktree off a base ref or
a pull request head (pr); auto-claims for session_id when given,
names the branch by id or deterministic codename per config, and returns
an advisory dev_port derived from the id (never reserved anywhere).worktree::list — registry view, filterable by repo or session, with
optional git status per worktree.worktree::get — one worktree with status.worktree::validate — check a path is a live managed worktree;
reconciles records whose directories were removed by hand.worktree::claim — take session ownership (force to take over).worktree::release — release ownership (force to override).worktree::status — clean flag, ahead/behind, staged/unstaged/untracked
counts, diffstat, rebase-in-progress, and integrated with an
integration_reason, so squash- or rebase-landed branches read as
merged even while ahead of their base.worktree::remove — remove a worktree; refuses dirty or unlanded work
unless forced, and refuses while running processes hold files open under
it (W222); the directory leaves its path instantly (staged into a
trash area, deleted in the background); can delete the branch.worktree::prune — sweep: drop records whose directories are gone and
remove clean, unclaimed, expired worktrees, including integrated ones
whose work already landed (cron-bound, {} payload).worktree::land — queue the rebase / test / fast-forward / cleanup
pipeline; returns a job_id immediately.worktree::land-step — internal queue consumer that executes land
phases; never call it directly (denied to agents).With provision.copy_ignored enabled in config, every create also
replicates the source repo's gitignored files (.env files, caches) into
the new worktree in the background; the create response never waits on it.
Errors carry stable W### codes; the ones worth branching on are W210
(already claimed), W220 (dirty), W221 (unmerged work), W222 (files
held open by running processes), W401 (land already queued), W402
(unresolved rebase from a previous land), and the land-block reasons
carried on events (W410 conflict, W411 tests, W412 target kept
moving, W413 target checked out dirty). W5xx means configuration
denied the operation, not that it failed: W500 gate off, W501 force
disabled, W502 land target not in gates.land_targets, W503
repository not in gates.repos, W504 per-repo worktree budget hit. The
message names the exact key; do not retry, surface that key to the
operator (or drop the force flag) instead.
Register a worktree::* trigger when a different worker should react to
lifecycle changes without polling worktree::list — announce lands in
chat, start a follow-up agent when a sibling's branch merges, or alert on
blocked lands.
Reach for it when:
worktree::landed,
worktree::land-blocked with reason and conflict_files).worktree::claimed,
worktree::released).worktree::removed).The caller of worktree::land gets only { job_id, queued } back; the
outcome arrives on these triggers, so a landing workflow should always bind
one instead of polling.
registerFunction('notify::on-land', handler).iii.registerTrigger({
type: 'worktree::landed',
function_id: 'notify::on-land',
config: {
// optional equality filters:
// repo_path, worktree_id, session_id
},
})All six types accept the same three optional filters; unknown config keys
are rejected at registration. For event payload shapes, call
get function info on the trigger type.
© iii-hq, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in worktree/skills of iii-hq/workers.
Open the folder on GitHubat commit 72ae6ab
Worktree next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Worktree this skilliii-hq/workers | 113 | — | ~1.8k | Automated safety check: Notes | Apache-2.0 | |
| Vspawnvlinx-io/VelaTerm | 270 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Spec-Driven Development v2LichAmnesia/lich-skills | 234 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Subagent Coordinatorflyxl/datazen | 114 | — | ~908 | Automated safety check: Pass | GPL-3.0 | |
| PmApra-Labs/apra-fleet | 101 | — | ~5.4k | Automated safety check: Pass | Custom licence | |
| Batch Orchestrationrohitg00/pro-workflow | 2.9k | — | ~1.2k | Automated safety check: Pass | None |
vlinx-io/VelaTerm
Explicitly spawn a standalone child session under the current vlx-term session, passing the task in as its first message (mirrors spawntask).
LichAmnesia/lich-skills
Organizes long-running agent work into a Project, Sprint and Task hierarchy with per-task state files, isolated worktrees, review loops and script-checked rules.
flyxl/datazen
Orchestrate multi-track parallel feature development with subagents and git worktrees.
Apra-Labs/apra-fleet
Project Manager skill. An agent skill from Apra-Labs/apra-fleet.
rohitg00/pro-workflow
Decompose large-scale changes into independent units and spawn parallel agents in isolated worktrees.
kortix-ai/suna
Drive OpenAI's Codex CLI (codex exec) as a non-interactive coding sub-agent from inside Claude Code.
iii-hq/workers
Schedule any registered function on a 6- or 7-field cron expression with the standalone cron worker.
iii-hq/workers
Send and read email from the iii engine — SMTP send, IMAP read, and real-time IDLE push as a subscribable trigger type.
iii-hq/workers
Expose registered functions as HTTP endpoints with the standalone http worker.
iii-hq/workers
File-backed kanban board: create, read, move and comment on tickets by key or uuid, assign agent profiles, and wake on comments through the kanban:comment trigger instead of polling.
iii-hq/workers
Fire-and-forget topic pub/sub: broadcast an event with publish and every matching subscribe trigger receives it.
iii-hq/workers
Organize worker release tags into Linear release waves — one team document plus one release/<date label per same-day batch of worker releases, with shipped MOT issues labeled and linked.
Categories
Mint isolated git worktrees for parallel agent work, track ownership in a cross-agent registry, and land finished branches back onto a target with a queued rebase, test gate, and atomic fast-forward…. Worktree is an agent skill from iii-hq/workers. Mint isolated git worktrees for parallel agent work, track ownership in a cross-agent registry, and land finished branches back onto a target with a queued rebase, test gate, and atomic fast-forward merge.
Worktree fits situations like: tasks that involve Git worktrees; tasks that involve Subagents.
Run `npx skills add iii-hq/workers --skill worktree -a claude-code`. Or copy the skill folder (worktree/skills in iii-hq/workers) into .claude/skills/worktree in your project. Claude Code loads it when a task matches its description.
Run `npx skills add iii-hq/workers --skill worktree -a codex`. Or copy the skill folder (worktree/skills in iii-hq/workers) into .agents/skills/worktree in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add iii-hq/workers --skill worktree -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/worktree, .gemini/skills/worktree, .github/skills/worktree and .opencode/skills/worktree in your project.
Going by SKILL.md and its folder, Worktree needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Worktree is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Worktree: Vspawn (vlinx-io/VelaTerm, 270 stars), Spec-Driven Development v2 (LichAmnesia/lich-skills, 234 stars), Subagent Coordinator (flyxl/datazen, 114 stars) and Pm (Apra-Labs/apra-fleet, 101 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
iii-hq (a GitHub organization) maintains it in iii-hq/workers, which has 113 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 8, 2026.
Source: iii-hq/workers on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.