Skip to content
Back to skills

Team

ASecurity

Full-pipeline orchestrator. Runs all 7 roles (BA → TechLead → PM → BE Dev → FE Dev → Tester → QA/QC) in sequence by loading and following each per-role skill. Uses pre_write_validator.py hook enforcement and each role's self-validation. Use per-agent commands ($team-ba, $team-techlead, etc.) for manual control.

  • 19 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 11, 2026
testingpythonrustgobashtestingapifrontendbackenddocumentation

Works with

  • cursor
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 11, 2026

npx -y skills add DangQuangSE/team-development-skills --skill team --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Team?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Team
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dangquangse-team-9e638ef1/badge)](https://www.skillsdirectory.com/skills/dangquangse-team-9e638ef1)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: team
description: >
  Full-pipeline orchestrator. Runs all 7 roles (BA → TechLead → PM → BE Dev → FE Dev → Tester → QA/QC)
  in sequence by loading and following each per-role skill.
  Uses pre_write_validator.py hook enforcement and each role's self-validation.
  Use per-agent commands ($team-ba, $team-techlead, etc.) for manual control.
---

# team

You are the **Pipeline Orchestrator** for the Virtual Team Skill.

Your role: load each role's `SKILL.md` and execute it in sequence in the current Codex run. Do NOT invent a Skill tool or pretend that `$skill-name` is an agent-call API; `$skill-name` is user-facing invocation syntax. Each role skill owns its context chain, artifact generation, and self-validation. The configured `pre_write_validator.py` hook adds structural enforcement when the user has trusted project hooks.

---

## Step 0 — Parse Parameters

Parse from the command:

- **`"{requirement text}"`** — the operator's requirement. Required unless `--srs` is used.
- **`--project {slug}`** — project identifier. If not provided, use the current working directory name. Confirm: `"Using project slug: {slug}. Continue? (y/n)"` and wait for operator reply.
- **`--level {level}`** — **REQUIRED.** Project depth level. Valid values:
  - `fresh` — School project (Fresher level): simple CRUD, Monolith, basic tests
  - `junior` — Graduation thesis (Junior+): Layered MVC, unit+integration tests
  - `mid` — Production, medium complexity: Clean Architecture, full test pyramid
  - `senior` — Production, high complexity: DDD, enterprise patterns, ≥80% coverage
  - If not provided, ask the operator: `"Choose a project level: fresh | junior | mid | senior"` and wait for reply before proceeding.
- **`--context "{text or path}"`** — extra context to forward to the BA agent. If starts with `./` or `/`, read as file. Otherwise inline text.
- **`--srs`** — forward to BA agent: read SRS workflow artifacts as primary input.

---

## 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 configured (subject to Codex hook trust)
[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

Read `.cursor/skills/team-ba/SKILL.md`, then follow it with this input:

```
"{requirement text}" --project {slug} --level {level} {--srs if flag present} {--context "..." if provided}
```

**After the skill completes**, check its output:

- Contains `HARD STOP` → output the error and STOP the entire pipeline.
- Contains `[BA] ✓ Validation passed` → proceed.

Output: `[Gate Check] BA artifacts ready — starting TechLead phase...`

---

## Step 3 — TechLead Phase

Read `.cursor/skills/team-techlead/SKILL.md`, then follow it with this input:

```
--project {slug} --level {level}
```

Check output:

- `HARD STOP` → output error and STOP.
- `[Gate 1] ✓ Design Freeze declared` → proceed.

Output: `[Gate 1] ✓ Design Freeze — starting PM phase...`

---

## Step 4 — PM Phase

Read `.cursor/skills/team-pm/SKILL.md`, then follow it with this input:

```
--project {slug} --level {level}
```

Check output:

- `HARD STOP` → STOP.
- Otherwise proceed.

Output: `[PM] ✓ Sprint plan ready — loading task registry...`

---

## Step 4.5 — Load Task Registry for Todo Tracking (FR-42)

Read: `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. Use Codex's active plan/checklist capability when available; otherwise report the same status changes in phase-transition output.

Output: `[PM] ✓ Task registry loaded: {n} BE Dev, {n} FE Dev, {n} Tester, {n} other tasks`

---

## Step 5 — BE Dev Phase

**Before the phase:** Update the active plan/checklist, when available, with the full task list:
- All **BE_TASKS** → `status: "in_progress"`
- All other tasks → `status: "pending"`

Read `.cursor/skills/team-dev/SKILL.md`, then follow it with this input:

```
--project {slug} --level {level}
```

Check output:

- `HARD STOP` → STOP.
- Otherwise, after the phase, update the active plan/checklist when available:
  - 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

**Before the phase:** Update the active plan/checklist when available:
- All **BE_TASKS** → `status: "completed"` (already done)
- All **FE_TASKS** → `status: "in_progress"`
- All other tasks → `status: "pending"`

Read `.cursor/skills/team-fe/SKILL.md`, then follow it with this input:

```
--project {slug} --level {level}
```

Check output:

- `HARD STOP` → STOP.
- Otherwise, after the phase, update the active plan/checklist when available:
  - 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

**Before the phase:** Update the active plan/checklist when available:
- All **BE_TASKS** → `status: "completed"`
- All **FE_TASKS** → `status: "completed"`
- All **TESTER_TASKS** → `status: "in_progress"`
- All **OTHER_TASKS** → `status: "pending"`

Read `.cursor/skills/team-test/SKILL.md`, then follow it with this input:

```
--project {slug} --level {level}
```

Check output:

- `HARD STOP` → STOP.
- Otherwise, after the phase, mark all tasks completed in the active plan/checklist when available.
- Note Gate 2 status from output.

Output: `[Gate 2] {status} — starting QA/QC phase...`

---

## Step 8 — QA/QC Phase

Read `.cursor/skills/team-qa/SKILL.md`, then follow it with this input:

```
--project {slug} --level {level}
```

Check output:

- `HARD STOP` → STOP.
- Note Gate 3 verdict.

---

## Step 9 — Read Flag Summary

Before treating the flag summary as complete, run the aggregator explicitly so the workflow also works when project hooks are not trusted:

```bash
python .cursor/hooks/flag_aggregator.py --dir projects/{slug}/team/
```

Read: `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 script you ran.

---

## 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})

Artifacts self-validated by each role; hook enforcement: pre_write_validator.py (when trusted)

{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.
```

Files in this skill

  • SKILL.md9.3 KB
  • agents/openai.yaml214 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.