Colony
by @dabruhce
Orchestrates multi-agent task delegation and workflows with audit logging, checkpoint approvals, and agent learning for coordinated project execution.
clawhub install multi-agent-orchestrationπ About This Skill
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 checkpointCheck audit stats
node scripts/colony.mjs auditView agent memory
node scripts/colony.mjs memory scout
Agents
| 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 status
Shows 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 ID
View History
node scripts/colony.mjs history # Last 10 completed/failed
node scripts/colony.mjs history --limit 20 # Custom limit
Process Commands
Processes are multi-stage workflows that chain agents together.
List Available Processes
node scripts/colony.mjs processes
Start a Process
node scripts/colony.mjs process --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 run
Shows: 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 5
Approve Checkpoint
When a process hits a checkpoint, it pauses for human approval:node scripts/colony.mjs approve abc123
Also used to retry a failed stage.
Cancel a Process
node scripts/colony.mjs cancel abc123
Audit Commands
Track agent performance, task statistics, and system health.
Dashboard
node scripts/colony.mjs audit
Shows global stats, per-agent summary, and recent events.Agent Details
node scripts/colony.mjs audit agent scout
node scripts/colony.mjs audit agent pincer
Shows 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 events
Slowest Tasks
node scripts/colony.mjs audit slow # Top 10 slowest
node scripts/colony.mjs audit slow --limit 20
Recent Failures
node scripts/colony.mjs audit failures # Last 10 failures
node scripts/colony.mjs audit failures --limit 20
Learning 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 scoutAdd 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" --pref
Shared Learnings
Cross-agent insights and lessons:# View all shared learnings
node scripts/colony.mjs learnAdd 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-abc123
Global Context
Shared context all agents can access:# View global context
node scripts/colony.mjs contextSet 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 days
Shows:
Available Processes
validate-idea
Validate a business idea end-to-endproduct-launch
End-to-end product launchcontent-pipeline
Research, write, publish, promote contentbug-triage
Reproduce, fix, deploy bug fixescustomer-research
Deep dive on a customer segmentlanding-page
Create a full landing pageHow 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/
Context Passing
{context} in task templates is replaced with your --context valuecolony/context// tasks.jsonParallel 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 execution
When 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:
validate-idea: spec + estimate run in parallelproduct-launch: build + copy run in parallelNotifications
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 configDisable all notifications
node scripts/colony.mjs config set notifications.enabled falseEnable 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:
Colony checkpoint: Process "validate-idea" paused after stage "analyze". To continue: colony approve abc123Colony complete: Process "validate-idea" finished in 120s. Run ID: abc123Colony failed: Process "validate-idea" failed at stage "research". Error: Agent timed out. Run ID: abc123Checkpoints
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
β βββ /
βββ 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 functions
Audit 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
Editcolony/agents.yaml:
agents:
myagent:
role: specialist
description: >
What this agent does...
model: anthropic/claude-sonnet-4
triggers:
- keyword1
- keyword2
After adding, create their memory file:
touch colony/memory/myagent.md
Add New Processes
Editcolony/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 stages
Integration
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 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 auditDeep dive into a struggling agent
node scripts/colony.mjs audit agent pincer
node scripts/colony.mjs audit failuresAdd learnings from issues
node scripts/colony.mjs memory pincer add "Handle file not found errors gracefully" --mistake
π‘ 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 auditDeep dive into a struggling agent
node scripts/colony.mjs audit agent pincer
node scripts/colony.mjs audit failuresAdd learnings from issues
node scripts/colony.mjs memory pincer add "Handle file not found errors gracefully" --mistake