Skip to content

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.

TeamFileAgentsGateUsed By
Discoverdiscover.yaml3 (parallel)Flexible/sniper-discover
Planplan.yaml4 (with dependencies)Strict/sniper-plan
Solvesolve.yaml1 (single agent)Flexible/sniper-solve
Sprintsprint.yamlDynamic (from pool)Flexible/sniper-sprint
Docdoc.yaml3 (with dependencies)Flexible/sniper-doc

Extended Teams

These teams support specialized workflows.

TeamFileAgentsUsed By
Debugdebug.yaml3/sniper-debug
Feature Planfeature-plan.yaml2/sniper-feature
Ingestingest.yaml3/sniper-ingest
Retroretro.yaml1Auto-retro after sprint
Refactorrefactor.yaml--/sniper-audit refactor
Review PRreview-pr.yaml--/sniper-audit review
Testtest.yaml--/sniper-audit tests
Securitysecurity.yaml--/sniper-audit security
Perfperf.yaml--/sniper-audit performance
Review Releasereview-release.yaml--Release readiness

Workspace Teams

These teams handle multi-repo orchestration.

TeamFileAgentsUsed By
Workspace Featureworkspace-feature.yaml--/sniper-workspace feature
Workspace Validationworkspace-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 | auto

Key Fields

  • compose -- persona layers to merge for this agent
  • model_override -- forces a specific model tier (e.g., opus for complex tasks)
  • tasks -- what the agent produces, with dependency ordering via blocked_by
  • plan_approval -- if true, the agent must describe its approach and wait for lead approval
  • coordination.pairs -- agents that must share work and align during execution
  • owns_from_config -- (sprint teams) maps to an ownership key in config.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 code

Domain 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.

  • Teams Guide -- detailed explanation of team coordination and task dependencies
  • Personas -- persona layers referenced in compose
  • Configuration -- ownership keys referenced by owns_from_config