
worktree-coordination
by yonatangross
The Complete AI Development Toolkit for Claude Code — 159 skills, 34 agents, 20 commands, 144 hooks. Production-ready patterns for FastAPI, React 19, LangGraph, security, and testing.
SKILL.md
name: worktree-coordination description: Manage multiple Claude Code instances across git worktrees. Check status, claim/release file locks, sync decisions, and prevent conflicts. Use when coordinating multiple worktrees or Claude instances. context: none version: 1.0.0 author: OrchestKit tags: [coordination, worktree, multi-instance, locking, parallel-development, 2026] user-invocable: true
Worktree Coordination Skill
Commands
/worktree-status
Show status of all active Claude Code instances.
Usage: /worktree-status [--json] [--clean]
Actions:
- Run
cc-worktree-statusto see all active instances - Check for stale instances (no heartbeat > 5 min)
- View file locks across all instances
Output includes:
- Instance ID and branch
- Current task (if set)
- Health status (ACTIVE/STALE)
- Files locked by each instance
/worktree-claim
Explicitly lock a file for this instance.
Usage: /worktree-claim src/auth/login.ts
Actions:
- Check if file is already locked
- If locked by another instance, show who holds it
- If available, acquire lock
/worktree-release
Release lock on a file.
Usage: /worktree-release src/auth/login.ts
/worktree-sync
Sync shared context and check for conflicts.
Usage: /worktree-sync [--check-conflicts] [--pull-decisions]
Actions:
--check-conflicts: Run merge-tree against other active branches--pull-decisions: Show recent architectural decisions from other instances
/worktree-decision
Log an architectural decision visible to all instances.
Usage: /worktree-decision "Using Passport.js for OAuth" --rationale "Better middleware support"
Automatic Behaviors
File Lock Check (PreToolUse Hook)
Before any Write or Edit operation:
- Check if file is locked by another instance
- If locked → BLOCK with details about lock holder
- If unlocked → Acquire lock and proceed
Heartbeat (Lifecycle Hook)
Every 30 seconds:
- Update this instance's heartbeat timestamp
- Clean up stale instances (no heartbeat > 5 min)
- Release orphaned locks
Cleanup (Stop Hook)
When Claude Code exits:
- Release all file locks held by this instance
- Unregister from coordination registry
File Lock States
┌─────────────────────────────────────────────────────────┐
│ FILE: src/auth/oauth.ts │
├─────────────────────────────────────────────────────────┤
│ Status: LOCKED │
│ Holder: cc-auth-a1b2c3 │
│ Branch: feature/user-authentication │
│ Task: Implementing OAuth2 login flow │
│ Since: 2 minutes ago │
├─────────────────────────────────────────────────────────┤
│ Action: Wait for release or use /worktree-release │
└─────────────────────────────────────────────────────────┘
Registry Schema
Located at .claude/coordination/registry.json:
{
"instances": {
"cc-auth-a1b2c3": {
"worktree": "/Users/dev/worktrees/feature-auth",
"branch": "feature/user-authentication",
"task": "Implementing OAuth2",
"files_locked": ["src/auth/oauth.ts"],
"started": "2026-01-08T14:30:00Z",
"last_heartbeat": "2026-01-08T14:45:32Z"
}
},
"file_locks": {
"src/auth/oauth.ts": {
"instance_id": "cc-auth-a1b2c3",
"acquired_at": "2026-01-08T14:35:00Z",
"reason": "edit"
}
},
"decisions_log": [
{
"id": "dec-001",
"instance_id": "cc-auth-a1b2c3",
"decision": "Use Passport.js for OAuth",
"rationale": "Better middleware support",
"timestamp": "2026-01-08T14:40:00Z"
}
]
}
CLI Commands
Available in bin/:
# Create new coordinated worktree
cc-worktree-new <feature-name> [--base <branch>]
# Check status of all worktrees
cc-worktree-status [--json] [--clean]
# Sync context and check conflicts
cc-worktree-sync [--check-conflicts] [--pull-decisions]
Best Practices
- One task per worktree - Each Claude Code instance should focus on one feature/task
- Claim files early - Use
/worktree-claimbefore starting work on shared files - Log decisions - Use
/worktree-decisionfor choices that affect other instances - Check conflicts - Run
cc-worktree-sync --check-conflictsbefore committing - Clean up - Exit Claude Code properly to release locks (Ctrl+C or /exit)
Troubleshooting
"File is locked by another instance"
- Check who holds it:
/worktree-status - If instance is STALE:
cc-worktree-status --clean - If legitimately held: Coordinate with other instance or work on different files
"Instance not registered"
The heartbeat hook will auto-register on first tool use. If issues persist:
- Check
.claude-local/instance-id.txtexists - Verify
.claude/coordination/is symlinked correctly
Related Skills
git-workflow- Git workflow patterns used within each coordinated worktreecommit- Create commits with proper conventional format in each worktreestacked-prs- Manage dependent PRs that may span multiple worktreesarchitecture-decision-record- Document decisions shared via /worktree-decision
Key Decisions
| Decision | Choice | Rationale |
|---|---|---|
| Lock granularity | File-level | Balances conflict prevention with parallel work flexibility |
| Stale detection | 5 min heartbeat timeout | Long enough for normal pauses, short enough for quick cleanup |
| Registry location | .claude/coordination/ | Shared across worktrees via symlink, version-controlled |
| Lock acquisition | Automatic on Write/Edit | Prevents accidental conflicts without manual intervention |
| Decision sharing | Centralized log | All instances see architectural decisions in real-time |
Capability Details
status-check
Keywords: worktree, status, instances, active, who Solves:
- How to see all active Claude Code instances
- Check which files are locked
- Find stale instances
file-locking
Keywords: lock, claim, release, conflict, blocked Solves:
- How to prevent file conflicts between instances
- Claim a file before editing
- Release a lock when done
decision-sync
Keywords: decision, sync, share, coordinate Solves:
- Share architectural decisions across instances
- See what other instances decided
- Coordinate approach between worktrees
conflict-prevention
Keywords: conflict, merge, overlap, collision Solves:
- Check for merge conflicts before committing
- Avoid overlapping work
- Coordinate parallel development
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
1ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です
