# Swarm brief — {{TASK}} ## Goal {{One paragraph. What must exist when the swarm is done.}} ## Success criteria - [ ] {{Criterion}} — verified by {{check or command}} - [ ] {{Criterion}} — verified by {{check or command}} Scope is checked by the lead with the skill's `scripts/audit-scope.mjs`; workers do not run it. ## Non-goals - {{What must not change or be attempted.}} ## Stack and commands | Action | Command | |---|---| | build | `{{command}}` | | test | `{{command}}` | | lint | `{{command}}` | | run | `{{command}}` | ## Repository map | Path | Role | |---|---| | `{{path}}` | {{one line}} | ## Conventions and invariants - {{Naming, error handling, test style, formatting.}} - {{Data or API invariants that must not break.}} ## Hazards - {{Generated files, migrations, flaky tests, shared ports, secrets, caches.}} - {{Generated or vendored paths that must not be edited.}} ## Frozen contracts See `.swarm/contracts.md`. Do not change an interface without returning `blocked`. ## Global forbidden actions - No installs, repo-wide format/lint/codegen, migrations, dev servers, or git writes. - No edits outside your task's write scope. - Do not edit `.swarm/brief.md`, `plan.*`, `contracts.md`, or another task's files or reports. ## Reporting Write `.swarm/reports/{{ID}}.json` and return the same object. Use `.swarm/report.schema.json`.