Colony Orchestration Skill
Multi-agent task delegation and process orchestration with audit logging and agent learning capabilities.
by dabruhce · published 2026-03-22
$ claw add gh:dabruhce/dabruhce-multi-agent-orchestration# Colony Orchestration Skill
Multi-agent task delegation and process orchestration with audit logging and agent learning capabilities.
Quick Start
# Single task - auto-routed
node scripts/colony.mjs dispatch "find top 5 time-series databases"
# Multi-stage process
node scripts/colony.mjs process validate-idea --context "AI meal planning for parents"
node scripts/colony.mjs process-status # check progress
node scripts/colony.mjs approve abc123 # continue past checkpoint
# Check audit stats
node scripts/colony.mjs audit
# View agent memory
node scripts/colony.mjs memory scoutAgents
| Agent | Role | Specialization |
|-------|------|----------------|
| **scuttle** | researcher | Quick searches, lookups, fact-finding |
| **scout** | researcher | Deep market/competitor research, intelligence |
| **forecast** | analyst | Data analysis, trends, projections |
| **pincer** | coder | Writing, debugging, refactoring code |
| **shell** | ops | Git, deployments, system tasks |
| **forge** | product | PRDs, specs, roadmaps |
| **ledger** | finance | Pricing, costs, business cases |
| **muse** | creative | Brainstorming, naming, ideas |
| **scribe** | writer | Blog posts, docs, long-form content |
| **quill** | copywriter | Landing pages, sales copy, ads |
| **echo** | social | Tweets, social posts, promotion |
| **sentry** | qa | Testing, bug verification |
Task Commands
Dispatch (Auto-Route)
node scripts/colony.mjs dispatch "research best practices for API rate limiting"Automatically detects the best agent based on task keywords.
Assign to Specific Agent
node scripts/colony.mjs assign scout "find top 5 time-series databases"
node scripts/colony.mjs assign pincer "refactor the auth module to use JWT"
node scripts/colony.mjs assign shell "deploy the staging branch"Check Status
node scripts/colony.mjs statusShows all agents and their current tasks.
Get Results
node scripts/colony.mjs results # Latest completed task
node scripts/colony.mjs results abc123 # Specific task by IDView History
node scripts/colony.mjs history # Last 10 completed/failed
node scripts/colony.mjs history --limit 20 # Custom limitProcess Commands
Processes are multi-stage workflows that chain agents together.
List Available Processes
node scripts/colony.mjs processesStart a Process
node scripts/colony.mjs process <process-name> --context "description"Examples:
node scripts/colony.mjs process validate-idea --context "AI-powered meal planning for busy parents"
node scripts/colony.mjs process content-pipeline --context "How to use vector databases for RAG"
node scripts/colony.mjs process product-launch --context "Life Lunch ritual kit for parents"
node scripts/colony.mjs process bug-triage --context "Login fails with OAuth on mobile"Check Process Status
node scripts/colony.mjs process-status # Show latest run
node scripts/colony.mjs process-status abc123 # Specific runShows: current stage, completed stages, checkpoints, output files.
View Process Runs
node scripts/colony.mjs runs # All runs (active, paused, completed)
node scripts/colony.mjs runs --limit 5 # Last 5Approve Checkpoint
When a process hits a checkpoint, it pauses for human approval:
node scripts/colony.mjs approve abc123Also used to retry a failed stage.
Cancel a Process
node scripts/colony.mjs cancel abc123Audit Commands
Track agent performance, task statistics, and system health.
Dashboard
node scripts/colony.mjs auditShows global stats, per-agent summary, and recent events.
Agent Details
node scripts/colony.mjs audit agent scout
node scripts/colony.mjs audit agent pincerShows detailed stats for a specific agent including:
Event Log
node scripts/colony.mjs audit log # Last 20 events
node scripts/colony.mjs audit log --limit 50 # More eventsSlowest Tasks
node scripts/colony.mjs audit slow # Top 10 slowest
node scripts/colony.mjs audit slow --limit 20Recent Failures
node scripts/colony.mjs audit failures # Last 10 failures
node scripts/colony.mjs audit failures --limit 20Learning Commands
Agents learn from experience and share knowledge.
Feedback
Record feedback for completed tasks:
node scripts/colony.mjs feedback abc123 "Great research, but needed more pricing data"Agent Memory
Each agent has a persistent memory file with lessons learned:
# View an agent's memory
node scripts/colony.mjs memory scout
# Add a lesson
node scripts/colony.mjs memory scout add "Always check publication dates on research sources"
# Add to specific sections
node scripts/colony.mjs memory scout add "Use bullet points for clarity" --pattern
node scripts/colony.mjs memory scout add "Missed competitor X in analysis" --mistake
node scripts/colony.mjs memory scout add "Prefers markdown tables over lists" --prefShared Learnings
Cross-agent insights and lessons:
# View all shared learnings
node scripts/colony.mjs learn
# Add a learning
node scripts/colony.mjs learn add "validate-idea works better with 3 competitors max" --category process
node scripts/colony.mjs learn add "Always verify API rate limits early" --category technical --source run-abc123Global Context
Shared context all agents can access:
# View global context
node scripts/colony.mjs context
# Set preferences
node scripts/colony.mjs context set preferences.codeStyle "TypeScript, functional"
node scripts/colony.mjs context set preferences.timezone "America/Chicago"
# Add active facts (temporary context)
node scripts/colony.mjs context add-fact "We're targeting enterprise customers"
node scripts/colony.mjs context add-fact "Launch deadline is Q2 2024"
# Add decisions
node scripts/colony.mjs context add-decision "Use Postgres over MySQL" --project "life-lunch"
# Add projects
node scripts/colony.mjs context add-project "life-lunch"Retrospective
Review recent activity and generate insights:
node scripts/colony.mjs retro # Last 7 days
node scripts/colony.mjs retro --days 14 # Last 14 daysShows:
Available Processes
validate-idea
**Validate a business idea end-to-end**
product-launch
**End-to-end product launch**
content-pipeline
**Research, write, publish, promote content**
bug-triage
**Reproduce, fix, deploy bug fixes**
customer-research
**Deep dive on a customer segment**
landing-page
**Create a full landing page**
How Processes Work
1. **Start** - Process creates a run entry and spawns first stage agent
2. **Execute** - Each stage runs with inputs from previous stages
3. **Checkpoint** - If stage is a checkpoint, process pauses for approval
4. **Continue** - After approval, next stage runs
5. **Complete** - All stages done, outputs in `colony/context/<run-id>/`
Context Passing
Parallel Stages
Stages that share the same `parallel_group` run concurrently:
stages:
- id: spec
agent: forge
inputs: [analysis.md]
parallel_group: "final" # Stages with same group run together
- id: estimate
agent: ledger
inputs: [analysis.md]
parallel_group: "final" # Same group = parallel executionWhen the process reaches a parallel group:
1. All consecutive stages with the same `parallel_group` are collected
2. All stages spawn concurrently (using `Promise.all()`)
3. Process waits for ALL parallel stages to complete
4. If any stage fails, the entire group fails
5. Checkpoints work per-group (pause after all parallel stages complete)
Output shows parallel execution clearly:
═══ Parallel Group: final (2 stages) ═══
→ Stage 4: spec (forge)
→ Stage 5: estimate (ledger)
--- [PARALLEL] Stage 4/5: spec ---
--- [PARALLEL] Stage 5/5: estimate ---
═══ Parallel Group: final completed ═══**When to use parallel groups:**
**Processes with parallel stages:**
Notifications
Colony can send notifications when processes hit checkpoints, complete, or fail. Notifications use `openclaw cron wake` to alert you.
**Configuration** (`colony/config.yaml`):
notifications:
enabled: true # Master switch for all notifications
on_checkpoint: true # Notify when process pauses at checkpoint
on_complete: true # Notify when process finishes
on_failure: true # Notify when process/stage fails**Manage via CLI:**
# View current config
node scripts/colony.mjs config
# Disable all notifications
node scripts/colony.mjs config set notifications.enabled false
# Enable only failure notifications
node scripts/colony.mjs config set notifications.on_checkpoint false
node scripts/colony.mjs config set notifications.on_complete false
node scripts/colony.mjs config set notifications.on_failure true**Notification examples:**
Checkpoints
Checkpoints pause the process for human review. Two ways to define:
1. In process `checkpoints` array (after that stage completes)
2. As a standalone stage with `checkpoint: true` (human-only review step)
File Structure
skills/colony/
├── SKILL.md # This file
├── package.json # Dependencies (js-yaml)
├── colony/
│ ├── agents.yaml # Agent definitions
│ ├── processes.yaml # Process definitions
│ ├── config.yaml # Notification & behavior config
│ ├── tasks.json # Task queue and history
│ ├── runs.json # Process run tracking
│ ├── feedback.json # Task feedback storage
│ ├── learnings.yaml # Shared cross-agent learnings
│ ├── global-context.json # Shared context for all agents
│ ├── audit/
│ │ ├── log.jsonl # Append-only event log
│ │ ├── global.json # Aggregate statistics
│ │ └── agents/ # Per-agent statistics
│ │ ├── scout.json
│ │ ├── pincer.json
│ │ └── ...
│ ├── memory/ # Per-agent persistent memory
│ │ ├── scout.md
│ │ ├── pincer.md
│ │ └── ...
│ └── context/ # Per-task and per-run outputs
│ └── <run-id>/
└── scripts/
├── colony.mjs # Main CLI
├── colony-worker.mjs # Background agent executor
├── agent-wrapper.mjs # Task lifecycle utilities
├── audit.mjs # Audit system functions
└── learning.mjs # Learning system functionsAudit Events
The audit log tracks these events:
| Event | Fields |
|-------|--------|
| `task_started` | taskId, agent, processRunId?, stage? |
| `task_completed` | taskId, agent, durationMs, tokens, success |
| `task_failed` | taskId, agent, durationMs, error |
| `checkpoint_waiting` | runId, stage |
| `checkpoint_approved` | runId, stage |
| `checkpoint_rejected` | runId, stage, reason |
| `process_started` | runId, processId, context |
| `process_completed` | runId, processId, durationMs |
| `feedback_received` | taskId, agent, feedback |
Customization
Add New Agents
Edit `colony/agents.yaml`:
agents:
myagent:
role: specialist
description: >
What this agent does...
model: anthropic/claude-sonnet-4
triggers:
- keyword1
- keyword2After adding, create their memory file:
touch colony/memory/myagent.mdAdd New Processes
Edit `colony/processes.yaml`:
processes:
my-process:
description: "What this process does"
triggers: [keyword1, keyword2]
stages:
- id: stage1
agent: scout
task: "Do something with: {context}"
outputs: [output1.md]
- id: stage2
agent: pincer
task: "Next step based on previous"
inputs: [output1.md]
outputs: [output2.md]
checkpoints: [stage1] # Optional: pause after these stagesIntegration
Works with OpenClaw's agent sessions.
**Dispatch/Assign (async):** Tasks are spawned in the background and the CLI returns immediately. Use `colony status` to monitor progress and `colony results <task-id>` to view output.
**Process stages (blocking):** Multi-stage processes run sequentially, waiting for each stage to complete before proceeding. This ensures proper data flow between stages and checkpoint handling.
Each agent receives:
Examples
Validate a Startup Idea
node scripts/colony.mjs process validate-idea \
--context "Subscription box for home coffee brewing experiments"Watch as it flows: brainstorm → research → analyze → (checkpoint) → spec → estimate
Write and Publish a Blog Post
node scripts/colony.mjs process content-pipeline \
--context "Why RAG is eating traditional search"Stages: research → draft → (human review) → publish → promote
Quick Research Task
node scripts/colony.mjs dispatch "compare Pinecone vs Weaviate vs Milvus"Auto-routes to scout, returns comparison.
Track Performance
# After several tasks, check overall health
node scripts/colony.mjs audit
# Deep dive into a struggling agent
node scripts/colony.mjs audit agent pincer
node scripts/colony.mjs audit failures
# Add learnings from issues
node scripts/colony.mjs memory pincer add "Handle file not found errors gracefully" --mistakeMore tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...