Skip to content
Back to skills

Set

ASecurity

Manage git worktrees for parallel AI agent development. Use this when asked to create, list, open, close, or merge worktrees, or when working with set-* commands.

  • 35 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 24, 2026
ai-agentsbashgitdocumentation

Works with

  • claude code
  • terminal

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 24, 2026

npx -y skills add tatargabor/set-core --skill set --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Set?

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

Security grade badge for Set
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tatargabor-set/badge)](https://www.skillsdirectory.com/skills/tatargabor-set)

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: set
description: Manage git worktrees for parallel AI agent development. Use this when asked to create, list, open, close, or merge worktrees, or when working with set-* commands.
---

# Worktree Management Skill

Manage git worktrees for parallel AI agent development.

## Context Detection

First, detect which mode you're operating in:

```bash
# Check if we're in a worktree (not the main repo)
if git rev-parse --is-inside-work-tree &>/dev/null; then
  BRANCH=$(git branch --show-current)
  if [[ "$BRANCH" == change/* ]]; then
    CHANGE_ID="${BRANCH#change/}"
    echo "Running in worktree: $CHANGE_ID"
    MODE="worktree"
  else
    echo "Running in main repository"
    MODE="main"
  fi
fi
```

## Central Control Commands

Use these from the main repository to manage worktrees.

### List Worktrees

```bash
set-list
```

List all active worktrees with their change IDs and paths.

To see remote branches available for checkout:
```bash
set-list --remote
```

### Create New Worktree

```bash
set-new <change-id>
```

Creates a new worktree at `../<project>-<change-id>/` with branch `change/<change-id>`.

If the branch exists on remote, it will be checked out and tracked automatically.

To force create a new branch even if remote exists:
```bash
set-new <change-id> --new
```

### Open Worktree for Work

```bash
set-work <change-id>
```

Opens the worktree in Zed editor with Claude Code. This launches a new agent session in that worktree context.

To open in terminal instead:
```bash
set-work <change-id> --terminal
```

### Close Worktree

```bash
set-close <change-id>
```

Removes the worktree. Interactive mode asks what to do with the branch:
1. Keep branch (can reopen later)
2. Delete local branch only
3. Delete local and remote branch

Non-interactive options:
```bash
set-close <change-id> --keep-branch      # Keep the branch
set-close <change-id> --delete-remote    # Delete both local and remote
```

### Merge Worktree

```bash
set-merge <change-id>
```

Merges the worktree branch into the target branch (default: main).

Options:
```bash
set-merge <change-id> --target develop   # Merge to specific branch
set-merge <change-id> --no-delete        # Keep branch after merge
```

## Self-Control Commands

Use these from within a worktree to manage your own state.

### Push Current Branch

```bash
git push -u origin $(git branch --show-current)
```

Pushes the current branch to remote and sets up tracking.

### Get Current Change ID

```bash
CHANGE_ID=$(git branch --show-current | sed 's|change/||')
echo "Current change: $CHANGE_ID"
```

### Close Own Worktree

From within a worktree, you cannot directly close it (the directory is in use). Instead:

1. Commit and push your changes
2. Exit the agent session
3. From main repo, run: `set-close <change-id>`

Or instruct the user:
```
To close this worktree after I exit:
  cd <main-repo-path>
  set-close <change-id>
```

### Merge Own Work

```bash
CHANGE_ID=$(git branch --show-current | sed 's|change/||')
set-merge "$CHANGE_ID"
```

This will merge your current branch to the target and optionally close the worktree.

## Workflow Examples

### Central Agent: Create and Delegate Work

```bash
# List current work items
set-list

# Create new worktree for a task
set-new fix-login-bug

# Open agent in that worktree
set-work fix-login-bug
```

### Worktree Agent: Complete and Hand Off

```bash
# Check current context
git branch --show-current  # -> change/fix-login-bug

# Do work...
# ...

# Push changes
git push -u origin change/fix-login-bug

# Report back to user that work is ready for merge
echo "Work complete. To merge: set-merge fix-login-bug"
```

### Full Lifecycle

```bash
# 1. Central agent creates worktree
set-new implement-feature

# 2. Central agent opens worktree for work
set-work implement-feature

# 3. Worktree agent does the work, pushes
git add -A && git commit -m "Implement feature"
git push -u origin change/implement-feature

# 4. Central agent merges when ready
set-merge implement-feature

# 5. Worktree is cleaned up automatically (or use set-close)
```

## Project Health Audit

### Scan Project Health

```bash
set-audit scan              # Human-readable report
set-audit scan --json       # Machine-readable JSON
set-audit scan --condensed  # Summary line only
```

Scans 6 project health dimensions:
- **Claude Code Config** — permissions, hooks, agents, rules
- **Design Documentation** — docs/design/*.md coverage
- **OpenSpec Config** — config.yaml context population
- **Code Quality Signals** — large files, unused code tooling
- **CLAUDE.md Structure** — conventions, managed sections
- **Gitignore Coverage** — sensitive file patterns

Output includes evidence (what exists), delta (✅/⚠️/❌), and guidance (source pointers for what the LLM should READ to create missing content).

### Interactive Remediation

Use `/set:audit` to scan and interactively address gaps. The skill runs the scan, presents findings, and helps create project-specific content by reading the actual codebase — not templates.

## Orchestration Supervisor

### Sentinel (Agent Mode)

Use `/set:sentinel` to start and supervise a `set-orchestrate` run with intelligent monitoring. The agent starts the orchestrator in background, polls state every 15s, and makes decisions on crashes (log diagnosis), checkpoints (auto-approve periodic), and completion (summary report).

```bash
/set:sentinel                                    # basic supervision
/set:sentinel --spec docs/v5.md --max-parallel 3 # with options
```

### Sentinel (Bash Fallback)

For environments without Claude agent access:

The sentinel is launched via the web UI "Start Sentinel" button or the `/set:sentinel` skill.
For non-interactive orchestration, use `set-orchestrate start --spec docs/v5.md` directly.

See `docs/sentinel.md` for full documentation.

Files in this skill

  • SKILL.md5.7 KB
  • decompose/SKILL.md9.1 KB
  • forensics/SKILL.md3.8 KB
  • glm/SKILL.md10.7 KB
  • harvest/SKILL.md3.5 KB
  • write-spec/SKILL.md7.9 KB

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.

Comments

Loading comments…

Newsletter

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