/creating-worktrees
Creating an isolated git worktree for parallel branch work: selects the directory by priority order, verifies/adds .gitignore safety, auto-installs the detected toolchain's dependencies, runs a baseline test, and reports readiness. Use before a feature that needs isolation from
$ npx -y skills add LerianStudio/ring --skill creating-worktrees --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/creating-worktrees
Context preview
The summary Claude sees to decide when to auto-load this skill.
Creating an isolated git worktree for parallel branch work: selects the directory by priority order, verifies/adds .gitignore safety, auto-installs the detected toolchain's dependencies, runs a baseline test, and reports readiness. Use before a feature that needs isolation from
SKILL.md
creating-worktrees.SKILL.mdname: ring:creating-worktrees
description: "Creating an isolated git worktree for parallel branch work: selects the directory by priority order, verifies/adds .gitignore safety, auto-installs the detected toolchain's dependencies, runs a baseline test, and reports readiness. Use before a feature that needs isolation from the main workspace or before executing an implementation plan. Skip for a quick fix on the current branch or when already in the feature's worktree."
Using Git Worktrees
When to use
- Starting feature that needs isolation from main workspace
- Before executing implementation plan
- Working on multiple features simultaneously
Skip when
- Quick fix in current branch → stay in place
- Already in isolated worktree for this feature → continue
- Repository doesn't use worktrees → use standard branch workflow
Sequence
**Runs before:** ring:writing-plans
Git worktrees create isolated workspaces sharing the same repository for parallel branch work.
**Announce at start:** "Using ring:creating-worktrees skill to set up isolated workspace."
Directory Selection (priority order)
1. Existing `.worktrees/` or `worktrees/` directory 2. CLAUDE.md preference (`grep -i "worktree.*director" CLAUDE.md`) 3. Ask user: `.worktrees/` (project-local, hidden) OR `~/.config/ring/worktrees/<project>/` (global)
ls -d .worktrees worktrees 2>/dev/null
Safety Verification
**Project-local directories only:** Verify `.gitignore` before creating:
grep -q "^\.worktrees/$\|^worktrees/$" .gitignore
Not in `.gitignore` → add it → commit → proceed. (Prevents accidentally tracking worktree contents.)
**Global directory** (`~/.config/ring/worktrees`): No verification needed.
Creation Steps
# 1. Detect project name
project=$(basename "$(git rev-parse --show-toplevel)")
# 2. Create worktree
git worktree add "$path" -b "$BRANCH_NAME" && cd "$path"
# 3. Auto-detect and run setup
[ -f package.json ] && npm install
[ -f Cargo.toml ] && cargo build
[ -f requirements.txt ] && pip install -r requirements.txt
[ -f pyproject.toml ] && poetry install
[ -f go.mod ] && go mod download
# 4. Verify clean baseline
npm test / cargo test / pytest / go test ./...
**If tests fail:** Report failures, ask whether to proceed. **If tests pass:** Report: `Worktree ready at <path> | Tests passing (<N> tests) | Ready to implement <feature>`
Quick Reference
| Situation | Action | |-----------|--------| | `.worktrees/` exists | Use it (verify .gitignore) | | Both `.worktrees/` and `worktrees/` exist | Use `.worktrees/` | | Neither exists | Check CLAUDE.md → ask user | | Directory not in .gitignore | Add immediately + commit | | Tests fail during baseline | Report failures + ask |
Non-Negotiables
- Project-local directories MUST be in .gitignore before creation
- Baseline test verification REQUIRED before proceeding with work
- Directory selection MUST follow priority order
- Dependency installation MUST run (auto-detect from project files)
Integration
Pairs with **finishing-a-development-branch** for cleanup and **ring:running-dev-cycle** for work.
Read more
name: ring:creating-worktrees description: "Creating an isolated git worktree for parallel branch work: selects the directory by priority order, verifies/adds .gitignore safety, auto-installs the detected toolchain's dependencies, runs a baseline test, and reports readiness. Use before a feature that needs isolation from the main workspace or before executing an implementation plan. Skip for a quick fix on the current branch or when already in the feature's worktree."
Using Git Worktrees
When to use
- Starting feature that needs isolation from main workspace
- Before executing implementation plan
- Working on multiple features simultaneously
Skip when
- Quick fix in current branch → stay in place
- Already in isolated worktree for this feature → continue
- Repository doesn't use worktrees → use standard branch workflow
Sequence
**Runs before:** ring:writing-plans
Git worktrees create isolated workspaces sharing the same repository for parallel branch work.
**Announce at start:** "Using ring:creating-worktrees skill to set up isolated workspace."
Directory Selection (priority order)
1. Existing `.worktrees/` or `worktrees/` directory 2. CLAUDE.md preference (`grep -i "worktree.*director" CLAUDE.md`) 3. Ask user: `.worktrees/` (project-local, hidden) OR `~/.config/ring/worktrees/<project>/` (global)
ls -d .worktrees worktrees 2>/dev/null
Safety Verification
**Project-local directories only:** Verify `.gitignore` before creating:
grep -q "^\.worktrees/$\|^worktrees/$" .gitignore
Not in `.gitignore` → add it → commit → proceed. (Prevents accidentally tracking worktree contents.)
**Global directory** (`~/.config/ring/worktrees`): No verification needed.
Creation Steps
# 1. Detect project name project=$(basename "$(git rev-parse --show-toplevel)") # 2. Create worktree git worktree add "$path" -b "$BRANCH_NAME" && cd "$path" # 3. Auto-detect and run setup [ -f package.json ] && npm install [ -f Cargo.toml ] && cargo build [ -f requirements.txt ] && pip install -r requirements.txt [ -f pyproject.toml ] && poetry install [ -f go.mod ] && go mod download # 4. Verify clean baseline npm test / cargo test / pytest / go test ./...
**If tests fail:** Report failures, ask whether to proceed. **If tests pass:** Report: `Worktree ready at <path> | Tests passing (<N> tests) | Ready to implement <feature>`
Quick Reference
| Situation | Action | |-----------|--------| | `.worktrees/` exists | Use it (verify .gitignore) | | Both `.worktrees/` and `worktrees/` exist | Use `.worktrees/` | | Neither exists | Check CLAUDE.md → ask user | | Directory not in .gitignore | Add immediately + commit | | Tests fail during baseline | Report failures + ask |
Non-Negotiables
- Project-local directories MUST be in .gitignore before creation
- Baseline test verification REQUIRED before proceeding with work
- Directory selection MUST follow priority order
- Dependency installation MUST run (auto-detect from project files)
Integration
Pairs with **finishing-a-development-branch** for cleanup and **ring:running-dev-cycle** for work.
Proven engineering practices, enforced through skills. Ring is a comprehensive skills library and workflow system for AI agents that transforms how AI assistants approach software development.
Repo: LerianStudio/ring
Other skills on ring.
- /analyzing-options
Analyzing different approaches for a task or problem with structured comparisons, effort estimates, and recommendations. Use when facing strategic decisions, architecture choices, or multiple viable approaches. Skip when there's an obvious single approach or the decision is
Open skill - /auditing-production-readiness
Auditing a service's production readiness against Ring engineering standards across base dimensions plus a conditional multi-tenant dimension, then emitting a scored report and an HTML dashboard. Use before production deploy, periodic review, onboarding, or a major release. Skip
Open skill - /cleaning-comments
Cleaning redundant and obvious comments following clean code principles while preserving meaningful documentation. Supports git scope filtering (staged, unstaged, branch, commit-range). Use when code has excessive comments, during code review, or post-refactor cleanup. Skip when
Open skill - /committing-changes
Commit changes with scope allowlist enforcement, atomic grouping, GPG-signed conventional commits, and trailer management. Detects the repo's PR-validation scope policy before proposing any message. Use when the user asks to commit or has changes ready to record. Skip when the
Open skill - /creating-handoffs
Creating a handoff document that captures session state (completed work, decisions, open items, next steps) and delivering it via Plan Mode so the user gets the native 'clear context and continue implementing' resume option. Use when ending a session, when context grows large,
Open skill - /dispatching-workflows
Executing a phased plan in rolling waves where each phase runs as one multi-agent workflow harness: the supervisor elaborates the phase into tasks against the real landed code, launches a workflow that implements with TDD and runs mandatory in-harness review plus an adversarial
Open skill

