Our review
This skill orchestrates a multi-agent pipeline for development tasks, enforcing hard rules for unit tests and documentation updates in the same commit.
Strengths
- Enforces unit tests in the same commit as code changes with a hard rule.
- Layered defense-in-depth via multiple verification agents.
- Automatically includes required documentation updates for feature tasks.
- Leverages multiple agents for thorough code review and policy compliance.
Limitations
- Requires a specific set of agent personas (team-lead, etc.) which may not be available outside this ecosystem.
- The rigid policy can slow down simple or rapid tasks.
- Assumes a test framework and documentation structure are already in place.
Use when you need to implement a feature or fix with strict compliance requirements for tests and documentation, especially in production-grade repositories.
Do not use for exploratory or prototyping work where fast iteration is more important than policy enforcement.
Security analysis
SafeThe skill defines a multi-agent orchestration workflow with policies and contracts; it contains no malicious instructions, no dangerous commands, and no data exfiltration. It is a meta-description for team-based AI coding assistance.
No concerns found
Examples
/teamwork:task implement user authentication with JWT tokens/teamwork:mapping-repoUse teamwork to refactor the payment module to use a strategy patternname: teamwork description: Use for explicit teamwork orchestration requests (/teamwork:task, /teamwork:mapping-repo, or "use teamwork"). Delegates to team-lead for plan-led execution with gated review and verification. allowed-tools: Bash, Agent
Teamwork Skill
Run a structured multi-agent pipeline where team-lead orchestrates all stages and delegates implementation to specialist agents.
Triggers
/teamwork:task <description>
/teamwork:mapping-repo
/teamwork:mapping-repo --update
Natural language trigger:
Use teamwork to implement <feature>
Setup / Check
- Claude slash command:
/teamwork:setup - CLI/Codex fallback:
bash scripts/setup.sh --repo/bash scripts/setup.sh --check
Unit-test Policy (hard rule)
Every plan task that adds or modifies executable code MUST ship tests in the SAME commit. This is a non-negotiable pipeline integrity rule. Enforcement is layered across five agents so that no single failure point can leak.
Scope:
- Task types
docs,chore, andconfigare exempt. - All other tasks (
feat,fix,refactor,perf) require at least one unit-test file added or modified alongside the code change.
Agent contracts:
planner-lead: every code task in the plan MUST carry atests: [...]field enumerating the test files that will ship with the code. Plans that omittestson a code task FAIL plan validation.fullstack-engineer: MUST self-fail withstatus: fail, reason: ut-requiredwhentests_addedis empty for a non-exempt task. Do NOT hand off to verifier to catch missing tests. Tests ship with code in the SAME commit — never defer tests to a later task. Output contract MUST includetests_added: [paths]andtests_run: {passed, failed, skipped}.verifier: MUST fail the delivery gate when the diff shows new/modified source files with zero test counterparts in the same commit (task type override:docs|chore|config). A matching test counterpart is any file undertests/, or*_test.*,*.test.*,test_*.final-reviewer: MUST recordtests_added: N, tests_modified: Min the consolidated summary line.git-monitor: pre-push check. If staged diff contains code changes and zero test files AND the task type is not exempt, refuse to push withresult: fail, reason: ut-missing-for-code-change.
Rationale: moving the UT check left (planner and executor) means failures surface in minutes, not at the final gate. Moving it right (verifier, final-reviewer, git-monitor) means defense-in-depth for the cases where earlier layers are bypassed.
Documentation Policy (hard rule for feat, warn for fix|refactor)
Code changes that introduce new user-visible behavior, agents, commands, or configuration MUST ship documentation updates in the SAME commit. This ensures docs never drift behind the implementation.
Scope:
feattasks: HARD — missing docs blocks the pipeline.fixandrefactortasks: WARN — final-reviewer flags but does not block.perf,docs,chore,configtasks: exempt.
"Docs" means repository-level markdown: docs/*.md, AGENTS.md, ARCHITECTURE.md, README.md, CLAUDE.md, command/skill descriptions. Inline code comments and JSDoc do not count.
Agent contracts:
planner-lead: everyfeattask in the plan MUST carry adocs: [<doc-file-path>, ...]field listing the documentation files to be created or updated. Plans that omitdocson afeattask FAIL plan validation.fix/refactortasks SHOULD includedocswhen behavior changes are user-visible, but omission is a warning, not a block.fullstack-engineer: forfeattasks, MUST update the listed doc files in the same commit as the code. If docs cannot be written, returnstatus: fail, reason: docs-required. Output contract MUST includedocs_updated: [paths](may be empty ONLY for exempt types).verifier: for completedfeattasks, check that at least one doc file (docs/*.md,AGENTS.md,ARCHITECTURE.md,README.md,CLAUDE.md) is in the diff. If missing, return🔴 FAILwithdocs_missing=true. Forfix/refactortasks with no doc changes, emitdocs_missing_warn=true(non-blocking).final-reviewer: recorddocs_updated: Nin the consolidated summary. Flagfix/refactortasks that changed user-visible behavior without doc updates as review findings.git-monitor: forfeattasks, if staged diff contains no doc files, HARD FAIL withresult: fail, reason: docs-missing-for-feat. Reference the Documentation Policy innotes.
Pipeline
team-lead
├── planner-lead → dispatches researcher/designer/linter, writes plan
│ ├── researcher(s) (parallel when useful)
│ └── designer (only when design output required)
│ └── linter (layered dependency lint contract)
├── plan-reviewer → technical plan gate
├── pm → product plan gate + delivery supervision
├── fullstack-engineer → execute tasks
├── verifier → command-level verification evidence
├── final-reviewer → code review + specialty review coalition
│ ├── security-reviewer
│ ├── devil-advocate
│ ├── a11y-reviewer
│ └── perf-reviewer
├── user-perspective → mandatory real UX testing gate (Playwright/XCUITest)
└── git-monitor → commit/PR/CI monitoring (only after user-perspective passes)
Stage Model
Default (standard):
plan -> plan-review -> execute -> verify -> pm-review -> final-review -> user-perspective -> ship
Gate policy:
- Plan gate passes only when
plan-reviewerandpm(plan-gate)are both pass. - Delivery gate uses
verifierevidence pluspm(delivery-gate)supervision. - Final gate is owned by
final-reviewerconsolidated verdict. - User-perspective gate (mandatory — non-skippable): real automated UX testing via Playwright (web) or XCUITest/apple-ui-tester (iOS/macOS).
git-monitoris blocked until this gate passes. If 🟡 ITERATE,fullstack-engineerrepairs and the gate re-runs. If 🔴 FAIL, pipeline halts.
Preflight Guardrails (Mandatory)
Team-lead MUST run these preflight checks before starting planning. Each failed check halts the pipeline unless the user provides an explicit override recorded in .claude/pipeline-state.json.
1. Nested-harness / subagent-availability check
Sub-agent dispatch fails silently when team-lead is invoked inside a non-interactive harness (e.g. claude -p with piped stdin, CI runners without the Agent tool, or nested spawn contexts where the inner invocation loses tool permissions). Left undetected, the pipeline collapses into single-operator inline execution and violates the "Never execute pipeline stages inline" hard rule.
Detection (team-lead, at pipeline start):
# Heuristics — any one triggering means degraded mode likely
NESTED_HARNESS=false
[ ! -t 0 ] && NESTED_HARNESS=true # non-TTY stdin (claude -p pipe)
[ -n "$CLAUDE_P_NONINTERACTIVE" ] && NESTED_HARNESS=true # explicit flag
[ -n "$CI" ] && NESTED_HARNESS=true # CI runner
# Tool availability probe — if the running agent cannot see "Agent" in its
# granted tool list, it cannot spawn sub-agents.
case ",$ALLOWED_TOOLS," in *,Agent,*) : ;; *) NESTED_HARNESS=true ;; esac
Required response:
- Default: emit a loud
DEGRADED_HARNESSnotice to the final output and halt. Do not start planning. Returnresult: fail, reason: nested-harness-detected. - User override: only proceed when the user (or the invoking command) explicitly passes
allow_degraded: single-operatorin the task input. In that case, record the override in pipeline state, annotate every stage in the execution ledger withharness_mode: degraded-single-operator, and follow the documented degraded path (see below). - The final response and the persisted run log MUST include
harness_modesoteamwork-retrocan flag the run.
Documented degraded single-operator path (only when user override granted):
- Hard rules "Never edit project files" and "Never execute pipeline stages inline" are explicitly waived for this run only.
- Every normally-spawned stage becomes an inline checklist item; the operator must still produce the same evidence the stage would have produced (plan artefact, verifier command output, etc.).
- Gate decisions must be captured as explicit self-reviews against the same criteria; never mark a gate "pass" without recording the evidence inline.
2. Shared-branch guardrail
If the repo's current branch is the shared base (main, master, the detected default branch, or any branch listed in PROTECTED_BRANCHES / team.md), team-lead MUST NOT run execution stages that produce commits on that branch. Required action:
BASE_BRANCH=$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's|refs/remotes/origin/||' || echo main)
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
SHARED_SET="main master $BASE_BRANCH ${PROTECTED_BRANCHES:-}"
case " $SHARED_SET " in *" $CURRENT_BRANCH "*) SHARED=true ;; *) SHARED=false ;; esac
- If
SHARED=true: instructfullstack-engineer/git-monitorto create a feature branch (<type>/<plan-slug>) before any commit, and never direct-push to the shared base. The plan MUST declare branch+PR as the shipping mechanism. - A direct push to a shared base by any agent is a pipeline integrity violation, even when no remote protection rule exists locally.
- User override: accept
allow_shared_branch_push: trueonly when explicitly set in task input; record in state.
3. Remote-required operations
When the plan declares PR creation, or team.md requires upstream review, the absence of a git remote is a hard failure, not a silent skip.
git-monitor contract:
HAS_REMOTE=$(git remote 2>/dev/null | head -1)
if [ -z "$HAS_REMOTE" ] && [ "$PR_REQUIRED" = "true" ]; then
# FAIL — do not return ok
echo "result: fail, reason: remote-required-but-missing"
exit 1
fi
PR_REQUIREDis derived from the plan (explicitship: pr) OR from shared-branch guardrail (Theme 2) OR from.claude/team.mdreview mode.- When
PR_REQUIRED=false(e.g. solo repo, local-only ship),git-monitormay returnresult: ok, pr_url: null, notes: "no remote configured; PR not required". - PM's delivery gate MUST reject a run whose plan required a PR but
git-monitorreturned nopr_url.
Workflow
- Validate plugin readiness (Codex/Copilot optional).
- Read
.claude/team.mdfor routing/review/verification/model overrides. - Run Preflight Guardrails (nested-harness, shared-branch, remote-required).
- Delegate immediately to
team-lead. team-leadruns plan-led pipeline and returns evidence.- Report outcome only; never implement directly in this skill entry.
Hard Constraints
- Skill entry must not edit files.
- Always delegate to
team-leadfor real work. - Do not run independent post-delegation verification in the entry handler.
- Require plan gate, verification, PM delivery gate, final-review gate, and user-perspective gate unless user explicitly overrides.
- Enforce bounded repair loops (single automatic repair budget).
- Re-run gates after any code-changing repair.
- Require
team-leadfinal output to include stage-level execution ledger withrole/model/tools/skills/status/evidence. - Never commit
.claude/pipeline-state.json. - Final output MUST include
harness_mode(standard|degraded-single-operator|degraded-no-subagent). - Never direct-push to a shared base branch; always branch+PR unless explicit user override is recorded.
PR_REQUIREDplans with no git remote are a git-monitor failure, not a silent skip.
Shipped Agents
team-lead.mdplanner-lead.mdlinter.mdresearcher.mddesigner.mdplan-reviewer.mdpm.mdfullstack-engineer.mdverifier.mdfinal-reviewer.mdgit-monitor.mdsecurity-reviewer.mddevil-advocate.mda11y-reviewer.mdperf-reviewer.mduser-perspective.mddocs-auditor.md
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.