agent-team
Original:🇺🇸 English
Translated
AI team role manager for multi-agent development workflows. Use when the user wants to create/delete team roles, open role sessions in terminal tabs, assign tasks to roles, check team status, or merge role branches. Triggers on /agent-team commands, "create a team role", "open role session", "assign task to role", "show team status", "merge role branch".
2installs
Sourcejsonlee12138/agent-team
Added on
NPX Install
npx skill4agent add jsonlee12138/agent-team agent-teamTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →agent-team
Manages AI team roles using git worktrees + terminal multiplexer tabs. Each role runs in its own isolated worktree (branch ) and opens as a full-permission AI session in a new tab.
team/<name>For directory layout and bidirectional communication details, see references/details.md.
Install
bash
brew tap JsonLee12138/agent-team && brew install agent-teamUpgrade
bash
brew update && brew upgrade agent-teamUsage
Run from within a project git repository:
bash
agent-team <command>Use tmux backend (default is WezTerm):
bash
AGENT_TEAM_BACKEND=tmux agent-team <command>Brainstorming (Required Before Assign)
When the user intends to assign new work to a role, you MUST brainstorm first:
- Explore context — check the role's , existing
prompt.md, and project stateopenspec/specs/ - Ask clarifying questions — one at a time, prefer multiple choice when possible
- Propose 2-3 approaches — with trade-offs and your recommendation
- User confirms design — get explicit approval
- Write proposal — save the confirmed design to a temp file
- Execute assign — run
agent-team assign <name> "<desc>" --proposal <file>
Rules:
- Brainstorming is mandatory for new work assignments
- Can be skipped when user explicitly says "just assign" or provides a complete design
- One question at a time. YAGNI. Explore alternatives before settling.
Commands
Create a role
bash
agent-team create <name>Creates git branch + worktree at . Generates:
team/<name>.worktrees/<name>/- — provider, description, pane tracking
agents/teams/<name>/config.yaml - — role system prompt (edit this to define the role)
agents/teams/<name>/prompt.md - — OpenSpec project structure for change management
openspec/
After creating, guide the user to edit to define the role's expertise and behavior.
prompt.mdOpen a role session
bash
agent-team open <name> [claude|codex|opencode] [--model <model>]- Generates in worktree root from
CLAUDE.md(auto-injected as system context)prompt.md - Spawns a new terminal tab titled running the chosen AI provider
<name> - Provider priority: CLI argument > > claude
config.yaml default_provider - Model priority: flag >
--model> provider defaultconfig.yaml default_model
Open all sessions
bash
agent-team open-all [claude|codex|opencode] [--model <model>]Opens every role that has a config.yaml.
Assign a change
bash
agent-team assign <name> "<description>" [claude|codex|opencode] [--model <model>] [--proposal <file>]- Creates an OpenSpec change at
openspec/changes/<timestamp>-<slug>/ - Writes the proposal file from flag (or empty if not provided)
--proposal - Auto-opens the role session if not running
- Sends a notification to the running session
[New Change Assigned]
The role will then use to proceed through specs → design → tasks → apply.
/opsx:continueReply to a role
bash
agent-team reply <name> "<answer>"Sends a reply to a role's running session, prefixed with .
[Main Controller Reply]Reply to main controller (used by roles)
bash
agent-team reply-main "<message>"Sends a message from the role back to the main controller's session, prefixed with . Automatically detects the current role from the worktree directory and reads the controller's pane ID from .
[Role: <name>]config.yamlCheck status
bash
agent-team statusShows all roles, session status (running/stopped), and active OpenSpec changes.
Merge completed work
bash
agent-team merge <name>Merges into the current branch with . Run afterward to clean up.
team/<name>--no-ffdeleteDelete a role
bash
agent-team delete <name>Closes the running session (if any), removes the worktree, and deletes the branch.
team/<name>