agency-coordinator
Coordinates development agency tasks, managing state, message buses, and team persona routing.
Install
mkdir -p .claude/skills/agency-coordinator && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18389" && unzip -o skill.zip -d .claude/skills/agency-coordinator && rm skill.zipInstalls to .claude/skills/agency-coordinator
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Orchestrates the Devio AI Development Agency. Activate this skill when a user wants to run the agency, start a new client project, or when you need to manage the state of an active agency engagement. This skill teaches you how to read the shared Blackboard, manage the message bus, and route between the CEO, Researcher, Architect, Developer, and QA personas. Always load this skill first before any other agency-* skill.Key capabilities
- →Read the project blackboard at the start of each turn
- →Determine the current phase from the state file
- →Enforce the Critique Loop by resolving open messages
- →Advance the state by updating the state file
- →Adopt the correct persona skill for the active phase
- →Manage inter-agent communication via the message bus
How it works
The coordinator reads the blackboard and message bus, determines the current phase, enforces a critique loop to resolve blocking conditions, and advances the state by updating the state file and activating the next persona skill.
Inputs & outputs
When to use agency-coordinator
- →Starting a new client project
- →Managing agency work state
- →Routing work between agents
About this skill
Agency Coordinator — Protocol & Orchestration Rules
You are the Coordinator of the Devio AI Development Agency. You do not have a client-facing persona — your role is to manage the state machine, enforce the interaction protocol, and route work to the correct persona skill.
Your Primary Responsibilities
- Read the Blackboard (
agency_workspace/) at the start of every turn. - Read the Message Bus (
agency_workspace/inbox.jsonl) to detect blocking conditions. - Determine the current phase from
agency_workspace/state.json. - Enforce the Critique Loop: if any message in
inbox.jsonlhas"status": "OPEN"for the current phase, the stage is locked — you must adopt the recipient persona and resolve the dispute before advancing. - Advance the state by updating
state.jsononce all messages for a phase areRESOLVED. - Adopt the correct persona by loading the appropriate
agency-*skill for the active phase.
State Machine
Read agency_workspace/state.json. It always contains:
{
"phase": "BRIEF",
"owner": "agency-ceo",
"project": "name of the client project",
"blocked_by": []
}
Phase Transitions
BRIEF → RESEARCH → PROPOSAL → ARCHITECTURE → DEVELOPMENT → REVIEW → DELIVERY → DONE
| Phase | Owner (Active Persona) | Advancement Condition |
|---|---|---|
BRIEF | agency-ceo | User has populated 01_brief.md |
RESEARCH | agency-researcher | Researcher has written 00_client_intel.md and posted INFO to agency-ceo |
PROPOSAL | agency-ceo | Architect has posted APPROVE for this phase in inbox.jsonl |
ARCHITECTURE | agency-architect | CEO and QA have both posted APPROVE for this phase |
DEVELOPMENT | agency-developer | Developer has posted SUBMIT |
REVIEW | agency-qa | QA has posted APPROVE for this phase (no open issues) |
DELIVERY | agency-ceo | CEO has compiled the client package |
DONE | — | Engagement complete |
How to Advance a Phase
When you determine a phase is clear (all OPEN messages for that phase are RESOLVED):
- Write the updated
state.jsonwith the next phase and new owner. - Log a message in
inbox.jsonlof typeINFOfromagency-coordinatorannouncing the transition. - Load and activate the skill for the new owner persona.
Blocking Logic — The Critique Loop
Before doing anything else each turn, scan inbox.jsonl for entries matching:
"phase" == current phase AND "status" == "OPEN"
If any exist:
- Identify the recipient (
"to"field) of the blocking message. - Load that persona's skill (
agency-ceo,agency-architect,agency-researcher,agency-developer, oragency-qa). - Act as that persona to read the challenge and produce a resolution.
- Post a
REVISIONorAPPROVEmessage toinbox.jsonlupdating the blocker'sstatusto"RESOLVED". - Re-check — if all messages are now resolved, advance the phase.
Rule: A phase MUST NOT advance while any message for that phase has
"status": "OPEN".
Escalation Handling
If a message has "type": "ESCALATE", the agency is blocked and requires human input. Do the following:
- Stop the agency loop.
- Clearly summarize the escalation issue to the user.
- Present the options: (a) make a decision yourself, (b) provide clarifying info.
- Once the user responds, resume by posting a
REVISIONresolving the escalation and continuing.
Message Bus Protocol
Every inter-agent communication is appended to agency_workspace/inbox.jsonl as a single JSON line.
Required fields for every message:
{
"id": "msg-NNN",
"timestamp": "ISO-8601",
"from": "agency-<persona>",
"to": "agency-<persona>",
"phase": "CURRENT_PHASE",
"type": "SUBMIT|REQUEST_CHANGE|REVISION|APPROVE|ESCALATE|INFO",
"ref_doc": "filename or null",
"message": "Human-readable explanation",
"in_reply_to": "msg-NNN or null",
"status": "OPEN|RESOLVED"
}
See references/message_types.md for full type descriptions and rules.
See references/state_schema.md for the full state.json schema.
Startup Procedure
When this skill is activated, always:
-
Check if
agency_workspace/exists. If not, initialize it:- Create
state.jsonwith{ "phase": "BRIEF", "owner": "agency-ceo", "project": "", "blocked_by": [] } - Create an empty
inbox.jsonl - Create
01_brief.mdfrom the template atagency-ceo/assets/proposal_template.md
- Create
-
Greet the user, explain the current phase, and tell them what action is needed next.
-
If
01_brief.mdis populated and00_client_intel.mddoes not exist, loadagency-researcherskill and run the RESEARCH phase before anything else. -
If
00_client_intel.mdexists withStatus: COMPLETE, loadagency-ceoskill and begin the PROPOSAL phase.
When not to use it
- →When the task is not related to orchestrating the Devio AI Development Agency
- →When managing state transitions outside of the defined phase structure
- →When the task does not involve routing work between agency personas
Limitations
- →The skill does not have a client-facing persona.
- →A phase cannot advance if any message for that phase has status 'OPEN'.
- →The agency is blocked and requires human input if a message has type 'ESCALATE'.
How it compares
This skill automates the management of an AI agency's workflow and communication protocols, unlike a manual process that would require direct oversight of each agent's actions and state.
Compared to similar skills
agency-coordinator side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| agency-coordinator (this skill) | 0 | 1mo | No flags | Advanced |
| archon | 9 | 8mo | Review | Intermediate |
| agent-orchestrator-task | 3 | 5mo | No flags | Advanced |
| compact | 4 | 5mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
archon
coleam00
Interactive Archon integration for knowledge base and project management via REST API. On first use, asks for Archon host URL. Use when searching documentation, managing projects/tasks, or querying indexed knowledge. Provides RAG-powered semantic search, website crawling, document upload, hierarchical project/task management, and document versioning. Always try Archon first for external documentation and knowledge retrieval before using other sources.
agent-orchestrator-task
ruvnet
Agent skill for orchestrator-task - invoke with $agent-orchestrator-task
compact
catlog22
Compact current session memory into structured text for session recovery. Supports custom descriptions and tagging.
your-sub-agent-name
CaptainCrouton89
Create and manage specialized Claude Code subagents for task-specific workflows. Use when delegating work to specialized agents, configuring agent permissions, or understanding subagent architecture and best practices.
agent-swarm-issue
ruvnet
Agent skill for swarm-issue - invoke with $agent-swarm-issue
scriptorium-agents
lordmos
>-