skills/loop-fixer/SKILL.md
Evaluate-Loop Step 5: FIX. Use this agent when an evaluation (plan or execution) returns FAIL. Takes the evaluator's fix list, creates specific fix tasks in plan.md, executes the fixes, and triggers re-evaluation. Handles the loop-back mechanism of the Evaluate-Loop. Triggered by: evaluation FAIL verdict, 'fix issues', 'address evaluation failures'.
npx skillsauth add Ibrahim-3d/orchestrator-supaconductor loop-fixerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Handles the loop-back when an evaluation fails. Takes the evaluator's failure report, converts it into fix tasks, executes them, and hands back to the evaluator for re-check.
loop-plan-evaluator or loop-execution-evaluatorplan.md — to add fix tasksspec.md — to verify fixes align with requirementsread_file the evaluation report and extract:
Add a "Fix Phase" section to plan.md:
## Fix Phase (from Evaluation on [date])
### Issues to Fix
Source: [loop-plan-evaluator / loop-execution-evaluator] report
- [ ] Fix 1: [Specific action from evaluator]
- Issue: [What failed]
- Acceptance: [How to verify this is fixed]
- [ ] Fix 2: [Specific action]
- Issue: [What failed]
- Acceptance: [How to verify]
Follow the same protocol as loop-executor:
[~] when starting[x] with commit SHA and summary when doneBefore handing back to evaluator, do a quick self-check:
## Fix Summary
**Fixes Completed**: [X]/[Y]
**Commits**: [list]
**Self-Check**: [PASS/CONCERNS]
**Ready for**: Re-evaluation → hand back to [loop-plan-evaluator / loop-execution-evaluator]
The fix cycle continues until the evaluator returns PASS:
FAIL → Fixer creates fix tasks → Fixer executes → Evaluator re-checks
│ │
│ PASS → Done ✅
│ FAIL → loop again
└──────────────────────────────────────────────┘
completed-with-warnings (NEVER ask user)[x] with summaryThe fixer MUST update the track's metadata.json at key points:
{
"loop_state": {
"current_step": "FIX",
"step_status": "IN_PROGRESS",
"step_started_at": "[ISO timestamp]",
"fix_cycle_count": 1,
"checkpoints": {
"FIX": {
"status": "IN_PROGRESS",
"started_at": "[ISO timestamp]",
"agent": "loop-fixer",
"cycle": 1,
"fixes_applied": [],
"fixes_remaining": ["Fix 1", "Fix 2", "Fix 3"]
}
}
}
}
{
"loop_state": {
"checkpoints": {
"FIX": {
"status": "IN_PROGRESS",
"fixes_applied": [
{ "issue": "Lock propagation broken", "fix": "Updated cascade logic", "commit_sha": "abc1234" }
],
"fixes_remaining": ["Fix 2", "Fix 3"]
}
}
}
}
{
"loop_state": {
"current_step": "EVALUATE_EXECUTION",
"step_status": "NOT_STARTED",
"checkpoints": {
"FIX": {
"status": "PASSED",
"completed_at": "[ISO timestamp]",
"cycle": 1,
"fixes_applied": [
{ "issue": "Lock propagation broken", "fix": "Updated cascade logic", "commit_sha": "abc1234" },
{ "issue": "Missing test coverage", "fix": "Added unlock tests", "commit_sha": "def5678" }
],
"fixes_remaining": []
},
"EVALUATE_EXECUTION": {
"status": "NOT_STARTED"
}
}
}
}
fix_cycle_count in loop_state tracks total cycles across the trackcycle field tracks which cycle numberfix_cycle_count >= 5: Mark track as completed-with-warnings — NEVER ask user{
"loop_state": {
"current_step": "COMPLETE",
"step_status": "PASSED_WITH_WARNINGS",
"checkpoints": {
"FIX": {
"status": "COMPLETED_WITH_WARNINGS"
}
}
},
"warnings": [{
"id": "warning-1",
"description": "Fix cycle limit exceeded (5 cycles)",
"logged_at": "[timestamp]",
"unresolved_issues": ["list of remaining failures"]
}]
}
metadata.jsonfix_cycle_count — if >= 5, complete with warnings (NEVER ask user)fix_cycle_count at startfixes_applied and fixes_remaining after each fixcurrent_step back to the evaluator stepmetadata.jsonAfter fixes complete → Conductor dispatches the original evaluator agent to re-run:
loop-plan-evaluatorloop-execution-evaluatortesting
Use when creating new skills, editing existing skills, or verifying skills work before deployment
development
Use when you have a spec or requirements for a multi-step task, before touching code
data-ai
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
tools
Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions