plugins/specweave/skills/team-build/SKILL.md
Preset-driven team building — spawn coordinated multi-agent teams from battle-tested presets for full-stack, review, brainstorm, testing, TDD, and migration workflows. Review and brainstorm presets work without an increment.
npx skillsauth add anton-abyzov/specweave plugins/specweave/skills/team-buildInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Spawn a coordinated team of agents from a preset configuration. Each preset defines agent roles, skill assignments, ownership boundaries, and execution order so you get a production-grade team in one command.
sw:team-build --preset full-stack "Build checkout flow"
sw:team-build --preset review "Review auth module"
sw:team-build --preset brainstorm "Brainstorm payment architecture"
sw:team-build --preset testing "Test payment service"
sw:team-build --preset tdd "Implement rate limiter"
sw:team-build --preset migration "Migrate users to v2 schema"
Note: For the complete mode documentation and 9-domain skill mapping, see sw:team-lead.
--preset flag to select a team configurationfull-stack, testing, tdd, migration): read the active incrementreview, brainstorm): proceed without increment| Preset | Mode | Increment Required? | team_name prefix |
|--------|------|-------------------|-----------------|
| full-stack | implementation | Yes* | impl-* or any |
| review | review | No | review-* |
| brainstorm | brainstorm | No | brainstorm-* |
| testing | implementation | Yes* | impl-* or any |
| tdd | implementation | Yes* | impl-* or any |
| migration | implementation | Yes* | impl-* or any |
* Bypassed when SPECWEAVE_NO_INCREMENT=1 is set (e.g. specweave team --no-increment). In free-form mode, agents work from natural language descriptions without spec.md.
CRITICAL: review and brainstorm presets MUST use their mode-prefixed team_name to bypass the spec-first guard.
full-stack — Contract-First Full-Stack DevelopmentAgents: 3 Execution order: Sequential gate then parallel fan-out
Build features end-to-end with a shared-types-first contract approach. Agent 1 establishes the contract (types, shared utilities, interfaces) before backend and frontend agents work in parallel against that contract.
| # | Role | Skill(s) | Owns | Responsibility |
|---|------|----------|------|----------------|
| 1 | Shared/Types | sw:architect | src/types/, src/utils/, src/shared/ | Define TypeScript interfaces, shared validators, utility functions, and API contracts |
| 2 | Backend | sw:architect + infra:devops | src/api/, src/services/ | Implement API endpoints, service layer, database queries, and infrastructure config |
| 3 | Frontend | sw:architect | src/components/, src/pages/ | Build UI components, pages, state management, and client-side logic |
Agent 1 (Shared/Types)
|
v
GATE — types and contracts must compile
|
+-------+-------+
| |
v v
Agent 2 Agent 3
(Backend) (Frontend)
| |
v v
sw:grill sw:grill
Why contract-first: Backend and frontend agents import from src/types/ and src/shared/. By resolving the contract first, both downstream agents work against stable interfaces — no integration surprises.
sw:team-build --preset full-stack "Build user profile page with avatar upload"
This spawns:
UserProfile, AvatarUploadRequest, AvatarUploadResponse types/api/users/:id/profile and /api/users/:id/avatar endpoints<ProfilePage>, <AvatarUploader> components consuming those typesreview — Parallel Multi-Perspective Code ReviewAgents: 3
Execution order: All parallel (independent, no dependencies)
Mode: review (NO increment required)
team_name: MUST use review-* prefix (e.g., review-auth-module)
Three specialized reviewers examine the codebase simultaneously from different angles. Each agent produces findings independently — no agent blocks another. Uses agent templates from agents/reviewer-*.md.
| # | Role | Agent Template | Focus | Responsibility |
|---|------|---------------|-------|----------------|
| 1 | Security Reviewer | agents/reviewer-security.md | All files (read-only) | Vulnerabilities, injection, auth flaws, secrets, OWASP Top 10 |
| 2 | Logic Reviewer | agents/reviewer-logic.md | All files (read-only) | Correctness, edge cases, error handling, race conditions, logic bugs |
| 3 | Performance Reviewer | agents/reviewer-performance.md | All files (read-only) | N+1 queries, memory leaks, algorithmic complexity, scalability |
+-------------------+-------------------+-------------------+
| | | |
v v v |
Agent 1 Agent 2 Agent 3 |
(Security) (Logic) (Performance) |
| | | |
v v v |
REVIEW_COMPLETE REVIEW_COMPLETE REVIEW_COMPLETE |
+-------------------+-------------------+-------------------+
|
v
Merged review summary
(Must Fix / Should Fix / Consider)
All agents run in parallel. Each uses its agent template and signals REVIEW_COMPLETE:. Team-lead merges, deduplicates, and prioritizes by severity.
sw:team-build --preset review "Review auth module before release"
sw:team-build --preset review "Review PR #63"
This spawns three parallel reviewers:
testing — Parallel Test Suite GenerationAgents: 3 Execution order: All parallel (independent, no dependencies)
Generate comprehensive test coverage across all test levels simultaneously. Each agent focuses on a different testing layer and operates independently.
Note: SpecWeave testing skills (
sw:tdd-red,sw:e2e,sw:validate) provide the testing workflows. This preset splits responsibilities into specialized agents for parallel execution.
| # | Role | Skill(s) | Owns | Responsibility |
|---|------|----------|------|----------------|
| 1 | Unit | sw:tdd-red | tests/unit/ | Write unit tests for individual functions, classes, and modules with proper mocking |
| 2 | E2E | sw:e2e | tests/e2e/ | Write end-to-end tests for user flows, API sequences, and cross-service interactions |
| 3 | Coverage | sw:validate | tests/ (analysis scope) | Analyze coverage gaps, generate missing test cases, ensure threshold compliance |
+---------------+---------------+---------------+
| | | |
v v v |
Agent 1 Agent 2 Agent 3 |
(Unit) (E2E) (Coverage) |
| | | |
v v v |
unit tests e2e tests coverage report |
+---------------+---------------+---------------+
|
v
All tests pass + coverage met
All agents run in parallel. Unit and E2E agents write tests while the Coverage agent analyzes gaps and generates supplementary tests for uncovered paths.
sw:team-build --preset testing "Test payment service end to end"
This spawns:
PaymentService, InvoiceCalculator, TaxResolvertdd — Strict Sequential TDD CycleAgents: 3 Execution order: Strict sequential (Agent 1 -> Agent 2 -> Agent 3)
Enforce the RED-GREEN-REFACTOR discipline with dedicated agents for each phase. Each agent must complete before the next begins — no shortcuts, no phase skipping.
| # | Role | Skill(s) | Owns | Responsibility |
|---|------|----------|------|----------------|
| 1 | Red | sw:tdd-red | tests/ | Write failing tests that define the expected behavior. Tests MUST fail before proceeding. |
| 2 | Green | sw:tdd-green | src/ | Write the minimal implementation to make all failing tests pass. No extra features. |
| 3 | Refactor | sw:tdd-refactor | src/, tests/ | Improve code quality, extract abstractions, reduce duplication — all tests must stay green. |
Agent 1 (Red)
|
v
GATE — tests must exist AND fail
|
v
Agent 2 (Green)
|
v
GATE — all tests must pass
|
v
Agent 3 (Refactor)
|
v
GATE — all tests still pass + sw:grill
Strict sequential execution. Agent 2 cannot start until Agent 1's tests are verified failing. Agent 3 cannot start until Agent 2's implementation passes all tests. This enforces true TDD discipline.
When testing.defaultTestMode: "TDD" is set in .specweave/config.json, this preset automatically enables strict enforcement (testing.tddEnforcement: "strict"). Tasks in tasks.md are tagged with [RED], [GREEN], [REFACTOR] phase markers.
sw:team-build --preset tdd "Implement rate limiter with sliding window"
This spawns sequentially:
rateLimiter.allows(100, '1m'), rateLimiter.rejects(101, '1m'), sliding window decay testsRateLimiter class with minimal sliding window logic to passSlidingWindow abstraction, adds TimeProvider injection, cleans upmigration — Contract-First Data MigrationAgents: 3 Execution order: Sequential gate then parallel fan-out
Migrate data schemas safely with a schema-first approach. The schema agent defines the new structure and writes migration scripts before backend and frontend agents adapt to the changes in parallel.
| # | Role | Skill(s) | Owns | Responsibility |
|---|------|----------|------|----------------|
| 1 | Schema | sw:architect | src/types/, migrations/, prisma/, drizzle/ | Define new schema, write migration scripts, update type definitions, ensure backward compatibility |
| 2 | Backend | sw:architect | src/api/, src/services/ | Update API endpoints, service logic, queries, and serializers to work with new schema |
| 3 | Frontend | sw:architect | src/components/, src/pages/ | Update UI components, forms, and state to reflect schema changes |
Agent 1 (Schema)
|
v
GATE — migration runs, types compile, rollback tested
|
+-------+-------+
| |
v v
Agent 2 Agent 3
(Backend) (Frontend)
| |
v v
sw:grill sw:grill
Schema-first ensures safety. The migration and new types must be validated before downstream agents modify application code. Both backend and frontend work against the finalized schema in parallel.
sw:team-build --preset migration "Migrate users to v2 schema with address normalization"
This spawns:
migrations/20240315_users_v2.sql, updates UserV2 type, writes rollback/api/users endpoints to read/write UserV2, adds address normalization service<UserForm>, <AddressInput> components to use new address fieldsbrainstorm — Multi-Perspective IdeationAgents: 3
Execution order: All parallel (independent, no dependencies)
Mode: brainstorm (NO increment required)
team_name: MUST use brainstorm-* prefix (e.g., brainstorm-arch-decision)
Three perspective agents explore a question simultaneously from different angles. Uses agent templates from agents/brainstorm-*.md.
| # | Role | Agent Template | Perspective | Responsibility |
|---|------|---------------|-------------|----------------|
| 1 | Advocate | agents/brainstorm-advocate.md | Innovation | Champions the most ambitious approach, pushes boundaries |
| 2 | Critic | agents/brainstorm-critic.md | Risk | Devil's advocate — finds failure modes, hidden costs, red lines |
| 3 | Pragmatist | agents/brainstorm-pragmatist.md | Feasibility | Practical realist — timelines, team skills, maintenance burden |
+-------------------+-------------------+-------------------+
| | | |
v v v |
Agent 1 Agent 2 Agent 3 |
(Advocate) (Critic) (Pragmatist) |
| | | |
v v v |
PERSPECTIVE_COMPLETE PERSPECTIVE_COMPLETE PERSPECTIVE_COMPLETE|
+-------------------+-------------------+-------------------+
|
v
Decision matrix + recommendation
→ sw:increment if proceeding
All agents run in parallel. Each signals PERSPECTIVE_COMPLETE:. Team-lead synthesizes into a decision matrix with scored options.
sw:team-build --preset brainstorm "Microservices vs monolith for our growing app"
This spawns:
| Flag | Required | Description |
|------|----------|-------------|
| --preset | Yes | One of: full-stack, review, brainstorm, testing, tdd, migration |
| --increment | No | Increment ID to operate on (defaults to active increment; ignored for review/brainstorm) |
| --dry-run | No | Show what agents would be spawned without actually spawning them |
| --max-agents | No | Override max concurrent agents (default: 3) |
| Preset | Order | Pattern | Increment? |
|--------|-------|---------|-----------|
| full-stack | Sequential gate + parallel | Agent 1 first, then [Agent 2 + Agent 3] in parallel | Yes |
| review | All parallel | [Agent 1 + Agent 2 + Agent 3] simultaneously | No |
| brainstorm | All parallel | [Agent 1 + Agent 2 + Agent 3] simultaneously | No |
| testing | All parallel | [Agent 1 + Agent 2 + Agent 3] simultaneously | Yes |
| tdd | Strict sequential | Agent 1 -> Agent 2 -> Agent 3 (no parallelism) | Yes |
| migration | Sequential gate + parallel | Agent 1 first, then [Agent 2 + Agent 3] in parallel | Yes |
Each spawned agent integrates with the standard SpecWeave workflow:
spec.md and tasks.md from the active incrementsw:do or sw:auto to work through their assigned taskssw:grill before marking tasks completetasks.md with AC linkageThese presets operate without increments:
sw:done or sw:grill requiredsw:increment to formalizeResolve the {ORG} placeholder from .specweave/config.json (in priority order):
repository.organization fieldsync.profiles[*].config.owner (GitHub) or .config.organization (ADO)umbrella.childRepos[0].path (strip repositories/ prefix, take first segment)ls repositories/*/ and use the org folder nameIn umbrella projects with a repositories/ folder:
.specweave/increments/.specweave/ is for config ONLY, not for agent incrementsspecweave init in each repo if .specweave/ doesn't existrepositories/{ORG}/{repo-name}/ (replace {ORG} with discovered value)Spawn → Load increment context → Claim tasks → sw:do or sw:auto → sw:grill → Report completion
full-stack, migration, or tdd) fails, downstream agents are NOT spawnedIf user provides an unknown preset name:
Error: Unknown preset "xyz". Available presets: full-stack, review, brainstorm, testing, tdd, migration.
Use sw:team-build --help to see preset details.
To define custom presets, add a teamPresets section to .specweave/config.json:
{
"teamPresets": {
"my-preset": {
"agents": [
{
"role": "Analyst",
"skills": ["sw:architect"],
"owns": ["src/analysis/"],
"dependsOn": []
},
{
"role": "Implementer",
"skills": ["sw:architect"],
"owns": ["src/core/"],
"dependsOn": ["Analyst"]
}
]
}
}
}
Custom presets follow the same execution rules: agents with no dependsOn run in parallel; agents with dependencies wait for their predecessors to complete.
| Issue | Fix |
|-------|-----|
| Agent fails to spawn | Check that required skills are installed: claude plugin list |
| Gate agent blocks forever | Kill the stuck agent and check its output for errors |
| Ownership conflict | Ensure no two agents in the same preset share directory ownership |
| TDD gate rejects Green | Agent 1 (Red) tests must genuinely fail — check for accidentally passing tests |
| Agents out of sync | Run sw:progress to see per-agent task status and identify blockers |
tools
Generate AI videos from text prompts or images. Supports Google Veo 3.1 and Pollinations.ai (free). Use when generating video, creating animations, text-to-video, AI video, video generation, make clip, animate.
tools
Validate increment with rule-based checks and AI quality assessment. Use when saying "validate", "check quality", or "verify increment".
tools
Create and manage umbrella workspaces for multi-repo projects. Activate when the user wants to: create umbrella, umbrella init, wrap in umbrella, create workspace, setup multi-repo, migrate repos to umbrella, umbrella create, new workspace, restructure into umbrella, "wrap this repo", "create umbrella for these repos", "setup workspace with repos", "move repos into umbrella". Do NOT activate for: add a repo to existing umbrella (use sw:get), add a feature, add an increment, clone a repo (use sw:get).
tools
--- description: Merge completed parallel agent work and trigger GitHub sync per increment. Activates for: team merge, merge agents, combine work, team finish. --- # Team Merge **Verify all teammates completed, run quality gates, close increments, and trigger sync.** ## Usage ```bash sw:team-merge sw:team-merge --dry-run # Preview merge plan sw:team-merge --skip-sync # Merge without GitHub/JIRA sync ``` ## What This Skill Does 1. **Verify all teammates completed** -- bl