/loop-plan-evaluator
Evaluate-Loop Step 2: EVALUATE PLAN. Use this agent to verify an execution plan before any code is written. Checks scope alignment, overlap with completed work, DAG validity, dependency correctness, task clarity, and invokes Board of Directors for major tracks. Outputs PASS/FAIL
$ npx -y skills add Ibrahim-3d/orchestrator-supaconductor --skill loop-plan-evaluator --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-plan-evaluator
Context preview
The summary Claude sees to decide when to auto-load this skill.
Evaluate-Loop Step 2: EVALUATE PLAN. Use this agent to verify an execution plan before any code is written. Checks scope alignment, overlap with completed work, DAG validity, dependency correctness, task clarity, and invokes Board of Directors for major tracks. Outputs PASS/FAIL
SKILL.md
loop-plan-evaluator.SKILL.mdname: loop-plan-evaluator
description: "Evaluate-Loop Step 2: EVALUATE PLAN. Use this agent to verify an execution plan before any code is written. Checks scope alignment, overlap with completed work, DAG validity, dependency correctness, task clarity, and invokes Board of Directors for major tracks. Outputs PASS/FAIL verdict. Triggered by: 'evaluate plan', 'review plan', 'check plan before executing'. Always runs after loop-planner and before loop-executor."
Loop Plan Evaluator Agent — Step 2: EVALUATE PLAN
Pre-execution quality gate. Verifies the plan is correct and scoped before any implementation begins. This prevents the exact problem that caused the PLAN-005 design system rebuild — an agent executing work that was already done.
For **major tracks** (architecture, features with 5+ tasks, integrations, infrastructure), this step also invokes the **Board of Directors** for multi-perspective expert review.
Inputs Required
1. Track's `plan.md` — the plan to evaluate (including DAG) 2. Track's `spec.md` — requirements to check against 3. `conductor/tracks.md` — completed tracks (overlap check) 4. Track's `metadata.json` — track type and priority 5. Codebase state — what files/components already exist
Evaluation Passes
Pass 1: Scope Alignment
Check every task against `spec.md`:
| For Each Task | Check | |---------------|-------| | Is it in spec? | Task must trace to a specific spec requirement | | Is it needed? | Would removing this task leave a spec requirement unmet? | | Is it scoped? | Does the task do only what spec asks, not more? |
**Output:**
### Scope Alignment: PASS ✅ / FAIL ❌
- Tasks in spec: [X]/[Y]
- Tasks NOT in spec (scope creep): [list]
- Spec requirements NOT covered: [list]
Pass 2: Overlap Detection
Cross-reference with `tracks.md` and the codebase:
| Check | Method | |-------|--------| | Track overlap | Compare plan tasks against completed track deliverables | | File overlap | Check if planned files already exist in codebase | | Component overlap | Check if planned components already exist |
**Output:**
### Overlap Detection: PASS ✅ / FAIL ❌
- Overlapping tasks: [list with which track already did them]
- Files that already exist: [list]
- Recommendation: [SKIP/MODIFY/PROCEED for each overlap]
Pass 3: Dependency Check
Verify task ordering and prerequisites:
| Check | Question | |-------|----------| | Track deps | Are prerequisite tracks marked complete in `tracks.md`? | | Task ordering | Do later tasks depend on earlier tasks being done first? | | External deps | Are required packages/APIs available? |
**Output:**
### Dependencies: PASS ✅ / FAIL ❌
- Missing track dependencies: [list]
- Misordered tasks: [list]
- Missing external dependencies: [list]
Pass 4: Task Quality
Evaluate each task for clarity and completeness:
| Check | Criteria | |-------|----------| | Specific | Action is clear (not vague like "set up infrastructure") | | Acceptance criteria | Can you objectively verify completion? | | File targets | Expected file paths are listed? | | Session-sized | Can be completed in one sitting? |
**Output:**
### Task Quality: PASS ✅ / FAIL ❌
- Vague tasks: [list with suggestions to clarify]
- Missing acceptance criteria: [list]
- Oversized tasks (should split): [list]
Pass 5: DAG Validation
Verify the dependency graph is valid for parallel execution:
| Check | Method | |-------|--------| | DAG exists | Plan contains `dag:` block with nodes and parallel_groups | | No cycles | Topological sort succeeds (no circular dependencies) | | Valid refs | All `depends_on` references point to existing task IDs | | File conflicts | Parallel groups with shared files have coordination strategy | | Levels correct | Tasks in same parallel_group are at same topological level |
**Cycle Detection Algorithm:**
def detect_cycles(dag):
"""Returns True if cycle exists, False otherwise."""
visited = set()
rec_stack = set()
def dfs(node_id):
visited.add(node_id)
rec_stack.add(node_id)
node = next((n for n in dag['nodes'] if n['id'] == node_id), None)
for dep in node.get('depends_on', []):
if dep not in visited:
if dfs(dep):
return True
elif dep in rec_stack:
return True # Cycle detected
rec_stack.remove(node_id)
return False
for node in dag['nodes']:
if node['id'] not in visited:
if dfs(node['id']):
return True
return False**Output:**
### DAG Validation: PASS ✅ / FAIL ❌
- DAG present: yes/no
- Nodes: [count]
- Parallel groups: [count]
- Cycle detected: yes/no (list cycle path if yes)
- Invalid references: [list of broken depends_on]
- Conflict issues: [list parallel groups with unhandled file conflicts]
Pass 6: Board of Directors Review (Major Tracks Only)
For **major tracks**, invoke the Board of Directors for expert deliberation:
**When to invoke Board:**
- Track type is `architecture`, `integration`, or `infrastructure`
- Track has 5+ tasks
- Track touches security (auth, payments, data protection)
- Track is high priority (P0)
- Plan version > 1 (previously failed evaluation)
**Board Invocation:**
// If track qualifies for board review
if (isMajorTrack(metadata)) {
// Initialize board session via message bus
const boardResult = await invokeBoardMeeting(
proposal: plan.md content,
context: { spec, metadata, dag }
);
// Store board session in metadata
metadata.loop_state.board_sessions.push({
session_id: boardResult.session_id,
checkpoint: "EVALUATE_PLAN",
verdict: boardResult.verdict,
vote_summary: boardResult.votes,
conditions: boardResult.conditions,
timestamp: new Date().toISOString()
});
// Board verdict affects overall evaluation
if (boardResult.verdict === "REJECTED") {
returRead more
name: loop-plan-evaluator description: "Evaluate-Loop Step 2: EVALUATE PLAN. Use this agent to verify an execution plan before any code is written. Checks scope alignment, overlap with completed work, DAG validity, dependency correctness, task clarity, and invokes Board of Directors for major tracks. Outputs PASS/FAIL verdict. Triggered by: 'evaluate plan', 'review plan', 'check plan before executing'. Always runs after loop-planner and before loop-executor."
Loop Plan Evaluator Agent — Step 2: EVALUATE PLAN
Pre-execution quality gate. Verifies the plan is correct and scoped before any implementation begins. This prevents the exact problem that caused the PLAN-005 design system rebuild — an agent executing work that was already done.
For **major tracks** (architecture, features with 5+ tasks, integrations, infrastructure), this step also invokes the **Board of Directors** for multi-perspective expert review.
Inputs Required
1. Track's `plan.md` — the plan to evaluate (including DAG) 2. Track's `spec.md` — requirements to check against 3. `conductor/tracks.md` — completed tracks (overlap check) 4. Track's `metadata.json` — track type and priority 5. Codebase state — what files/components already exist
Evaluation Passes
Pass 1: Scope Alignment
Check every task against `spec.md`:
| For Each Task | Check | |---------------|-------| | Is it in spec? | Task must trace to a specific spec requirement | | Is it needed? | Would removing this task leave a spec requirement unmet? | | Is it scoped? | Does the task do only what spec asks, not more? |
**Output:**
### Scope Alignment: PASS ✅ / FAIL ❌ - Tasks in spec: [X]/[Y] - Tasks NOT in spec (scope creep): [list] - Spec requirements NOT covered: [list]
Pass 2: Overlap Detection
Cross-reference with `tracks.md` and the codebase:
| Check | Method | |-------|--------| | Track overlap | Compare plan tasks against completed track deliverables | | File overlap | Check if planned files already exist in codebase | | Component overlap | Check if planned components already exist |
**Output:**
### Overlap Detection: PASS ✅ / FAIL ❌ - Overlapping tasks: [list with which track already did them] - Files that already exist: [list] - Recommendation: [SKIP/MODIFY/PROCEED for each overlap]
Pass 3: Dependency Check
Verify task ordering and prerequisites:
| Check | Question | |-------|----------| | Track deps | Are prerequisite tracks marked complete in `tracks.md`? | | Task ordering | Do later tasks depend on earlier tasks being done first? | | External deps | Are required packages/APIs available? |
**Output:**
### Dependencies: PASS ✅ / FAIL ❌ - Missing track dependencies: [list] - Misordered tasks: [list] - Missing external dependencies: [list]
Pass 4: Task Quality
Evaluate each task for clarity and completeness:
| Check | Criteria | |-------|----------| | Specific | Action is clear (not vague like "set up infrastructure") | | Acceptance criteria | Can you objectively verify completion? | | File targets | Expected file paths are listed? | | Session-sized | Can be completed in one sitting? |
**Output:**
### Task Quality: PASS ✅ / FAIL ❌ - Vague tasks: [list with suggestions to clarify] - Missing acceptance criteria: [list] - Oversized tasks (should split): [list]
Pass 5: DAG Validation
Verify the dependency graph is valid for parallel execution:
| Check | Method | |-------|--------| | DAG exists | Plan contains `dag:` block with nodes and parallel_groups | | No cycles | Topological sort succeeds (no circular dependencies) | | Valid refs | All `depends_on` references point to existing task IDs | | File conflicts | Parallel groups with shared files have coordination strategy | | Levels correct | Tasks in same parallel_group are at same topological level |
**Cycle Detection Algorithm:**
def detect_cycles(dag):
"""Returns True if cycle exists, False otherwise."""
visited = set()
rec_stack = set()
def dfs(node_id):
visited.add(node_id)
rec_stack.add(node_id)
node = next((n for n in dag['nodes'] if n['id'] == node_id), None)
for dep in node.get('depends_on', []):
if dep not in visited:
if dfs(dep):
return True
elif dep in rec_stack:
return True # Cycle detected
rec_stack.remove(node_id)
return False
for node in dag['nodes']:
if node['id'] not in visited:
if dfs(node['id']):
return True
return False**Output:**
### DAG Validation: PASS ✅ / FAIL ❌ - DAG present: yes/no - Nodes: [count] - Parallel groups: [count] - Cycle detected: yes/no (list cycle path if yes) - Invalid references: [list of broken depends_on] - Conflict issues: [list parallel groups with unhandled file conflicts]
Pass 6: Board of Directors Review (Major Tracks Only)
For **major tracks**, invoke the Board of Directors for expert deliberation:
**When to invoke Board:**
- Track type is `architecture`, `integration`, or `infrastructure`
- Track has 5+ tasks
- Track touches security (auth, payments, data protection)
- Track is high priority (P0)
- Plan version > 1 (previously failed evaluation)
**Board Invocation:**
// If track qualifies for board review
if (isMajorTrack(metadata)) {
// Initialize board session via message bus
const boardResult = await invokeBoardMeeting(
proposal: plan.md content,
context: { spec, metadata, dag }
);
// Store board session in metadata
metadata.loop_state.board_sessions.push({
session_id: boardResult.session_id,
checkpoint: "EVALUATE_PLAN",
verdict: boardResult.verdict,
vote_summary: boardResult.votes,
conditions: boardResult.conditions,
timestamp: new Date().toISOString()
});
// Board verdict affects overall evaluation
if (boardResult.verdict === "REJECTED") {
returMulti-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

