Teams Reference
Teams define which agents are spawned for each phase, their persona compositions, task assignments, coordination rules, and review gate configuration. Team definitions are YAML files stored in .sniper/teams/.
Standard Phase Teams
These teams are used by the core lifecycle phases.
| Team | File | Agents | Gate | Used By |
|---|---|---|---|---|
| Discover | discover.yaml | 3 (parallel) | Flexible | /sniper-discover |
| Plan | plan.yaml | 4 (with dependencies) | Strict | /sniper-plan |
| Solve | solve.yaml | 1 (single agent) | Flexible | /sniper-solve |
| Sprint | sprint.yaml | Dynamic (from pool) | Flexible | /sniper-sprint |
| Doc | doc.yaml | 3 (with dependencies) | Flexible | /sniper-doc |
Extended Teams
These teams support specialized workflows.
| Team | File | Agents | Used By |
|---|---|---|---|
| Debug | debug.yaml | 3 | /sniper-debug |
| Feature Plan | feature-plan.yaml | 2 | /sniper-feature |
| Ingest | ingest.yaml | 3 | /sniper-ingest |
| Retro | retro.yaml | 1 | Auto-retro after sprint |
| Refactor | refactor.yaml | -- | /sniper-audit refactor |
| Review PR | review-pr.yaml | -- | /sniper-audit review |
| Test | test.yaml | -- | /sniper-audit tests |
| Security | security.yaml | -- | /sniper-audit security |
| Perf | perf.yaml | -- | /sniper-audit performance |
| Review Release | review-release.yaml | -- | Release readiness |
Workspace Teams
These teams handle multi-repo orchestration.
| Team | File | Agents | Used By |
|---|---|---|---|
| Workspace Feature | workspace-feature.yaml | -- | /sniper-workspace feature |
| Workspace Validation | workspace-validation.yaml | -- | /sniper-workspace validate |
Team YAML Structure
Every team YAML follows this structure:
yaml
phase: plan
description: "Planning and architecture phase"
teammates:
- name: architect
compose:
process: architect
technical: backend
cognitive: systems-thinker
model_override: opus # Optional: force a specific model
tasks:
- id: architecture
name: "Architecture Design"
output: "docs/architecture.md"
plan_approval: true # Requires lead approval before execution
blocked_by: [prd] # Wait for this task to complete first
coordination:
pairs:
- [architect, security-analyst]
- [product-manager, ux-designer]
review_gate:
checklist: plan-review
mode: strict # strict | flexible | autoKey Fields
compose-- persona layers to merge for this agentmodel_override-- forces a specific model tier (e.g.,opusfor complex tasks)tasks-- what the agent produces, with dependency ordering viablocked_byplan_approval-- if true, the agent must describe its approach and wait for lead approvalcoordination.pairs-- agents that must share work and align during executionowns_from_config-- (sprint teams) maps to an ownership key inconfig.yaml
Dynamic Teams
The sprint team uses an available_teammates pool rather than a fixed roster. The team lead selects which teammates to spawn based on the stories chosen for the sprint:
yaml
available_teammates:
- name: backend-dev
compose:
process: developer
technical: backend
owns_from_config: backend
- name: frontend-dev
compose:
process: developer
technical: frontend
owns_from_config: frontend
- name: qa-engineer
compose:
process: qa-engineer
# QA has no file ownership -- it reads all codeDomain Pack Overrides
Domain packs can add extra teammates to standard teams using team_overrides in pack.yaml. Pack teammates are additive -- they do not replace existing team members. See Domain Packs for details.
Related
- Teams Guide -- detailed explanation of team coordination and task dependencies
- Personas -- persona layers referenced in
compose - Configuration -- ownership keys referenced by
owns_from_config
