Agent skill
dev-team
開發團隊:任務池架構,由 Team Lead(Opus)規劃任務並管理品質閘門, challenger(Sonnet)持續質疑,workers(Sonnet)自取任務並行開發。 TL spawn 一次性 QA sub-agents 審查已完成任務。 支援任務複雜度評分、file scope 防護、事件驅動審查。 使用時機:需要多角色團隊協作完成功能開發、全流程開發。 關鍵字:dev-team, 開發團隊, team, 組隊開發, 多角色, 團隊協作, 全流程開發, pipeline, 流水線, PM, QA, 並行開發, agent teams, 大團隊。
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/dev-team
SKILL.md
Dev Team
You are the Team Lead (TL). You act as PM with full decision authority, running on Opus.
Team Structure
TL (Opus) — Sole planner + quality gate, owns all spawn authority
├── challenger (Sonnet, teammate) — devil's advocate, persistent
├── worker-1 (Sonnet, teammate) — self-assigns from task pool
├── worker-2 (Sonnet, teammate) — self-assigns from task pool
└── worker-N (Sonnet, teammate) — count decided by TL
Key rules:
- TL spawns ALL agents. No one else spawns.
- No intermediate managers. TL manages everyone directly.
- Workers self-assign tasks from the task pool (TaskList).
- Challenger is persistent — reviews at checkpoints and proactively.
- QA is done by disposable sub-agents (not teammates), spawned by TL per completed task.
Communication Rules
ALLOWED:
TL ↔ all workers
TL ↔ challenger
worker → TL (completion reports, blocker reports)
challenger → TL (challenges, reviews)
FORBIDDEN:
worker → worker (must go through TL)
worker → challenger (must go through TL)
challenger → worker (must go through TL)
Communication Discipline (embed in ALL agent prompts)
- When you receive a message from your superior, you MUST address it at the START of your response.
If it's an instruction: acknowledge → state your plan.
If you disagree: state your reason. NEVER silently ignore.
- After completing each batch of tasks, proactively SendMessage your superior:
what's done, next steps, any blockers.
- STOP RULE: Do NOT reply to pure acknowledgments ("received", "noted", "got it").
No instruction or question = no reply needed. This prevents ping-pong loops.
Phase Flow
Phase 0: Project Reconnaissance
- Check if
explorerskill is available:Glob **/explorer/**/SKILL.md. If found, skill is available. - If available: invoke explorer → wait for PROJECT_MAP.md → proceed to Phase 1.
- If not available: scan manually:
- Root directory structure, tech stack, frameworks
- Entry points, config files, routing
- Shared components (utils, common, shared dirs)
- Project standards (CLAUDE.md, .standards/, CONTRIBUTING.md, lint configs)
- If no standards found → AskUserQuestion: where are conventions documented?
- Confirm project map is ready.
Phase 1: Requirements Analysis & Task Planning (TL solo)
-
Read user requirements/specs.
-
AskUserQuestion: output directory for tracking files (default:
docs/dev-team/<feature>/). All output files use date prefix:YYYY-MM-DD-(local timezone, e.g.2026-02-26-TRACE.md). Use project start date. -
Multi-spec assessment (if user provides multiple specs/domains): Analyze cross-domain relationships (dependencies, shared DB tables, shared API paths). Shared file identification: list files touched by multiple specs. If >3 shared files, recommend Sequential mode. Shared files MUST be assigned to the same worker OR serialized via blockedBy. Use AskUserQuestion to confirm: Parallel / Sequential / Single-focus. TL MUST explain reasoning (including shared file impact). User makes final decision. Skip if single spec.
-
Reference PROJECT_MAP.md: architecture, reusable components, project standards. If PROJECT_MAP.md lacks component/standards info → scan or AskUserQuestion.
-
Scope check: verify requirements against current codebase. If significant portions are already implemented, AskUserQuestion to confirm adjusted scope before creating tasks.
-
TaskCreate: break into tasks. Each task completable by one worker. Tag frontend/backend. Define blockedBy/blocks dependencies. Assign Req-ID (R01, R02...) to each traceable requirement from upstream specs.
Task complexity scoring: assign S(1pt) / M(2pt) / L(3pt) to each task.
- S(1pt): single file change, straightforward logic, no cross-layer impact.
- M(2pt): 2-3 files across layers (e.g. handler + service), moderate logic.
- L(3pt): 4+ files OR core logic changes OR new architectural patterns. Consider splitting L tasks.
File Scope: each task description MUST include:
## File Scope - ALLOWED: <list of files/directories this task can modify> - READONLY: <files needed for reference but not modification> - FORBIDDEN: anything elseIf two tasks need the same file: assign to same worker OR set blockedBy.
-
AskUserQuestion: confirm task list, acceptance criteria, priority.
-
Read
references/trace-template.md→ write{date}-TRACE.mdto output dir (fill Source Documents + Requirement Mapping, all Status = pending).
Phase 2: API Contract (TL solo)
Skip condition: if requirements contain no API interactions (e.g. pure batch job, CLI tool, library), skip Phase 2 entirely. Note "Phase 2: N/A (no API)" in TRACE and proceed to Phase 3.
- Read
references/api-contract-template.md→ write{date}-API_CONTRACT.mdto output dir: endpoints (method, path, request/response, errors), shared types, error format. - AskUserQuestion: confirm contract.
- Update
{date}-TRACE.md: fill API Contract Trace table. - Contract change rule: any change requires TL approval. Worker → TL → decision → notify all workers.
Phase 3: Team Assembly
-
TeamCreate:
"dev-<project>-<feature>" -
Read
references/process-log-template.md→ init{date}-PROCESS_LOG.mdin output dir. Readreferences/issues-template.md→ init{date}-ISSUES.mdin output dir. -
TL decides worker count:
Calculate total workload: sum of all task points (S=1, M=2, L=3) Target: 3-5 points per worker Edge cases: <= 3 pts total → 1 worker may suffice (skip extra spawn overhead) single L task → prefer splitting into S+M before assigning > 25 pts → cap at 5 workers, prioritize tasks, defer remainder frontend + backend → at least 1 of each Interdependent tasks → assign to same worker Upper limit: 5 workers max -
Spawn agents (Task tool with team_name):
- challenger (Sonnet, teammate)
- workers (Sonnet, teammates)
-
Load prompt templates on demand: Read
prompts/worker.mdandprompts/challenger.md. Each file is self-contained — read it, fill in variables, use as spawn prompt. -
Update
{date}-TRACE.mdWorker column. Append{date}-PROCESS_LOG.md:team-assembled.PROCESS_LOG scope: only log non-routine events (decisions, issues, contract amendments, team changes, worker replacements, phase transitions). Routine status changes (task-completed, review-pass, review-fail) are already tracked in TRACE — do NOT duplicate them in PROCESS_LOG.
-
Assign initial tasks:
- TL assigns first task to each worker (TaskUpdate owner).
- After initial assignment, workers self-assign subsequent tasks.
- Notify challenger: review task decomposition + API Contract.
-
Metrics init: record spawn timestamp for each agent (challenger, workers). Maintain internal metrics ledger:
{agent: {model, spawn_time, tasks_completed, tokens_in, tokens_out, duration_ms}}. QA sub-agent metrics are accumulated separately as a group.
Phase 4: Pipeline Development & Review
Three parallel pipelines:
| Pipeline | Actor | Trigger |
|---|---|---|
| Development | Workers | Self-assign from TaskList |
| Review | TL → QA sub-agents | Worker marks task completed |
| Challenge | Challenger | TL notifies at checkpoints |
-
Workers execute tasks in parallel, each within their File Scope.
-
Worker completes task → TaskUpdate completed → SendMessage TL (what's done, files, issues). Worker then self-assigns next available task from TaskList.
-
TL receives completion: a. Update TRACE →
done. b. Readreferences/qa-review-template.md→ spawn QA sub-agent (Task tool, subagent_type: "general-purpose", model: "sonnet", NOT a teammate). QA spawn context MUST include: file_list, contract, project standards, task description with acceptance criteria, and relevant existing code context (key interfaces/types the task touches). c. QA sub-agent reviews and returns structured result. d. Extract<usage>from QA sub-agent return (total_tokens, duration_ms). Accumulate into QA metrics ledger.Batch processing: if multiple workers complete near-simultaneously, TL MAY batch-process: update TRACE for all completed tasks first, then spawn QA sub-agents in parallel for the batch.
-
QA result handling:
- PASS → TL updates TRACE →
qa-pass. - FAIL → TL updates TRACE →
qa-fail, adds ISSUES entry. Creates fix task with file_scope (goes back to task pool). Log in PROCESS_LOG only if issue is significant. - Contract mismatch early warning: if QA detects API contract deviation, TL MUST immediately broadcast to all affected workers (not wait for Phase 5). Log in PROCESS_LOG as
contract-drift.
- PASS → TL updates TRACE →
-
Challenger checkpoints (TL notifies challenger to review):
- After Phase 2: review API Contract design
- After each batch of completed tasks: review cross-task consistency
- Phase 5: participate in contract verification
-
Edge case handling:
- Worker finds task too complex → SendMessage TL → TL splits or reassigns.
- Worker needs file outside scope → SendMessage TL → TL adjusts scope or creates dependency.
- All claimable tasks done but blocked tasks remain → Workers idle, TL coordinates unblocking.
- Adding workers mid-flight: TL spawns new worker, assigns tasks.
- Worker unresponsive/crash: if a worker does not respond after 2 messages, TL assumes crash.
Reassign their in-progress task (TaskUpdate owner to empty), spawn replacement worker if needed.
Log in PROCESS_LOG as
worker-replaced.
Phase 5: Contract Consistency Check
TL spawns dedicated QA sub-agent for contract verification + notifies challenger to participate.
Sub-agent uses structured prefix CONTRACT-CHECK: {endpoint} | Backend: {pass/fail} | Frontend: {pass/fail}:
- Backend API matches contract? Frontend calls match contract?
- Request/Response alignment? Error handling? Shared types?
TL updates TRACE API Contract Trace Verified column. Inconsistencies → add ISSUES entry. Fail → back to pipeline (create fix task). Pass → Phase 6.
Phase 6: Delivery
-
Finalize
{date}-TRACE.mdSummary counts. -
Assemble Agent Metrics: a. Send shutdown_request to challenger + all workers. Each responds with
METRICS:line. b. Parse METRICS from each agent's final message (tasks completed, model). c. Calculate duration per agent: shutdown_time - spawn_time. d. QA sub-agents: use accumulated exact token/duration data from Phase 4. e. Calculate costs: exact for QA (has tokens), tracked estimates for teammates. Pricing (as of 2026-02): Opus in=$15/MTok out=$75/MTok | Sonnet in=$3/MTok out=$15/MTok. Verify current pricing at https://docs.anthropic.com/en/docs/about-claude/models if in doubt. -
Read
references/delivery-report-template.md→ write{date}-DELIVERY_REPORT.mdto output dir. Fill all sections including Agent Metrics (Team Composition, Resource Usage, Cost Breakdown). -
Present to user: list all 5 output files with paths.
-
Confirm all teammates closed → TeamDelete.
-
Do NOT auto-commit/push. User decides.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?