Skip to content
Back to skills

Worktrees

ASecurity

This skill creates git worktrees with tmux sessions and spawns an AI agent with a prompt. Triggers: "create a worktree", "new worktree", "worktree for branch", "spawn worktree", "parallel branch", "work on branch in new session", "worktree-branch script". Creates isolated worktree directories with an AI agent running automatically. Not for regular git branching or checkout operations.

  • 38 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
documentationbashgit

Security analysis

A100/100

Scanned September 8, 2026

npx -y skills add richardgill/nix --skill worktrees --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Worktrees?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Worktrees
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/richardgill-worktrees/badge)](https://www.skillsdirectory.com/skills/richardgill-worktrees)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: worktrees
description: |
  This skill creates git worktrees with tmux sessions and spawns an AI agent with a prompt.
  Triggers: "create a worktree", "new worktree", "worktree for branch", "spawn worktree",
  "parallel branch", "work on branch in new session", "worktree-branch script".
  Creates isolated worktree directories with an AI agent running automatically.
  Not for regular git branching or checkout operations.
---

# Worktrees

Create a git worktree in a new tmux session with an AI agent running a specific prompt.

## Base branch

By default everything should have a base branch of `main` unless you're explicitly told otherwise.

## Choosing the prompt file

Pick the best option based on what's available:

A) **Issue or markdown file** — if the work references an issue, plan, design doc, or spec, use `--prompt-file` with that path
B) **Text prompt** — write the prompt text to a timestamped file in `/tmp` and pass that path via `--prompt-file`
C) **No prompt** — if you want to continue working in your current session you can omit `--prompt-file` and continue modifying the created worktree in the current session

Prefer B) by default.

## Command

Run from the repo's `./main` worktree. If you are in a sibling worktree, run the command via `(cd ../main && ...)`. 
A single branch argument creates a new sibling worktree from `./main` HEAD. Use two branch arguments only when you intentionally want the new branch to start from an explicit source ref instead of local `./main` HEAD.

### Parameters

- `$BRANCH` - New branch/worktree name (e.g., `my-feature`)
- `$SOURCE_REF` - Optional explicit source ref for two-argument form (e.g., `origin/feature-branch`)
- `$PROMPT_FILE` - File path passed to `--prompt-file`; either an existing issue/plan/spec file or a generated temp file
- `$PROMPT` - Inline prompt text used only when creating a generated temp `$PROMPT_FILE`

### Examples

```bash
# With an existing issue, plan, design doc, or spec
PROMPT_FILE="overlay/my-plan-spec.md"
~/Scripts/worktree-branch --no-switch --pull --binary amp --prompt-file "$PROMPT_FILE" my-feature

# With a text prompt
PROMPT_FILE="/tmp/worktree-prompt-$(date +%Y%m%d-%H%M%S).md"
cat > "$PROMPT_FILE" <<'EOF'
$PROMPT
EOF

# New branch from ./main HEAD
~/Scripts/worktree-branch --no-switch --pull --binary amp --prompt-file "$PROMPT_FILE" my-feature

# Same, when currently in a sibling worktree
(cd ../main && ~/Scripts/worktree-branch --no-switch --pull --binary amp --prompt-file "$PROMPT_FILE" my-feature)

# New branch from ./main HEAD, no prompt file
~/Scripts/worktree-branch --no-switch --pull --binary amp my-feature

# Rare: new branch from remote main instead of local ./main HEAD
~/Scripts/worktree-branch --no-switch --pull --binary amp --prompt-file "$PROMPT_FILE" origin/main my-feature

# Existing remote branch, local branch/worktree becomes feature-branch
~/Scripts/worktree-branch --no-switch --pull --binary amp --prompt-file "$PROMPT_FILE" origin/feature-branch
```

## Notes

- The new worktree session is created and marked recent, but not switched to
- The AI agent starts automatically in the 4th tmux window with the given prompt
- Inspect the 4th tmux window after creation to confirm the agent started successfully and received the prompt
- Do not use `main my-feature` to create a branch from main; use `my-feature` unless you intentionally need an explicit source ref

$ARGUMENTS

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in documentation →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.