| name | deep-execute |
| description | Process queued tasks from .deep/tasks.md. Use when user asks to 'execute queue', 'process tasks', 'run queued work'. Supports multi-session claim-based coordination with git conflict handling. |
| version | 11.0.0 |
| allowed-tools | Read, Write, Edit, Bash, Grep, Glob, Task, Skill |
Deep Execute - Concurrent Worker Orchestrator
Launch N concurrent Claude CLI workers to process .deep/tasks.md in parallel. Each worker claims ONE task, executes PLAN->BUILD->REVIEW->FIX->SHIP, then loops for the next.
Architecture
/deep execute --workers 3
|
v
Orchestrator (this skill): read tasks, generate script, launch
|
v
.deep/execute.sh (bash master)
|-- worker 1 ā claude -p "claim+execute" ā loops until QUEUE_EMPTY
|-- worker 2 ā (staggered +2s)
|-- worker 3 ā (staggered +4s)
|
v
Wait all, print summary, notify Telegram
File Structure
.deep/
āāā tasks.md # Active task queue (input)
āāā completed-tasks.md # Done tasks with commit SHA (output)
āāā claims.json # Lock file for multi-worker coordination
āāā git-conflicts.json # Tasks blocked by git conflicts
āāā execute.sh # Generated worker script
āāā worker-1.log # Worker 1 output
āāā worker-2.log # Worker 2 output
āāā worker-N.log # Worker N output
āāā FORCE_EXECUTE_EXIT # Touch to stop all workers
Claims System
claims.json Format
{
"task-001": {
"claimedBy": "w1-a3f2b1c0",
"claimedAt": "2026-01-20T15:00:00Z",
"expiresAt": "2026-01-20T15:30:00Z"
}
}
Claim Rules
- Timeout: 30 minutes
- Before claiming: Check if task already claimed
- On completion: Remove claim, move task to completed
- On failure: Release claim for retry
- Stale claims: Claims older than 30 min can be stolen
Multi-Worker Git Coordination
Worker A: claim task-001 ā implement ā commit ā push ā
Worker B: claim task-003 ā implement ā commit ā push ā (rejected)
ā
fetch + rebase
ā
(conflict?) ā git-blocked + recovery branch
(clean?) ā push retry ā
Conflict Resolution
| Scenario | Behavior |
|---|
| Clean rebase | Auto-retry push (up to 3 attempts) |
| File conflict | Mark git-blocked, save recovery branch, continue next task |
| Same file, no conflict | Git auto-merges, push succeeds |
git-conflicts.json
{
"task-005": {
"blockedAt": "2026-01-20T15:30:00Z",
"session": "w2-b4e2c1d0",
"conflictingFiles": ["src/utils/helpers.ts"],
"localCommit": "def789",
"remoteCommit": "123abc",
"recoveryBranch": "deep-recovery/task-005-w2-b4e2c1d0"
}
}
Recovery
git branch | grep deep-recovery/
git checkout deep-recovery/task-005-w2-b4e2c1d0
Best Practices for Parallel Workers
- Partition tasks by directory - Minimize file overlap
- 3-4 workers max - Beyond this, git contention increases
- Use worktrees for true isolation (different working directories)
Configuration
| Setting | Value | Description |
|---|
| Workers default | 3 | Concurrent claude processes |
| Workers max | 8 | Hard cap |
| Claim timeout | 30 min | Time before claim expires |
| Max retries | 3 | Attempts per task before skipping |
| Max push attempts | 3 | Rebase+push retries before git-blocked |
| Stagger delay | 2s | Delay between worker launches |
NOW EXECUTE
When invoked:
Step 1: Read Queue
PENDING=$(grep -c "^## \[ \] task-" .deep/tasks.md 2>/dev/null || echo "0")
Show summary:
=== Deep Execute Queue ===
Pending tasks: {N}
{list first 10 task titles}
===========================
If PENDING == 0: output "No tasks in queue. Use /deep-add to add tasks." and STOP.
Step 2: Parse Workers
Parse --workers N from user input (or default 3).
Rules:
- Default: 3
- Cap at task count (no idle workers)
- Max: 8
- Min: 1
Workers: min(requested, pending, 8)
Step 3: Generate Script
Get the plugin path for generate-execute-script.js:
PLUGIN_DIR=$(find ~/.claude/plugins -path "*/deep-loop/*/src/generate-execute-script.js" -print -quit 2>/dev/null | xargs dirname)
Generate the execute script:
node "$PLUGIN_DIR/generate-execute-script.js" {workers} "{cwd}"
This creates .deep/execute.sh.
Step 4: Launch
Run the script in background:
bash .deep/execute.sh
Use run_in_background: true on the Bash tool.
Step 5: Show Monitoring
Output:
=== Deep Execute Launched ===
Workers: {N}
Queue: {pending} tasks
Monitor logs:
tail -f .deep/worker-*.log
Force stop:
touch .deep/FORCE_EXECUTE_EXIT
Check progress:
grep -c "TASK_COMPLETE" .deep/worker-*.log
cat .deep/completed-tasks.md
=============================
Done. The bash script handles all worker lifecycle, aggregation, and Telegram notification.