Teams
Status: π§ͺ Beta
A team is a curated selection of agents β sourced from kits and/or individual specs β configured for a specific project context. Teams are stored as YAML files under .agent-teams/teams/.
Creating a Teamβ
Dashboard β Team Manager β Create Team, or use the Quick Actions card on the home page.
The wizard has three sections:
- Basics β enter the team name and description
- Members β select agents to include in this team from your available agent list. If no agents exist yet, a shortcut link to Create Agent is shown
- Summary β a live preview of the team configuration appears in the right sidebar
Click Create to save the team. The file .agent-teams/teams/<id>.yml is created automatically.
Managing Teamsβ
View All Teamsβ
Dashboard β Team Manager lists all teams with their name, description, agent count, and active status. Click any team card to open it.
Edit a Teamβ
Dashboard β Team Manager β select team β Edit
The edit page provides four actions:
| Action | Description |
|---|---|
| Save | Write changes to the team YAML file |
| Cancel | Discard unsaved changes |
| Delete | Permanently remove this team |
| Set as Active | Mark this team as the active team for sync operations |
Setting the Active Teamβ
Only one team can be active at a time. The active team determines which agents are synced to .github/agents/ and which agents register as Copilot Chat participants.
To change the active team: Dashboard β Team Manager β select team β Edit β Set as Active
The dashboard home page Stats card always shows which team is currently active.
Syncing a Teamβ
Sync resolves the full composition (kit defaults + project profile + team overrides) and writes the final agent markdown files to .github/agents/.
- Dashboard home β Sync Status card shows a breakdown of pending changes:
createβ new agent file will be writtenupdateβ existing agent file will be updatedskipβ no changes detected, file left as-is
- Click Sync to apply all changes
The dashboard detects changes to YAML files automatically via file watching β the sync status card updates whenever you save an agent or team.
MCP Server syncβ
If any agent in the team declares mcpServers, Agent Teams merges them into the project MCP config files during sync:
- Copilot target β
.vscode/mcp.json(serverskey) - Claude target β
.mcp.jsonat project root (mcpServerskey)
Servers are merged by id. Existing entries are never overwritten, so project-level overrides are always preserved. See MCP Servers in the Agents reference.
Merge Strategiesβ
When multiple sources define the same agent field (kit default, project profile, team override), the Merge Engine resolves the conflict using one of four strategies:
| Strategy | Behaviour |
|---|---|
team-priority (default) | Team overrides win over profile and kit |
profile-priority | Project profile wins over kit and team |
kit-priority | Kit defaults win β overrides are ignored |
explicit-only | Only fields explicitly set at team level are used |
Reference: Team YAML Formatβ
The dashboard writes and reads this format automatically. You can also edit the file directly in VS Code.
id: frontend-team
name: Frontend Team
description: Team focused on React and TypeScript frontend work
kits:
- id: testing-vitest
enabled: true
agents:
- id: vitest-worker
enabled: true
- id: test-orchestrator
enabled: false
overrides:
vitest-worker:
skills:
- code_analysis
- testing
Fieldsβ
| Field | Required | Description |
|---|---|---|
id | β | Unique team identifier (kebab-case) |
name | β | Display name |
description | β | Team purpose |
kits | β | List of kit IDs to include, each with an enabled flag |
agents | β | Per-agent overrides with enabled flag |
overrides | β | Field-level overrides applied to specific agents within this team |