Manage agents
Autonomous Multi-Agent System
npx -y skills add zdnemz/claude-team --skill manage-agentsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Create, modify, or remove agents, skills, hooks, and MCP servers for this project. Use when the team needs a new specialty or automation, or to retire ones no longer needed.
SKILL.md
2.6 KB, as published. Nobody here has run it
Manage Agents & Tooling
Model policy + roster: .claude/system/registry.md. Update its table on EVERY create/remove, and progress_log the change.
Create an agent
- Check
.claude/agents/— don't duplicate an existing specialty; sharpen the existing one instead. - Copy
.claude/system/templates/agent-template.md→.claude/agents/<role-slug>.md. Fill: name, description ("Use for …" so auto-selection works), model per registry policy, 5–8 specialty bullets that would actually change how the work is done. - New agent TYPES register at the next session start. Until then, spawn
general-purposewith the file body prepended + themodelparam — same file, either path.
Modify an agent
Edit .claude/agents/<role>.md directly — description, model tier (justify against registry policy), specialty bullets. Typical at init: retuning a generic role to the project's domain (e.g. backend-engineer → "REST + Postgres" bullets swapped for "gRPC + embedded sqlite"). Sync the registry row. Named-type changes load next session; immediate need → general-purpose + updated file body.
Remove an agent
Delete .claude/agents/<role>.md + its registry row. Never remove a role with in-flight tasks — reassign first. If the user created it manually, ask before deleting.
Create a skill
.claude/skills/<name>/SKILL.md — frontmatter (name, description with a "Use when …" trigger), body = the procedure. Worth creating when a procedure has ≥3 steps and will run ≥2 times. Loads next session; follow the file directly until then.
Hooks
Scripts live in .claude/hooks/; register in .claude/settings.json under hooks.<Event> (SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, Stop):
{"hooks": [{"type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR/.claude/hooks/<script>.sh\""}]}
Keep hooks fast (<2s) and fail-open (exit 0). Changes load at next session start.
NEVER remove session-start.sh or on-prompt.mjs — they are the system's lifelines.
MCP servers
Add to .mcp.json: {"mcpServers": {"<name>": {"command": "...", "args": ["..."]}}}. Prefer stdio + zero/low-dependency (see memory-server.mjs as the pattern). Loads next session.
NEVER remove the memory server — the system is amnesiac without it.
Removal safety (all artifact types)
State why, progress_log it, and if the artifact was user-added rather than system-created, ask the user first.