Install
openclaw skills install auto-evolutionMulti-agent auto-evolution system with hybrid mode — orchestrate review-execute-audit loops with 4 roles (Coordinator, Reviewer, Executor, Auditor). Supports manual subtasks (simple tasks) and automatic subtask generation via Reviewer (complex tasks). A single coordinator agent drives the loop by spawning sub-agents. Break goals into subtasks, auto-iterate with dual quality gates, and auto-package results. Use when: user wants autonomous task execution with built-in quality assurance.
openclaw skills install auto-evolutionCategory: Agent Orchestration / Meta-Skill Version: 0.7.0
Multi-agent auto-evolution system — a coordinator agent drives an autonomous review → execute → audit loop by spawning specialized sub-agents for each role.
This is a meta-skill: it doesn't handle business logic. It orchestrates the loop so complex tasks get completed autonomously with dual quality gates (pre-execution review + post-execution audit).
| Role | Responsibility | When Spawned | Recommended Model |
|---|---|---|---|
| Coordinator | Drives the loop, updates task state, spawns sub-agents | Always (heartbeat/cron) | Any (cost-efficient) |
| Reviewer | Pre-execution review, generates detailed subtasks | Complex tasks only | Strong (Sonnet/GPT-5.4) |
| Executor | Implements one subtask, runs verification | After review approves | Cost-effective (Qwen3.5-Plus) |
| Auditor | Post-execution audit, decides pass/retry | After execution completes | Strong (Sonnet/GPT-5.4) |
Why 4 roles?
Cost control: Only Reviewer and Auditor need strong models. Coordinator and Executor can use cheap models.
Task Complexity Assessment (5 dimensions, 1-5 points each):
| Dimension | 1 point | 3 points | 5 points |
|---|---|---|---|
| Code Lines | <100 | 200-500 | >1000 |
| Files | 1-2 | 5-10 | >20 |
| Risk | Docs/Test | Feature improvement | Architecture change |
| Dependencies | None | 3-5 | Cross-system |
| Innovation | Routine fix | Feature enhancement | New feature |
Task Classification:
| Total Score | Task Type | Subtask Mode | Flow |
|---|---|---|---|
| 5-10 | Simple | Manual | Executor only |
| 11-17 | Medium | Manual (recommended) or Auto | Optional Reviewer |
| 18-25 | Complex | Auto (required) | Reviewer → Executor → Auditor |
Usage:
# Create task (interactive)
node scripts/create-task.js
# Start Reviewer (complex tasks only)
node scripts/start-reviewer.js <task-id>
| File | Purpose |
|---|---|
scripts/heartbeat-coordinator.js | Coordinator: scan tasks → spawn Reviewer/Executor/Auditor |
scripts/monitor.js | Monitor: detect stuck tasks, clean orphaned locks |
scripts/pack-skill.js | Package completed tasks → skill directories |
config/task-schema.json | Task file JSON Schema |
mkdir -p evolution/tasks evolution/archive evolution/test-results
cp skills/auto-evolution/references/task-example.json evolution/tasks/task-001.json
# Edit with your goal and subtasks
Option A: Heartbeat (recommended — in your agent's HEARTBEAT.md)
## Evolution Loop
1. Run `node skills/auto-evolution/scripts/heartbeat-coordinator.js`
2. Parse output: if phase=review → spawn Reviewer sub-agent
3. Apply review → if phase=execute → spawn Executor sub-agent
4. Apply execution → if phase=audit → spawn Auditor sub-agent
5. Apply audit → done for this tick
Option B: Cron
openclaw cron add --agent <your-agent> \
--name "evolution-coordinator" \
--every 5m \
--session isolated \
--timeout-seconds 300 \
--message "Evolution heartbeat: scan and process tasks."
openclaw cron add --agent <any-agent> \
--name "evolution-monitor" \
--every 10m \
--session isolated \
--timeout-seconds 120 \
--message "Run: node skills/auto-evolution/scripts/monitor.js"
Edit evolution/config/models.json to customize which models are used for each role:
{
"roles": {
"reviewer": "google/gemini-3.1-pro",
"executor": "aiberm/gpt-5.4",
"auditor": "google/gemini-3.1-pro",
"coordinator": "bailian/qwen3.5-plus"
}
}
Default: Scripts read from this config file. No environment variables needed.
export OPENCLAW_WORKSPACE=/path/to/workspace
export EVOLUTION_TASKS_DIR=/path/to/tasks
Coordinator heartbeat
→ finds task (priority: reviewed > executing > pending)
→ if pending: spawn Reviewer → reviewed
→ if reviewed: spawn Executor → executing
→ if executing: spawn Auditor → pending (next) or completed ✅
pending → reviewed → executing → pending (next subtask)
→ completed (all done)
→ packaged ✅
completed when all subtasks doneSee references/task-example.json for a complete example.
Required fields:
{
"task_id": "task-001",
"status": "pending",
"goal": "What to build",
"current_iteration": 0,
"max_iterations": 10,
"context": {
"subtasks": ["Step 1", "Step 2", "Step 3"]
},
"history": []
}
# Scan and output next phase prompt
node scripts/heartbeat-coordinator.js
# Apply review result
node scripts/heartbeat-coordinator.js apply-review task-001.json review.txt
# Apply execution result
node scripts/heartbeat-coordinator.js apply-exec task-001.json exec.txt
# Apply audit result
node scripts/heartbeat-coordinator.js apply-audit task-001.json audit.txt
# Run monitor
node scripts/monitor.js
# Package completed tasks
node scripts/pack-skill.js