S16 — Skill Taxonomy
Skills are reusable tool-call sequences. Each skill defines what an agent can do.
Skill structure
skills/<name>/
SKILL.md — triggers, required tools, workflow steps, verification
references/ — supporting docs (optional)
Tiers
| Tier | Purpose |
|---|---|
| PM & Orchestration | Task coordination, agent handoff, PR workflows |
| Task & Roadmap | Task CRUD, roadmap progress tracking |
| GSD & Execution | Workflow execution, phase management |
| Audit & Proof | Audit trails, memory packing, Merkle proofs, verification |
| Infrastructure | Server operations, health monitoring, diagnostics |
| Integration | Obsidian sync, GitHub, external services |
Agent lifecycle
SPAWNING → INITIALIZING → IDLE → ASSIGNED → EXECUTING → REPORTING → COMPLETED → DESTROYED
Failed states: SPAWNING/INITIALIZING/EXECUTING can transition to FAILED. ASSIGNED can transition to BLOCKED. IDLE can transition to PAUSED.
CV (capability profile)
Each agent type has:
- Skills: which skills it can execute
- Permissions: tool access whitelist
- Limits: max concurrent tasks, token budget, timeout
- History: success rate, average duration (used for routing)
Pool strategies
| Strategy | Selection rule |
|---|---|
| FIFO | First in, first out |
| PRIORITY_QUEUE | Highest priority task first |
| ROUND_ROBIN | Rotate across agents |
| LEAST_LOADED | Fewest active tasks |
| CAPACITY_AWARE | Match agent capabilities to task requirements |
Implementation Status
Runtime: Verified against donor AMS Node.js (projects/unified-mcp/src/); not yet ported to Colibri Node.js
Verified against source: 2026-04-06
| Claim | Status | Notes |
|---|---|---|
Skill structure: skills/<name>/SKILL.md directory layout |
Spec-only | No skills/ directory exists at repository root. Skills are defined as a registry object in src/domains/gsd/constants.js (DEFAULT_SKILL_REGISTRY), not as file-system directories with SKILL.md files. |
| Skill tiers (PM & Orchestration, Task & Roadmap, GSD & Execution, Audit & Proof, Infrastructure, Integration) | Partial | No explicit tier classification exists in code. The 7 skills in DEFAULT_SKILL_REGISTRY map loosely to research, planning, verification, execution, debug, roadmapping, and synthesis. The tier labels in the spec are a conceptual grouping, not implemented as a data structure. |
| Agent lifecycle: SPAWNING → INITIALIZING → IDLE → ASSIGNED → EXECUTING → REPORTING → COMPLETED → DESTROYED | Partial | Two separate AgentState enums exist. src/gsd/agent-types.js defines: PENDING, INITIALIZING, READY, BUSY, FAILED, TERMINATED. src/gsd/agent-pool.js defines: IDLE, BUSY, ERROR, TERMINATED, SPAWNING, HEALTH_CHECKING. Neither matches the spec’s 8-state lifecycle exactly. ASSIGNED, EXECUTING, REPORTING, COMPLETED, DESTROYED are not present as distinct states. |
| Failed states: SPAWNING/INITIALIZING/EXECUTING → FAILED, ASSIGNED → BLOCKED, IDLE → PAUSED | Partial | FAILED exists in agent-types.js. BLOCKED and PAUSED states do not appear in any agent state enum. |
| CV (capability profile): skills, permissions, limits, history | Partial | Agent types in src/gsd/agent-types.js have capabilities, maxConcurrency, timeout, and memory (limits). DEFAULT_SKILL_ASSIGNMENTS in constants.js maps agent roles to skills. No explicit permissions whitelist or historical success-rate/average-duration routing exists. |
| Pool strategy: FIFO | Spec-only | Not implemented in src/gsd/load-balancer.js. |
| Pool strategy: PRIORITY_QUEUE | Spec-only | Not implemented. |
| Pool strategy: ROUND_ROBIN | Implemented | LoadBalancerStrategies.roundRobin in src/gsd/load-balancer.js. |
| Pool strategy: LEAST_LOADED | Implemented | LoadBalancerStrategies.leastConnections in src/gsd/load-balancer.js (named “leastConnections” but functionally equivalent). |
| Pool strategy: CAPACITY_AWARE | Partial | findAgentTypesByCapability() in agent-types.js and findAvailableAgent() in agent-pool.js filter by capabilities, but no dedicated pool strategy object for it. |
| Skill assignment to agent types | Implemented | DEFAULT_SKILL_ASSIGNMENTS in src/domains/gsd/constants.js maps 10 agent roles to skills from the registry. |
| Spawn rules per workflow type | Implemented | DEFAULT_SPAWN_RULES in src/domains/gsd/constants.js defines before/main/after agent chains for plan_phase, execute_phase, new_project, debug_issue, verify_work. |