Help us improve
Share bugs, ideas, or general feedback.
From deep-loop
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.
npx claudepluginhub marcusgoll/deep-loop-pluginHow this skill is triggered — by the user, by Claude, or both
Slash command
/deep-loop:deep-executeThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
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.
Launches git worktrees with tmux background sessions running Claude Code agents for non-blocking execution of large multi-step coding tasks like major refactors or new services.
Executes tasks from taskmd files by splitting into independent workstreams run in parallel via subagents. Manages progress, worklogs, planning, coordination, tests, and integration for maximum concurrency.
Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Share bugs, ideas, or general feedback.
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.
/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
.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
{
"task-001": {
"claimedBy": "w1-a3f2b1c0",
"claimedAt": "2026-01-20T15:00:00Z",
"expiresAt": "2026-01-20T15:30:00Z"
}
}
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 ✓
| 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 |
{
"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"
}
}
git branch | grep deep-recovery/
git checkout deep-recovery/task-005-w2-b4e2c1d0
# Resolve conflicts, merge to main
| 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 |
When invoked:
# Count pending tasks
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.
Parse --workers N from user input (or default 3).
Rules:
Workers: min(requested, pending, 8)
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.
Run the script in background:
bash .deep/execute.sh
Use run_in_background: true on the Bash tool.
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.