/agent-manager
Creates, lists, and removes custom project-specific agents. Custom agents are stored in .claude/crew-agents/ and registered in crew-team.json for routing.
Claude Code
$ npx -y skills add d3x293/code-crew --skill agent-manager --agent claude-code
Codex
$ npx skills add d3x293/code-crew --skill agent-manager -a codex -y
Cursor
$ npx skills add d3x293/code-crew --skill agent-manager -a cursor -y
Gemini CLI
$ npx skills add d3x293/code-crew --skill agent-manager -a gemini-cli -y
GitHub Copilot
$ npx skills add d3x293/code-crew --skill agent-manager -a github-copilot -y
OpenCode
$ npx skills add d3x293/code-crew --skill agent-manager -a opencode -y
Windsurf
$ npx skills add d3x293/code-crew --skill agent-manager -a windsurf -y
SKILL.md
agent-manager.SKILL.mdname: agent-manager
description: Creates, lists, and removes custom project-specific agents. Custom agents are stored in .claude/crew-agents/ and registered in crew-team.json for routing.
Agent Manager - Custom Agent Creation
Manages project-specific custom agents that extend the built-in CodeCrew team.
When to Activate
- User runs `/crew agent create|list|remove`
Storage
Custom agents are stored in `.claude/crew-agents/` (project-local directory, NOT in the plugin's `agents/` directory). This keeps custom agents project-specific and avoids conflicts with plugin updates.
Subcommands
`create "name" --model <tier> --description "desc"`
Creates a new custom agent definition.
**Required arguments:**
- `name` — Agent name (alphanumeric + hyphens, e.g., "api-specialist")
- `--model` — Model tier: `sonnet` or `haiku` (Opus reserved for CEO)
- `--description` — What this agent specializes in
**Process:**
1. Validate the name is unique (not already in crew-team.json) 2. Create directory `.claude/crew-agents/` if it doesn't exist 3. Generate the agent file `.claude/crew-agents/{name}.md` using the appropriate template:
**Sonnet agent template:**
---
name: crew-{name}
description: {user's description}
model: sonnet
---
You are the **{Name}** at CodeCrew. {user's description}.
## INDEX-FIRST PROTOCOL (MANDATORY)
**INDEX-FIRST**: Read `.claude/crew-index.json` → `crew-symbols.json` → then only specific lines from source files. Never read entire files.
## Your Responsibilities
1. {Edit this section to define specific responsibilities}
2. {Add more as needed}
## Output Format
When done, report:
- What you changed (file paths + summary)
- FILES_MODIFIED: {list}
- Confidence level: high | medium | low
- Any concerns or dependencies**Haiku agent template:**
---
name: crew-{name}
description: {user's description}
model: haiku
---
You are the **{Name}** at CodeCrew. {user's description}.
## INDEX-FIRST PROTOCOL (MANDATORY)
**INDEX-FIRST**: Read `.claude/crew-index.json` → `crew-symbols.json` → then only the lines you need. Never read entire files.
## Your Tasks
- {Edit this section to define specific tasks}
- If the task is too complex, report: "ESCALATE: Needs senior-dev"
## Output
FILES_MODIFIED: {list}
CONFIDENCE: {high | medium | low}4. Register the agent in `.claude/crew-team.json`:
"custom-{name}": {
"model": "{tier}",
"active": true,
"role": "{description}",
"custom": true,
"definitionPath": ".claude/crew-agents/{name}.md"
}5. Confirm to user:
Agent "{name}" created ({tier}) — .claude/crew-agents/{name}.md
Edit definition to customize. Auto-registered in routing.`list` — List All Agents
1. Read `.claude/crew-team.json` 2. Display all agents (built-in + custom):
Agents:
Built-in:
ceo (opus) Active - Triage, decompose, delegate
vp-engineering (sonnet) Active - Architecture, tech decisions
...
Custom:
api-specialist (sonnet) Active - Expert in REST API layer
db-optimizer (haiku) Active - Database query optimizationIf no custom agents: "No custom agents. /crew agent create to add one."
`remove "name"` — Remove a Custom Agent
1. Validate the agent exists in crew-team.json and has `"custom": true` 2. Cannot remove built-in agents — if attempted: "Can't remove built-in agent. Use /crew config to disable." 3. Remove the agent entry from `.claude/crew-team.json` 4. Delete the agent file `.claude/crew-agents/{name}.md` 5. Confirm: `"Custom agent '{name}' removed."`
Integration with Task Routing
The task-router and lite-router should check `.claude/crew-team.json` for custom agents:
1. When classifying a task, check if any custom agent's description keywords match the task 2. Custom agents can be inserted into routing chains:
- If `model: haiku` → can replace junior-dev for matching tasks
- If `model: sonnet` → can replace senior-dev for matching tasks
3. Custom agents follow the same dispatch protocol (Index-First, skill injection, self-contained prompts)
Example: If a custom "api-specialist" agent exists with description "Expert in REST API layer", and the user runs `/crew task "fix the API endpoint for users"`, the router may choose api-specialist over senior-dev since it's more specialized.
Read more
name: agent-manager description: Creates, lists, and removes custom project-specific agents. Custom agents are stored in .claude/crew-agents/ and registered in crew-team.json for routing.
Agent Manager - Custom Agent Creation
Manages project-specific custom agents that extend the built-in CodeCrew team.
When to Activate
- User runs `/crew agent create|list|remove`
Storage
Custom agents are stored in `.claude/crew-agents/` (project-local directory, NOT in the plugin's `agents/` directory). This keeps custom agents project-specific and avoids conflicts with plugin updates.
Subcommands
`create "name" --model <tier> --description "desc"`
Creates a new custom agent definition.
**Required arguments:**
- `name` — Agent name (alphanumeric + hyphens, e.g., "api-specialist")
- `--model` — Model tier: `sonnet` or `haiku` (Opus reserved for CEO)
- `--description` — What this agent specializes in
**Process:**
1. Validate the name is unique (not already in crew-team.json) 2. Create directory `.claude/crew-agents/` if it doesn't exist 3. Generate the agent file `.claude/crew-agents/{name}.md` using the appropriate template:
**Sonnet agent template:**
---
name: crew-{name}
description: {user's description}
model: sonnet
---
You are the **{Name}** at CodeCrew. {user's description}.
## INDEX-FIRST PROTOCOL (MANDATORY)
**INDEX-FIRST**: Read `.claude/crew-index.json` → `crew-symbols.json` → then only specific lines from source files. Never read entire files.
## Your Responsibilities
1. {Edit this section to define specific responsibilities}
2. {Add more as needed}
## Output Format
When done, report:
- What you changed (file paths + summary)
- FILES_MODIFIED: {list}
- Confidence level: high | medium | low
- Any concerns or dependencies**Haiku agent template:**
---
name: crew-{name}
description: {user's description}
model: haiku
---
You are the **{Name}** at CodeCrew. {user's description}.
## INDEX-FIRST PROTOCOL (MANDATORY)
**INDEX-FIRST**: Read `.claude/crew-index.json` → `crew-symbols.json` → then only the lines you need. Never read entire files.
## Your Tasks
- {Edit this section to define specific tasks}
- If the task is too complex, report: "ESCALATE: Needs senior-dev"
## Output
FILES_MODIFIED: {list}
CONFIDENCE: {high | medium | low}4. Register the agent in `.claude/crew-team.json`:
"custom-{name}": {
"model": "{tier}",
"active": true,
"role": "{description}",
"custom": true,
"definitionPath": ".claude/crew-agents/{name}.md"
}5. Confirm to user:
Agent "{name}" created ({tier}) — .claude/crew-agents/{name}.md
Edit definition to customize. Auto-registered in routing.`list` — List All Agents
1. Read `.claude/crew-team.json` 2. Display all agents (built-in + custom):
Agents:
Built-in:
ceo (opus) Active - Triage, decompose, delegate
vp-engineering (sonnet) Active - Architecture, tech decisions
...
Custom:
api-specialist (sonnet) Active - Expert in REST API layer
db-optimizer (haiku) Active - Database query optimizationIf no custom agents: "No custom agents. /crew agent create to add one."
`remove "name"` — Remove a Custom Agent
1. Validate the agent exists in crew-team.json and has `"custom": true` 2. Cannot remove built-in agents — if attempted: "Can't remove built-in agent. Use /crew config to disable." 3. Remove the agent entry from `.claude/crew-team.json` 4. Delete the agent file `.claude/crew-agents/{name}.md` 5. Confirm: `"Custom agent '{name}' removed."`
Integration with Task Routing
The task-router and lite-router should check `.claude/crew-team.json` for custom agents:
1. When classifying a task, check if any custom agent's description keywords match the task 2. Custom agents can be inserted into routing chains:
- If `model: haiku` → can replace junior-dev for matching tasks
- If `model: sonnet` → can replace senior-dev for matching tasks
3. Custom agents follow the same dispatch protocol (Index-First, skill injection, self-contained prompts)
Example: If a custom "api-specialist" agent exists with description "Expert in REST API layer", and the user runs `/crew task "fix the API endpoint for users"`, the router may choose api-specialist over senior-dev since it's more specialized.
A virtual dev crew for Claude Code — 11 specialized AI agents that decompose, implement, review, and ship your tasks. Instead of one AI doing everything, CodeCrew breaks work into subtasks and routes each to the right specialist on the right model.
Other skills on codecrew.
More skills from other plugins.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Questions about agent-manager.
- Which coding agents can use agent-manager?
- agent-manager installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

