/loop-planner
Evaluate-Loop Step 1: PLAN. Use this agent when starting a new track or feature to create a detailed execution plan. Reads spec.md, loads project context, and produces a phased plan.md with specific tasks, acceptance criteria, and dependencies. Triggered by: 'plan feature',
$ npx -y skills add Ibrahim-3d/orchestrator-supaconductor --skill loop-planner --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/loop-planner
Context preview
The summary Claude sees to decide when to auto-load this skill.
Evaluate-Loop Step 1: PLAN. Use this agent when starting a new track or feature to create a detailed execution plan. Reads spec.md, loads project context, and produces a phased plan.md with specific tasks, acceptance criteria, and dependencies. Triggered by: 'plan feature',
SKILL.md
loop-planner.SKILL.mdname: loop-planner
description: "Evaluate-Loop Step 1: PLAN. Use this agent when starting a new track or feature to create a detailed execution plan. Reads spec.md, loads project context, and produces a phased plan.md with specific tasks, acceptance criteria, and dependencies. Triggered by: 'plan feature', 'create plan', 'start track', '/conductor implement' (planning phase)."
Loop Planner Agent — Step 1: PLAN
Creates detailed, scoped execution plans for tracks. This is Step 1 of the Evaluate-Loop.
Inputs Required
1. Track `spec.md` — what needs to be built 2. `conductor/tracks.md` — what's already been done (to avoid overlap) 3. Track `plan.md` (if exists) — check for prior progress
Workflow
1. Load Context
read_file in order: 1. `conductor/tracks.md` — completed tracks and their deliverables 2. Track's `spec.md` — requirements for this track 3. Track's `plan.md` (if exists) — check what's already `[x]` done 4. `conductor/product.md` — product scope reference 5. `conductor/tech-stack.md` — technical constraints
2. Identify Scope Boundaries
Before writing any plan:
- List what `spec.md` asks for (deliverables)
- List what's already done in other tracks (from `tracks.md`)
- Identify overlap — anything in spec that was already delivered elsewhere
- Flag overlap items as "SKIP — already done in [TRACK-ID]"
3. Create Phased Plan with DAG
write_file `plan.md` with this structure (now includes dependency DAG for parallel execution):
# [Track Name] — Execution Plan
## Context
- **Track**: [ID]
- **Spec**: [one-line summary]
- **Dependencies**: [list prerequisite tracks]
- **Overlap Check**: [tracks checked, conflicts found/none]
- **Execution Mode**: PARALLEL | SEQUENTIAL
## Dependency Graph
<!-- YAML DAG for parallel execution -->
```yaml
dag:
nodes:
- id: "1.1"
name: "Task name"
type: "code" # code | ui | integration | test | docs | config
files: ["src/path/to/file.ts"]
depends_on: []
estimated_duration: "30m"
phase: 1
- id: "1.2"
name: "Another task"
type: "code"
files: ["src/another/file.ts"]
depends_on: []
phase: 1
- id: "1.3"
name: "Depends on 1.1 and 1.2"
type: "code"
files: ["src/path/to/file.ts"]
depends_on: ["1.1", "1.2"]
phase: 1
parallel_groups:
- id: "pg-1"
tasks: ["1.1", "1.2"]
conflict_free: true
- id: "pg-2"
tasks: ["1.3", "1.4"]
conflict_free: false
shared_resources: ["src/path/to/file.ts"]
coordination_strategy: "file_lock"Phase 1: [Phase Name]
Tasks
- [ ] Task 1.1: [Specific action] <!-- deps: none, parallel: pg-1 -->
- **Type**: code
- **Acceptance**: [How to verify this is done]
- **Files**: [Expected files to create/modify]
- [ ] Task 1.2: [Specific action] <!-- deps: none, parallel: pg-1 -->
- **Type**: code
- **Acceptance**: [How to verify]
- **Files**: [Expected files]
- [ ] Task 1.3: [Depends on above] <!-- deps: 1.1, 1.2 -->
- **Type**: code
- **Acceptance**: [How to verify]
- **Files**: [Expected files]
Phase 2: [Phase Name]
...
Discovered Work
<!-- Add items here during execution if scope expansion is needed -->
### 3.1 DAG Generation Algorithm
When creating the plan, build the dependency graph:
```python
def generate_dag(tasks: list) -> dict:
"""
Generate DAG from task list.
1. Create nodes for each task
2. Analyze dependencies (explicit + file-based)
3. Identify parallel groups (tasks at same level with no conflicts)
4. Detect shared resources
"""
nodes = []
for task in tasks:
nodes.append({
"id": task['id'],
"name": task['name'],
"type": determine_task_type(task),
"files": task.get('files', []),
"depends_on": task.get('depends_on', []),
"estimated_duration": estimate_duration(task),
"phase": task['phase']
})
# Build adjacency list
dependents = defaultdict(list)
for node in nodes:
for dep in node['depends_on']:
dependents[dep].append(node['id'])
# Compute topological levels
levels = compute_topological_levels(nodes)
# Group tasks by level for parallel execution
parallel_groups = []
for level_num, level_tasks in enumerate(levels):
if len(level_tasks) >= 2:
# Analyze file conflicts
file_usage = defaultdict(list)
for task_id in level_tasks:
task = next(n for n in nodes if n['id'] == task_id)
for f in task.get('files', []):
file_usage[f].append(task_id)
# Find conflict-free groups
shared_files = {f: tasks for f, tasks in file_usage.items() if len(tasks) > 1}
if not shared_files:
parallel_groups.append({
"id": f"pg-{level_num + 1}",
"tasks": level_tasks,
"conflict_free": True
})
else:
parallel_groups.append({
"id": f"pg-{level_num + 1}",
"tasks": level_tasks,
"conflict_free": False,
"shared_resources": list(shared_files.keys()),
"coordination_strategy": "file_lock"
})
return {
"nodes": nodes,
"parallel_groups": parallel_groups
}3.2 Bite-Sized Task Format
Each task MUST follow the TDD bite-sized format. Every task is one focused action (2-5 minutes) with exact file paths and complete code:
### Task 1.1: [Component Name]
**Files:**
- Create: `exact/path/to/file.ts`
- Modify: `exact/path/to/existing.ts:123-145`
- Test: `tests/exact/path/to/test.ts`
**Step 1: Write the failing test**
```typescript
test('specific behavior', () => {
const result = function(input);
expect(result).toBe(expected);
});**St
Read more
name: loop-planner description: "Evaluate-Loop Step 1: PLAN. Use this agent when starting a new track or feature to create a detailed execution plan. Reads spec.md, loads project context, and produces a phased plan.md with specific tasks, acceptance criteria, and dependencies. Triggered by: 'plan feature', 'create plan', 'start track', '/conductor implement' (planning phase)."
Loop Planner Agent — Step 1: PLAN
Creates detailed, scoped execution plans for tracks. This is Step 1 of the Evaluate-Loop.
Inputs Required
1. Track `spec.md` — what needs to be built 2. `conductor/tracks.md` — what's already been done (to avoid overlap) 3. Track `plan.md` (if exists) — check for prior progress
Workflow
1. Load Context
read_file in order: 1. `conductor/tracks.md` — completed tracks and their deliverables 2. Track's `spec.md` — requirements for this track 3. Track's `plan.md` (if exists) — check what's already `[x]` done 4. `conductor/product.md` — product scope reference 5. `conductor/tech-stack.md` — technical constraints
2. Identify Scope Boundaries
Before writing any plan:
- List what `spec.md` asks for (deliverables)
- List what's already done in other tracks (from `tracks.md`)
- Identify overlap — anything in spec that was already delivered elsewhere
- Flag overlap items as "SKIP — already done in [TRACK-ID]"
3. Create Phased Plan with DAG
write_file `plan.md` with this structure (now includes dependency DAG for parallel execution):
# [Track Name] — Execution Plan
## Context
- **Track**: [ID]
- **Spec**: [one-line summary]
- **Dependencies**: [list prerequisite tracks]
- **Overlap Check**: [tracks checked, conflicts found/none]
- **Execution Mode**: PARALLEL | SEQUENTIAL
## Dependency Graph
<!-- YAML DAG for parallel execution -->
```yaml
dag:
nodes:
- id: "1.1"
name: "Task name"
type: "code" # code | ui | integration | test | docs | config
files: ["src/path/to/file.ts"]
depends_on: []
estimated_duration: "30m"
phase: 1
- id: "1.2"
name: "Another task"
type: "code"
files: ["src/another/file.ts"]
depends_on: []
phase: 1
- id: "1.3"
name: "Depends on 1.1 and 1.2"
type: "code"
files: ["src/path/to/file.ts"]
depends_on: ["1.1", "1.2"]
phase: 1
parallel_groups:
- id: "pg-1"
tasks: ["1.1", "1.2"]
conflict_free: true
- id: "pg-2"
tasks: ["1.3", "1.4"]
conflict_free: false
shared_resources: ["src/path/to/file.ts"]
coordination_strategy: "file_lock"Phase 1: [Phase Name]
Tasks
- [ ] Task 1.1: [Specific action] <!-- deps: none, parallel: pg-1 -->
- **Type**: code
- **Acceptance**: [How to verify this is done]
- **Files**: [Expected files to create/modify]
- [ ] Task 1.2: [Specific action] <!-- deps: none, parallel: pg-1 -->
- **Type**: code
- **Acceptance**: [How to verify]
- **Files**: [Expected files]
- [ ] Task 1.3: [Depends on above] <!-- deps: 1.1, 1.2 -->
- **Type**: code
- **Acceptance**: [How to verify]
- **Files**: [Expected files]
Phase 2: [Phase Name]
...
Discovered Work
<!-- Add items here during execution if scope expansion is needed -->
### 3.1 DAG Generation Algorithm
When creating the plan, build the dependency graph:
```python
def generate_dag(tasks: list) -> dict:
"""
Generate DAG from task list.
1. Create nodes for each task
2. Analyze dependencies (explicit + file-based)
3. Identify parallel groups (tasks at same level with no conflicts)
4. Detect shared resources
"""
nodes = []
for task in tasks:
nodes.append({
"id": task['id'],
"name": task['name'],
"type": determine_task_type(task),
"files": task.get('files', []),
"depends_on": task.get('depends_on', []),
"estimated_duration": estimate_duration(task),
"phase": task['phase']
})
# Build adjacency list
dependents = defaultdict(list)
for node in nodes:
for dep in node['depends_on']:
dependents[dep].append(node['id'])
# Compute topological levels
levels = compute_topological_levels(nodes)
# Group tasks by level for parallel execution
parallel_groups = []
for level_num, level_tasks in enumerate(levels):
if len(level_tasks) >= 2:
# Analyze file conflicts
file_usage = defaultdict(list)
for task_id in level_tasks:
task = next(n for n in nodes if n['id'] == task_id)
for f in task.get('files', []):
file_usage[f].append(task_id)
# Find conflict-free groups
shared_files = {f: tasks for f, tasks in file_usage.items() if len(tasks) > 1}
if not shared_files:
parallel_groups.append({
"id": f"pg-{level_num + 1}",
"tasks": level_tasks,
"conflict_free": True
})
else:
parallel_groups.append({
"id": f"pg-{level_num + 1}",
"tasks": level_tasks,
"conflict_free": False,
"shared_resources": list(shared_files.keys()),
"coordination_strategy": "file_lock"
})
return {
"nodes": nodes,
"parallel_groups": parallel_groups
}3.2 Bite-Sized Task Format
Each task MUST follow the TDD bite-sized format. Every task is one focused action (2-5 minutes) with exact file paths and complete code:
### Task 1.1: [Component Name]
**Files:**
- Create: `exact/path/to/file.ts`
- Modify: `exact/path/to/existing.ts:123-145`
- Test: `tests/exact/path/to/test.ts`
**Step 1: Write the failing test**
```typescript
test('specific behavior', () => {
const result = function(input);
expect(result).toBe(expected);
});**St
Multi-agent orchestration system for Claude Code with parallel execution, automated quality gates, Board of Directors, and bundled Superpowers skills
Repo: Ibrahim-3d/orchestrator-supaconductor
Other skills on orchestrator-supaconductor.
- /agent-factory
Creates specialized worker agents dynamically from templates. Use when orchestrator needs to spawn task-specific workers for parallel execution. Handles agent lifecycle: create -> execute -> cleanup.
Open skill - /board-of-directors
Simulate a 5-member expert board deliberation for major decisions. Use when evaluating plans, architecture choices, feature designs, or any decision requiring multi-perspective expert analysis. Triggers: 'board review', 'get expert opinions', 'board meeting', 'director
Open skill - /brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
Open skill - /business-docs-sync
Ensures all business strategy, pricing, and product documents stay synchronized when product decisions change during any track execution or evaluation.
Open skill - /conductor-orchestrator
Master coordinator for the Evaluate-Loop workflow v3. Supports GOAL-DRIVEN entry, PARALLEL execution via worker agents, BOARD OF DIRECTORS deliberation, and message bus coordination. Dispatches specialized workers dynamically, monitors via message bus, aggregates results. Uses
Open skill - /context-driven-development
Use this skill when working with Conductor's context-driven development methodology, managing project context artifacts, or understanding the relationship between product.md, tech-stack.md, and workflow.md files.
Open skill

