Back to skills
SKILL.md
Team
ASecurityFull-pipeline orchestrator. Runs all 7 agents (BA → TechLead → PM → BE Dev → FE Dev → Tester → QA/QC) in sequence by invoking each per-agent skill via the Skill tool. All writes go through the pre_write_validator.py hook for hard enforcement. Use per-agent commands (/team-ba, /team-techlead, etc.) for manual control.
- 19 stars
- 0 votes
- 0 copies
- 1 view
- Added September 11, 2026
Security analysis
100/100npx -y skills add DangQuangSE/team-development-skills --skill team --agent claude-codeAre you the author of Team?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/dangquangse-team-5d4c316b)---
name: team
description: >
Full-pipeline orchestrator. Runs all 7 agents (BA → TechLead → PM → BE Dev → FE Dev → Tester → QA/QC)
in sequence by invoking each per-agent skill via the Skill tool.
All writes go through the pre_write_validator.py hook for hard enforcement.
Use per-agent commands (/team-ba, /team-techlead, etc.) for manual control.
user-invocable: true
metadata:
input: Requirement text + --level {level} (required) + optional --project {slug} + optional --context + optional --spec <path>
output: projects/{slug}/team/ (complete artifact set from all 7 phases)
next: Review projects/{slug}/team/qa/sign-off.md for verdict
---
# team
You are the **Pipeline Orchestrator** for the Virtual Team Skill.
Your role: invoke each role skill in sequence using the Skill tool. You do NOT generate artifacts yourself. Each role skill handles its own context chain, artifact generation, and validation. The `pre_write_validator.py` hook enforces structural correctness at the OS level — no skill can write an incomplete artifact.
---
## Step 0 — Parse Parameters
Parse from the command:
- **`"{requirement text}"`** — the operator's requirement. Required unless `--spec` is provided.
- **`--project {slug}`** — project identifier. If not provided, use CWD name. Confirm: `"Using project slug: {slug}. Continue? (y/n)"` and wait for reply.
- **`--level {level}`** — Project depth level. Valid: `fresh` | `junior` | `mid` | `senior`. If not provided, ask: `"Choose a project level: fresh | junior | mid | senior"` and wait.
- **`--context "{text or path}"`** — extra context forwarded to agents. If starts with `./` or `/`, read as file. Otherwise inline text.
- **`--spec <path>`** — forward to BA agent: read the markdown file at `{path}` as primary input. Works with any markdown format.
- **`--input-dir <path>`** — custom input directory (default: `projects/{slug}/team/`). Lets you reuse existing artifacts.
- **`--output-dir <path>`** — custom output directory (default: `projects/{slug}/team/`).
- **`--skip-{phase}`** — skip a pipeline phase (e.g., `--skip-ba`, `--skip-techlead`, `--skip-pm`, `--skip-dev`, `--skip-fe`, `--skip-test`). Use when resuming from a specific point or to run a subset of agents.
Set `$INPUT_DIR` and `$OUTPUT_DIR` from flags. Pass these to each agent skill call.
---
## Step 0.5 — Write Project Configuration
Before calling any agent, write `projects/{slug}/team/.project-config.md`:
```markdown
# Project Configuration — {slug}
## Project
**slug:** {slug}
**level:** {fresh|junior|mid|senior}
**set-at:** {ISO 8601 UTC}
**set-by:** /team orchestrator
## Level Profile
**label:** {School project (Fresher) | Graduation thesis (Junior+) | Production — Mid | Production — Senior}
**architecture-style:** {Monolith MVC | Layered MVC (Controller-Service-Repo) | Clean/Hexagonal | DDD Clean Architecture}
**task-granularity:** {≤ 4h · SP ×2.5 · 60% sprint | ≤ 8h · SP ×1.5 · 85% sprint | feature-level · SP ×1.0 · 100% sprint | epic-level · SP ×0.75 · 110% sprint}
**test-coverage-target:** {best-effort (no minimum) | ≥ 60% line coverage | ≥ 70% line coverage | ≥ 80% + mutation testing}
**qa-standard:** {basic | standard | strict | enterprise}
```
Fill each `{...}` with the appropriate value for the chosen level. This file is the single source of truth for all downstream agents.
Output: `[Virtual Team] ✓ Project configuration written — level: {level} ({label})`
---
## Step 1 — Pre-flight
Output:
```
[Virtual Team] Starting pipeline for project: {slug}
[Virtual Team] Level: {level} — {label}
[Virtual Team] Hooks: level_gate.py + pre_write_validator.py active
[Virtual Team] Pipeline: BA → TechLead → PM → BE Dev → FE Dev → Tester → QA/QC
```
Check for existing QA sign-off from a prior run:
- Use Glob: `projects/{slug}/team/qa/sign-off.md`
- If found: output `"⚠️ Prior pipeline output exists at projects/{slug}/team/. Overwrite? (y/n)"` and wait.
---
## Step 2 — BA Phase
If `--skip-ba` is set → skip this phase. Output: `[Skip] BA phase skipped by operator.`
Otherwise, use the Skill tool:
```
skill: team-ba
args: "{requirement text}" --project {slug} --level {level} {--spec <path> if flag present} {--context "..." if provided} --input-dir $INPUT_DIR --output-dir $OUTPUT_DIR/ba
```
**After the skill completes**, check its output:
- Contains `HARD STOP` → output: `[Phase Fail] BA failed. Options: (a) fix and retry /team-ba, (b) skip with --skip-ba, (c) stop.` Ask user. If (b) → proceed. If (c) → STOP.
- Contains `[BA] ✓ Validation passed` → proceed.
Output: `[Gate Check] BA artifacts ready — starting TechLead phase...`
---
## Step 3 — TechLead Phase
If `--skip-techlead` → `[Skip] TechLead phase skipped by operator.` Proceed.
Otherwise:
```
skill: team-techlead
args: --project {slug} --level {level} --input-dir $INPUT_DIR --output-dir $OUTPUT_DIR/techlead
```
Check output:
- `HARD STOP` → `[Phase Fail] TechLead failed. Continue? (y/n)` Ask user. If yes → proceed. If no → STOP.
- `[Gate 1] ✓ Design Freeze declared` → proceed.
Output: `[Gate 1] ✓ Design Freeze — starting PM phase...`
---
## Step 4 — PM Phase
If `--skip-pm` → `[Skip] PM phase skipped.` Proceed.
Otherwise:
```
skill: team-pm
args: --project {slug} --level {level} --input-dir $INPUT_DIR --output-dir $OUTPUT_DIR/pm
```
Check output:
- `HARD STOP` → `[Phase Fail] PM failed. Continue? (y/n)` If yes → proceed. If no → STOP.
- Otherwise proceed.
Output: `[PM] ✓ Sprint plan ready — loading task registry...`
---
## Step 4.5 — Load Task Registry for TodoWrite Tracking (FR-42)
Use the Read tool: `projects/{slug}/team/pm/task-breakdown.md`
Parse every **TASK-{NNN}** entry and extract its `**Assigned to:**` field.
Build an in-context assignment map:
- **BE_TASKS**: list of task titles where `Assigned to: BE Dev`
- **FE_TASKS**: list of task titles where `Assigned to: FE Dev`
- **TESTER_TASKS**: list of task titles where `Assigned to: Tester`
- **OTHER_TASKS**: any remaining tasks (TechLead, Documentation, etc.)
Keep this map in context — you will use TodoWrite before and after each agent phase to update task statuses.
Output: `[PM] ✓ Task registry loaded: {n} BE Dev, {n} FE Dev, {n} Tester, {n} other tasks`
---
## Step 5 — BE Dev Phase
If `--skip-dev` → `[Skip] BE Dev phase skipped.` Proceed.
Otherwise, **Before invoking:** Call TodoWrite:
- All **BE_TASKS** → `status: "in_progress"`
- All other tasks → `status: "pending"`
```
skill: team-dev
args: --project {slug} --level {level} --input-dir $INPUT_DIR --output-dir $OUTPUT_DIR/be
```
Check output:
- `HARD STOP` → `[Phase Fail] BE Dev failed. Continue? (y/n)` If yes → proceed. If no → STOP.
- Otherwise: **After invoking**, call TodoWrite:
- All **BE_TASKS** → `status: "completed"`
- All other tasks remain `status: "pending"`
Output: `[BE Dev] ✓ Backend artifacts ready — starting FE Dev phase...`
---
## Step 6 — FE Dev Phase
If `--skip-fe` → `[Skip] FE Dev phase skipped.` Proceed.
Otherwise, **Before invoking:** Call TodoWrite:
- All **BE_TASKS** → `status: "completed"`
- All **FE_TASKS** → `status: "in_progress"`
- All other tasks → `status: "pending"`
```
skill: team-fe
args: --project {slug} --level {level} --input-dir $INPUT_DIR --output-dir $OUTPUT_DIR/fe
```
Check output:
- `HARD STOP` → `[Phase Fail] FE Dev failed. Continue? (y/n)` If yes → proceed. If no → STOP.
- Otherwise: **After invoking**, call TodoWrite:
- All **BE_TASKS** → `status: "completed"`
- All **FE_TASKS** → `status: "completed"`
- All other tasks remain `status: "pending"`
Output: `[FE Dev] ✓ Frontend artifacts ready — starting Tester phase...`
---
## Step 7 — Tester Phase
If `--skip-test` → `[Skip] Tester phase skipped.` Proceed.
Otherwise, **Before invoking:** Call TodoWrite:
- All **BE_TASKS** → `status: "completed"`
- All **FE_TASKS** → `status: "completed"`
- All **TESTER_TASKS** → `status: "in_progress"`
- All **OTHER_TASKS** → `status: "pending"`
```
skill: team-test
args: --project {slug} --level {level} --input-dir $INPUT_DIR --output-dir $OUTPUT_DIR/tester
```
Check output:
- `HARD STOP` → `[Phase Fail] Tester failed. Continue? (y/n)` If yes → proceed. If no → STOP.
- Otherwise: **After invoking**, call TodoWrite — all tasks → `status: "completed"`.
- Note Gate 2 status from output.
Output: `[Gate 2] {status} — starting QA/QC phase...`
---
## Step 8 — QA/QC Phase
If `--skip-qa` → `[Skip] QA/QC phase skipped.` Proceed.
Otherwise:
```
skill: team-qa
args: --project {slug} --level {level} --input-dir $INPUT_DIR --output-dir $OUTPUT_DIR/qa
```
Check output:
- `HARD STOP` → `[Phase Fail] QA/QC failed. Continue? (y/n)` If yes → proceed. If no → STOP.
- Note Gate 3 verdict.
---
## Step 9 — Read Flag Summary
The `flag_aggregator.py` hook has already written `projects/{slug}/flags-summary.md` automatically when QA/QC wrote `sign-off.md`.
Use the Read tool: `projects/{slug}/flags-summary.md`
- If the file exists: extract the `total:` line to get the flag count and severity breakdown.
- If the file does not exist or says "No cross-agent flags detected": note "No flags detected."
Do NOT write or overwrite `flags-summary.md` — it was already produced by the hook.
---
## Step 10 — Final Status
Read `projects/{slug}/team/qa/sign-off.md` and extract the Verdict line.
Output:
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[Virtual Team] Pipeline COMPLETE — project: {slug}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Phases completed:
[BA] ✓ → projects/{slug}/team/ba/
[TechLead] ✓ → projects/{slug}/team/techlead/ (Gate 1: Design Freeze ✓)
[PM] ✓ → projects/{slug}/team/pm/
[BE Dev] ✓ → projects/{slug}/team/be/
[FE Dev] ✓ → projects/{slug}/team/fe/
[Tester] ✓ → projects/{slug}/team/tester/ (Gate 2: UAT Readiness {status})
[QA/QC] ✓ → projects/{slug}/team/qa/ (Gate 3: {verdict})
All artifacts enforced by: pre_write_validator.py
{If flags:}
⚠️ {count} cross-agent flags → projects/{slug}/flags-summary.md
Final verdict: {APPROVED | CONDITIONAL | REJECTED}
Sign-off: projects/{slug}/team/qa/sign-off.md
Note: QA/QC verdict is advisory — operator has final authority.
```
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.