beads-converter
CommandConvert plans to Beads - works with /beads-loop, /beads-swarm, or RalphTUI
Execute a plan file with parallel agent swarm (dependency-aware)
> /plugin marketplace add GantisStorm/essentials-claude-code> /plugin install essentials@essentials-claude-code
description: "Execute a plan file with parallel agent swarm (dependency-aware)" argument-hint: "<plan_path> [--workers N] [--model MODEL]" allowed-tools: ["Read", "TaskCreate", "TaskUpdate", "TaskList", "TaskGet", "Task", "Bash"] model: opus
Execute a plan file using parallel worker agents. **Requires a plan file.** All workers complete → done.
**Note:** Loop and swarm are interchangeable - swarm is just faster when tasks can run in parallel. Both enforce exit criteria and sync state.
Uses Claude Code's built-in Task Management System for dependency tracking and visual progress (`ctrl+t`).
This command works with plans from:
Read the plan file and extract tasks. **DO NOT read other files, grep, or explore the codebase** - just parse the plan: 1. **Files to Edit** - existing files that need modification 2. **Files to Create** - new files to create 3. **Implementation Plan** - per-file implementation instructions 4. **Requirements** - acceptance criteria 5. **Exit Criteria** - verification script and success conditions 6. **Dependency Graph** - file dependency phases for execution ordering
Create a task for each work item and build an **ID map** as you go:
TaskCreate({ "subject": "Create auth types", ... }) // → task "1"
TaskCreate({ "subject": "Implement auth middleware", ... }) // → task "2"
TaskCreate({ "subject": "Add route protection", ... }) // → task "3"
TaskCreate({ "subject": "Run exit criteria", ... }) // → task "4"Full TaskCreate per item:
TaskCreate({
"subject": "Implement auth middleware",
"description": "Full implementation details from plan - self-contained",
"activeForm": "Implementing auth middleware"
})**Translate the plan's `## Dependency Graph` table to `addBlockedBy`**. The plan contains a table mapping files to phases and dependencies — use it to set up the task graph:
Plan's Dependency Graph: | Phase | File | Action | Depends On | |-------|-------------------------|--------|---------------------------| | 1 | `src/types/auth.ts` | create | — | | 2 | `src/middleware/auth.ts` | create | `src/types/auth.ts` | | 3 | `src/routes/auth.ts` | edit | `src/middleware/auth.ts` | File→Task map: types→"1", middleware→"2", routes→"3", exit criteria→"4"
// Phase 1: no deps (task "1" is ready immediately)
// Phase 2: middleware depends on types
TaskUpdate({ "taskId": "2", "addBlockedBy": ["1"] })
// Phase 3: routes depends on middleware
TaskUpdate({ "taskId": "3", "addBlockedBy": ["2"] })
// Exit criteria blocked by all implementation tasks
TaskUpdate({ "taskId": "4", "addBlockedBy": ["1", "2", "3"] })If the plan has no `## Dependency Graph` section (older plans), infer dependencies from per-file `Dependencies`/`Provides` fields.
A task with non-empty `blockedBy` shows as **blocked** in `ctrl+t`. When a blocking task is marked `completed`, it's automatically removed from the blocked list. A task becomes **ready** when its blockedBy list is empty.
**Task types:**
**Worker limit N** = `--workers` value or **3** if not specified. This is a queue — spawn up to N, then wait for completions before spawning more.
Mark each task `in_progress` before spawning its worker. Spawn up to N background workers in a **SINGLE message** (all Task calls in one response):
Task({
"description": "Task-1: Implement auth middleware",
"subagent_type": "general-purpose",
"model": "sonnet",
"run_in_background": true,
"allowed_tools": ["Read", "Edit", "Write", "Bash", "Glob", "Grep"],
"prompt": "Execute this ONE task then exit:\n\nTask ID: 1\nSubject: Implement auth middleware\nDescription: <full details from plan>\n\nSteps:\n1. Execute the task (read files, make changes, verify)\n2. Output ONLY a one-line summary\n3. Exit immediately"
})After all Task() calls return, output a status message like "3 workers launched. Waiting for completions." and **end your turn**. The system wakes you when a worker finishes.
When a worker finishes, you are automatically woken. Then:
1. **TaskUpdate** — mark the finished worker's task as `completed` 2. **TaskList()** — see overall progress and find newly unblocked tasks 3. **Find ready tasks**: A task is ready when its status is `pending` AND its `blockedBy` list is empty. Completing a task automatically removes it from other tasks' `blockedBy` lists, potentially unblocking them. 4. Mark ready tasks `in_progress` and spawn new workers if slots available (respect worker limit N) 5. Output status and **end your turn** — you will be woken on the next completion
**Task lifecycle**: `pending` → (blocked until deps complete) → `in_progress` → `completed`
Repeat until all tasks completed → say **"Swarm complete"**
Press `ctrl+t` to see task progress:
Tasks (2 done, 2 in progress, 3 open) ■ #3 Implement auth (Worker-1) ■ #4 Add routes (Worker-2) □ #5 Integration tests > blocked by #3, #4
| Scenario | Action | |----------|--------| | Plan file not found | Report error and exit | | Worker fails mid-task | Other workers continue; task stays in_progress | | All tasks blocked | Circular dependency - review task graph | | Context compacted | TaskList → spawn re
Loops, swarms, and teams powered by Claude Code's built-in Task System. Loop, swarm, and team are three execution modes. Loop runs sequentially. Swarm runs parallel subagents. Team spawns full Claude Code instances with shared contracts via Agent Teams.
Convert plans to Beads - works with /beads-loop, /beads-swarm, or RalphTUI
Execute beads with parallel agent swarm (dependency-aware)
Deep bug investigation with architectural fix plan generation - works with any executor (loop or swarm)
One-time setup after installing ARIS as a Claude Code plugin — registers the Codex reviewer MCP server from the plugin directory…
Autonomous iteration loop: modify, verify, keep/discard against any metric
name: sc:agent description: SC Agent — session controller that orchestrates investigation, implementation, and review category:…