Finishing a Development Branch
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
Git worktree automation for isolated feature development. An agent skill from TechDufus/oh-my-claude.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add TechDufus/oh-my-claude --skill worktree -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install TechDufus/oh-my-claude 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/TechDufus/oh-my-claude.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/oh-my-claude/skills/worktree .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/TechDufus/oh-my-claude/tree/main/plugins/oh-my-claude/skills/worktree 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/TechDufus/oh-my-claude/tree/main/plugins/oh-my-claude/skills/worktreeType 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 TechDufus/oh-my-claude --skill worktree -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install TechDufus/oh-my-claude worktree --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TechDufus/oh-my-claude.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/oh-my-claude/skills/worktree .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/TechDufus/oh-my-claude/tree/main/plugins/oh-my-claude/skills/worktree 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 TechDufus/oh-my-claude --skill worktree -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install TechDufus/oh-my-claude worktree --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TechDufus/oh-my-claude.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/oh-my-claude/skills/worktree .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/TechDufus/oh-my-claude/tree/main/plugins/oh-my-claude/skills/worktree 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/TechDufus/oh-my-claude.git --path plugins/oh-my-claude/skills/worktree--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 TechDufus/oh-my-claude --skill worktree -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install TechDufus/oh-my-claude worktree --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TechDufus/oh-my-claude.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/oh-my-claude/skills/worktree .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/TechDufus/oh-my-claude/tree/main/plugins/oh-my-claude/skills/worktree 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 TechDufus/oh-my-claude 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 TechDufus/oh-my-claude --skill worktree -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/TechDufus/oh-my-claude.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/oh-my-claude/skills/worktree .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/TechDufus/oh-my-claude/tree/main/plugins/oh-my-claude/skills/worktree 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 TechDufus/oh-my-claude --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 TechDufus/oh-my-claude worktree --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TechDufus/oh-my-claude.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/oh-my-claude/skills/worktree .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/TechDufus/oh-my-claude/tree/main/plugins/oh-my-claude/skills/worktree 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.
worktreeGit worktree automation for isolated feature development. An agent skill from TechDufus/oh-my-claude.
Worktree is an agent skill from TechDufus/oh-my-claude. Git worktree automation for isolated feature development. Triggers on: '/worktree create', '/worktree list', '/worktree remove'. Creates isolated working directories with automatic setup.
Its SKILL.md is about 3.5k 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 Development, covering Git worktrees. It works with Git. The repository describes itself as: Add ultrawork to any prompt for maximum parallel execution. The licence is MIT.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit ede75db. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
Bash(git worktree:*)Bash(git branch:*)Bash(git checkout:*)Bash(mkdir:*)Bash(cp:*)Bash(rm:*)Bash(ls:*)Bash(npm:*)Bash(yarn:*)Bash(pnpm:*)…and 3 more on the same allowed-tools line.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitnpmyarnpnpmbunFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, npm, yarn and pnpm, 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 3.5k tokens when it runs. Until then it costs about 49 tokens; SKILL.md has 660 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 found patterns that need a careful read before installing.
- `.env`, `.env.local`, `.env.development`- `.npmrc`cp .env .worktrees/auth-feature/ 2>/dev/null || true| `.env` | Environment variables || `.env.local` | Local overrides || `.env.development` | Development config || `.npmrc` | npm configuration |$ cp .env .worktrees/auth-refactor/ 2>/dev/null && echo "Copied .env" || echo "No .env found"Copied .env- .envAutomated 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 TechDufus/oh-my-claude at commit ede75db, republished under its MIT licence (© TechDufus). 660 words, ~3,483 tokens.
.claude/skills/worktree/SKILL.md (or your agent's skills folder).Git worktree automation for isolated feature development.
| Category | Trigger Phrases |
|---|---|
| Create worktree | /worktree create <name>, /worktree new <name> |
| List worktrees | /worktree list, /worktree ls |
| Remove worktree | /worktree remove <name>, /worktree rm <name> |
| Status | /worktree status |
/worktree create <feature-name>Creates an isolated worktree for feature development.
Workflow:
feat/<feature-name>git worktree add .worktrees/<feature-name> -b feat/<feature-name>.env, .env.local, .env.development.nvmrc, .node-version.npmrcpackage-lock.json → npm installyarn.lock → yarn installpnpm-lock.yaml → pnpm installbun.lockb → bun install.worktrees/ to .gitignore if not presentgit -C .worktrees/<name> status to confirm clean stategit worktree list to confirm worktree is registeredExample:
git worktree add .worktrees/auth-feature -b feat/auth-feature
cp .env .worktrees/auth-feature/ 2>/dev/null || true
cp .nvmrc .worktrees/auth-feature/ 2>/dev/null || true
cd .worktrees/auth-feature && npm install/worktree listShows all active worktrees:
git worktree list/worktree remove <name>Removes a worktree and optionally its branch:
Workflow:
git worktree remove .worktrees/<name> --forcegit branch -D feat/<name>/worktree statusShows status of current worktree:
project/
├── .worktrees/ # All worktrees live here
│ ├── auth-feature/ # Isolated worktree
│ └── api-refactor/ # Another worktree
├── .gitignore # Should include .worktrees/
└── ...These files are copied to new worktrees if they exist:
| File | Purpose |
|---|---|
.env | Environment variables |
.env.local | Local overrides |
.env.development | Development config |
.nvmrc | Node version |
.node-version | Node version (alternative) |
.npmrc | npm configuration |
.tool-versions | asdf version manager |
.worktrees/ directory.worktrees/ to .gitignore automatically.worktrees/Before removal, check:
Recovery:
git worktree add if directory deleted manually| Situation | Use Worktree | Use Branch |
|---|---|---|
| Working on two features simultaneously | YES | NO |
| Quick hotfix while mid-feature | YES | NO |
| Sequential feature development | NO | YES |
| Code review while continuing work | YES | NO |
| Simple branch for later work | NO | YES |
| Different node_modules needed | YES | NO |
| Testing against different deps | YES | NO |
| Just want to save work in progress | NO | YES (stash or branch) |
Rule of thumb:
User: /worktree create auth-refactor
Claude: Creating worktree for auth-refactor...# Step 1: Verify we're in a git repo and check current state
$ git rev-parse --is-inside-work-tree
true
$ git worktree list
/Users/dev/myapp abc1234 [main]
# Step 2: Check if branch already exists
$ git branch --list 'feat/auth-refactor'
(no output = branch doesn't exist, safe to proceed)
# Step 3: Create the worktree with new branch
$ git worktree add .worktrees/auth-refactor -b feat/auth-refactor
Preparing worktree (new branch 'feat/auth-refactor')
HEAD is now at abc1234 feat: add user dashboard
# Step 4: Copy environment files
$ cp .env .worktrees/auth-refactor/ 2>/dev/null && echo "Copied .env" || echo "No .env found"
Copied .env
$ cp .nvmrc .worktrees/auth-refactor/ 2>/dev/null && echo "Copied .nvmrc" || echo "No .nvmrc found"
Copied .nvmrc
# Step 5: Detect package manager and install
$ ls .worktrees/auth-refactor/package-lock.json
.worktrees/auth-refactor/package-lock.json
$ cd .worktrees/auth-refactor && npm install
added 847 packages in 32s
# Step 6: Ensure .worktrees/ is in .gitignore
$ grep -q "^\.worktrees/$" .gitignore || echo ".worktrees/" >> .gitignore
(added to .gitignore)
# Step 7: Verify worktree is functional
$ git -C .worktrees/auth-refactor status
On branch feat/auth-refactor
nothing to commit, working tree clean
$ git worktree list
/Users/dev/myapp abc1234 [main]
/Users/dev/myapp/.worktrees/auth-refactor abc1234 [feat/auth-refactor]Output to user:
Worktree created successfully.
Location: .worktrees/auth-refactor
Branch: feat/auth-refactor
Base: main (abc1234)
Environment files copied:
- .env
- .nvmrc
Dependencies installed via npm.
To work in this worktree:
cd .worktrees/auth-refactor
To open in new terminal/editor:
code .worktrees/auth-refactorUser: /worktree list
Claude: Current worktrees:$ git worktree list
/Users/dev/myapp abc1234 [main]
/Users/dev/myapp/.worktrees/auth-refactor def5678 [feat/auth-refactor]
/Users/dev/myapp/.worktrees/api-cache ghi9012 [feat/api-cache]Output to user:
Active Worktrees:
1. main (primary)
Path: /Users/dev/myapp
Commit: abc1234
2. auth-refactor
Path: .worktrees/auth-refactor
Branch: feat/auth-refactor
Commit: def5678
3. api-cache
Path: .worktrees/api-cache
Branch: feat/api-cache
Commit: ghi9012User: /worktree remove auth-refactor
Claude: Checking worktree status before removal...# Step 1: Check for uncommitted changes
$ git -C .worktrees/auth-refactor status --porcelain
M src/auth/login.ts
?? src/auth/temp.ts
# Step 2: Check for unpushed commits
$ git -C .worktrees/auth-refactor log origin/feat/auth-refactor..HEAD --oneline 2>/dev/null || git -C .worktrees/auth-refactor log origin/main..HEAD --oneline
a1b2c3d feat(auth): add session validation
d4e5f6g feat(auth): refactor token storageOutput to user:
WARNING: This worktree has uncommitted changes:
Modified: src/auth/login.ts
Untracked: src/auth/temp.ts
WARNING: This worktree has 2 unpushed commits:
a1b2c3d feat(auth): add session validation
d4e5f6g feat(auth): refactor token storage
Are you sure you want to remove this worktree?
This will DELETE all uncommitted changes permanently.
Options:
1. Commit and push changes first, then remove
2. Force remove (loses uncommitted changes)
3. CancelUser: force remove, I don't need those changes
Claude: Removing worktree...# Step 3: Force remove the worktree
$ git worktree remove .worktrees/auth-refactor --force
Removing worktree directory .worktrees/auth-refactor
# Step 4: Ask about branch deletionOutput to user:
Worktree removed.
The branch 'feat/auth-refactor' still exists with 2 commits.
Delete the branch as well? (y/n)User: yes
Claude: Deleting branch...$ git branch -D feat/auth-refactor
Deleted branch feat/auth-refactor (was a1b2c3d).
$ git worktree list
/Users/dev/myapp abc1234 [main]
/Users/dev/myapp/.worktrees/api-cache ghi9012 [feat/api-cache]Output to user:
Cleanup complete.
- Worktree directory removed
- Branch feat/auth-refactor deleted$ git worktree add .worktrees/auth-feature -b feat/auth-feature
fatal: a branch named 'feat/auth-feature' already existsRecovery:
# Option 1: Use existing branch (if worktree doesn't exist for it)
$ git worktree add .worktrees/auth-feature feat/auth-feature
# Option 2: Choose a different name
$ git worktree add .worktrees/auth-feature-v2 -b feat/auth-feature-v2
# Option 3: Delete the old branch first (if safe)
$ git branch -d feat/auth-feature # safe delete (fails if unmerged)
$ git worktree add .worktrees/auth-feature -b feat/auth-featureUser message: "Branch 'feat/auth-feature' already exists. Would you like to: (1) use the existing branch, (2) choose a different name, or (3) delete the old branch first?"
$ git worktree add .worktrees/auth-feature -b feat/auth-feature
fatal: '.worktrees/auth-feature' already existsRecovery:
# Check if it's a valid worktree
$ git worktree list | grep auth-feature
# If listed: worktree exists, inform user
# If not listed: orphaned directory, safe to remove
$ rm -rf .worktrees/auth-feature
$ git worktree prune
$ git worktree add .worktrees/auth-feature -b feat/auth-featureUser message: "Directory '.worktrees/auth-feature' already exists. This appears to be an orphaned directory (not a valid worktree). Remove it and retry?"
$ cd .worktrees/auth-feature && npm install
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR! peer dep missing: react@^17.0.0Recovery:
# Worktree is created but deps failed
# Option 1: Try with legacy peer deps
$ cd .worktrees/auth-feature && npm install --legacy-peer-deps
# Option 2: Use different package manager
$ cd .worktrees/auth-feature && yarn install
# Option 3: Skip install, let user handleUser message: "Worktree created successfully, but npm install failed with dependency conflicts. The worktree is ready at .worktrees/auth-feature. You may need to run npm install --legacy-peer-deps or resolve the conflicts manually."
$ cd .worktrees/auth-feature && npm install
npm ERR! code ENOSPC
npm ERR! syscall write
npm ERR! errno -28
npm ERR! ENOSPC: no space left on deviceRecovery:
# Clean up the partial worktree
$ git worktree remove .worktrees/auth-feature --force
$ git branch -D feat/auth-feature
# Check disk space
$ df -h .User message: "Disk space insufficient. The partial worktree has been cleaned up. Free up disk space and try again. Current usage: [show df output]"
$ git worktree add ".worktrees/my feature" -b "feat/my feature"
fatal: 'feat/my feature' is not a valid branch namePrevention: Validate names before attempting creation.
# Valid patterns: alphanumeric, hyphens, underscores
# Invalid: spaces, special chars, starting with hyphen
# Sanitize input
name="my feature"
sanitized=$(echo "$name" | tr ' ' '-' | tr -cd 'a-zA-Z0-9-_')
# Result: my-featureUser message: "Invalid name 'my feature'. Branch names cannot contain spaces. Using 'my-feature' instead."
$ git worktree remove .worktrees/auth-feature
fatal: '.worktrees/auth-feature' is lockedRecovery:
# Check why it's locked
$ cat .git/worktrees/auth-feature/locked
Process still running or editor has files open
# Unlock if safe
$ git worktree unlock .worktrees/auth-feature
$ git worktree remove .worktrees/auth-featureUser message: "Worktree is locked (possibly by another process or editor). Close any editors with files from this worktree open, then retry."
If worktree creation fails partway through, clean up in reverse order:
# 1. Remove node_modules if install started
$ rm -rf .worktrees/<name>/node_modules 2>/dev/null
# 2. Remove the worktree directory
$ git worktree remove .worktrees/<name> --force 2>/dev/null || rm -rf .worktrees/<name>
# 3. Prune worktree references
$ git worktree prune
# 4. Delete the branch if it was created
$ git branch -D feat/<name> 2>/dev/null
# 5. Verify clean state
$ git worktree list
$ git branch --list 'feat/<name>'Automated cleanup function:
cleanup_failed_worktree() {
local name="$1"
rm -rf ".worktrees/${name}/node_modules" 2>/dev/null
git worktree remove ".worktrees/${name}" --force 2>/dev/null || rm -rf ".worktrees/${name}"
git worktree prune
git branch -D "feat/${name}" 2>/dev/null
echo "Cleaned up failed worktree: ${name}"
}Note: This skill manages worktrees only. Use standard git commands for commits, pushes, and merges within worktrees.
© TechDufus, MIT. 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 plugins/oh-my-claude/skills/worktree of TechDufus/oh-my-claude.
Open the folder on GitHubat commit ede75db
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 skillTechDufus/oh-my-claude | 174 | — | ~3.5k | Automated safety check: Warn | MIT | |
| Finishing a Development Branchobra/superpowers | 296k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Finishing A Development Branchfarm-fe/farm | 5.6k | 34 repos | ~1.8k | Automated safety check: Pass | MIT | |
| Git Worktree Cleanuplobehub/lobehub | 83k | — | ~2.8k | Automated safety check: Pass | Custom licence | |
| Pre-Release PR Triagejamiepine/voicebox | 57k | — | ~3.1k | Automated safety check: Pass | MIT | |
| Ccmanager Configkbwo/ccmanager | 1.3k | — | ~1.5k | Automated safety check: Pass | MIT |
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
farm-fe/farm
A skill your agent uses when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for…
lobehub/lobehub
Audits stale Git worktrees and branches with a bundled script, classifies each one, and deletes only after you approve the exact candidates.
jamiepine/voicebox
Sorts a backlog of open pull requests into must-merge, candidate, superseded and deferred, writes a triage doc and works the merge loop before a release.
kbwo/ccmanager
Set up, review, or repair a CCManager config — .ccmanager.json at a git repository root, or the global ~/.config/ccmanager/config.json.
CapSoftware/Cap
Builds a Cap feature in an isolated Git worktree with disposable dev resources, verification, a recorded demo and a neutral pull request, started with /building.
TechDufus/oh-my-claude
Systematic debugging methodology for diagnosing failures and root cause analysis.
TechDufus/oh-my-claude
A skill your agent uses when applying oh-my-claude workflow guidance, ultrawork modes, agent orchestration, plan execution, or plugin configuration.
TechDufus/oh-my-claude
MUST be used when creating pull requests. An agent skill from TechDufus/oh-my-claude.
TechDufus/oh-my-claude
Transform approved plans into ralph loop infrastructure. An agent skill from TechDufus/oh-my-claude.
TechDufus/oh-my-claude
Structured PRD generation with interview, research, and approval workflow.
TechDufus/oh-my-claude
Methodology for creating effective skills using TDD principles.
Works with
Categories
Git worktree automation for isolated feature development. An agent skill from TechDufus/oh-my-claude. Worktree is an agent skill from TechDufus/oh-my-claude. Git worktree automation for isolated feature development.
Worktree fits situations like: : /worktree create; /worktree remove.
Run `npx skills add TechDufus/oh-my-claude --skill worktree -a claude-code`. Or copy the skill folder (plugins/oh-my-claude/skills/worktree in TechDufus/oh-my-claude) into .claude/skills/worktree in your project. Claude Code loads it when a task matches its description.
Run `npx skills add TechDufus/oh-my-claude --skill worktree -a codex`. Or copy the skill folder (plugins/oh-my-claude/skills/worktree in TechDufus/oh-my-claude) 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 TechDufus/oh-my-claude --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, npm, yarn, pnpm and bun). Our summary lists: Node.js. Its frontmatter pre-approves these tools: Bash(git worktree:*), Bash(git branch:*), Bash(git checkout:*), Bash(mkdir:*), Bash(cp:*), Bash(rm:*), Bash(ls:*), Bash(npm:*), Bash(yarn:*), Bash(pnpm:*), Read, Write, Glob.
SKILL.md contains no URLs. Its commands use git and npm, 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 flagged 2 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way.
Worktree is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k 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: Finishing a Development Branch (obra/superpowers, 296k stars), Finishing A Development Branch (farm-fe/farm, 5.6k stars), Git Worktree Cleanup (lobehub/lobehub, 83k stars) and Pre-Release PR Triage (jamiepine/voicebox, 57k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
TechDufus (a GitHub user) maintains it in TechDufus/oh-my-claude, which has 174 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on July 13, 2026.
Source: TechDufus/oh-my-claude on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.