mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-03-18 18:48:48 +08:00
- SKILL.md: coordinator entry uses `@roles/coordinator/role.md` strong reference - coordinator/role.md: command delegations use `@commands/xxx.md` prefix - coordinator Phase 2: resolve project_root + skill_root via `Bash pwd` before TeamCreate - Worker Spawn Template: role_spec uses absolute path from session skill_root - skills_lib/team-skill-designer: document Pattern 10 + add quality checks Covers 17 team skills: team-lifecycle-v4, team-frontend, team-ultra-analyze, team-ux-improve, team-arch-opt, team-brainstorm, team-review, team-uidesign, team-issue, team-iterdev, team-perf-opt, team-planex, team-quality-assurance, team-testing, team-tech-debt, team-coordinate, team-roadmap-dev, team-frontend-debug Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
138 lines
4.8 KiB
Markdown
138 lines
4.8 KiB
Markdown
---
|
|
name: team-testing
|
|
description: Unified team skill for testing team. Progressive test coverage through Generator-Critic loops, shared memory, and dynamic layer selection. Triggers on "team testing".
|
|
allowed-tools: TeamCreate(*), TeamDelete(*), SendMessage(*), TaskCreate(*), TaskUpdate(*), TaskList(*), TaskGet(*), Agent(*), AskUserQuestion(*), Read(*), Write(*), Edit(*), Bash(*), Glob(*), Grep(*)
|
|
---
|
|
|
|
# Team Testing
|
|
|
|
Orchestrate multi-agent test pipeline: strategist -> generator -> executor -> analyst. Progressive layer coverage (L1/L2/L3) with Generator-Critic loops for coverage convergence.
|
|
|
|
## Architecture
|
|
|
|
```
|
|
Skill(skill="team-testing", args="task description")
|
|
|
|
|
SKILL.md (this file) = Router
|
|
|
|
|
+--------------+--------------+
|
|
| |
|
|
no --role flag --role <name>
|
|
| |
|
|
Coordinator Worker
|
|
roles/coordinator/role.md roles/<name>/role.md
|
|
|
|
|
+-- analyze -> dispatch -> spawn workers -> STOP
|
|
|
|
|
+-------+-------+-------+-------+
|
|
v v v v
|
|
[strat] [gen] [exec] [analyst]
|
|
team-worker agents, each loads roles/<role>/role.md
|
|
```
|
|
|
|
## Role Registry
|
|
|
|
| Role | Path | Prefix | Inner Loop |
|
|
|------|------|--------|------------|
|
|
| coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | — | — |
|
|
| strategist | [roles/strategist/role.md](roles/strategist/role.md) | STRATEGY-* | false |
|
|
| generator | [roles/generator/role.md](roles/generator/role.md) | TESTGEN-* | true |
|
|
| executor | [roles/executor/role.md](roles/executor/role.md) | TESTRUN-* | true |
|
|
| analyst | [roles/analyst/role.md](roles/analyst/role.md) | TESTANA-* | false |
|
|
|
|
## Role Router
|
|
|
|
Parse `$ARGUMENTS`:
|
|
- Has `--role <name>` -> Read `roles/<name>/role.md`, execute Phase 2-4
|
|
- No `--role` -> `@roles/coordinator/role.md`, execute entry router
|
|
|
|
## Shared Constants
|
|
|
|
- **Session prefix**: `TST`
|
|
- **Session path**: `.workflow/.team/TST-<slug>-<date>/`
|
|
- **Team name**: `testing`
|
|
- **CLI tools**: `ccw cli --mode analysis` (read-only), `ccw cli --mode write` (modifications)
|
|
- **Message bus**: `mcp__ccw-tools__team_msg(session_id=<session-id>, ...)`
|
|
|
|
## Worker Spawn Template
|
|
|
|
Coordinator spawns workers using this template:
|
|
|
|
```
|
|
Agent({
|
|
subagent_type: "team-worker",
|
|
description: "Spawn <role> worker",
|
|
team_name: "testing",
|
|
name: "<role>",
|
|
run_in_background: true,
|
|
prompt: `## Role Assignment
|
|
role: <role>
|
|
role_spec: <skill_root>/roles/<role>/role.md
|
|
session: <session-folder>
|
|
session_id: <session-id>
|
|
team_name: testing
|
|
requirement: <task-description>
|
|
inner_loop: <true|false>
|
|
|
|
Read role_spec file (@<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.
|
|
Execute built-in Phase 1 (task discovery) -> role Phase 2-4 -> built-in Phase 5 (report).`
|
|
})
|
|
```
|
|
|
|
## User Commands
|
|
|
|
| Command | Action |
|
|
|---------|--------|
|
|
| `check` / `status` | View pipeline status graph |
|
|
| `resume` / `continue` | Advance to next step |
|
|
| `revise <TASK-ID>` | Revise specific task |
|
|
| `feedback <text>` | Inject feedback for revision |
|
|
|
|
## Completion Action
|
|
|
|
When pipeline completes, coordinator presents:
|
|
|
|
```
|
|
AskUserQuestion({
|
|
questions: [{
|
|
question: "Testing pipeline complete. What would you like to do?",
|
|
header: "Completion",
|
|
multiSelect: false,
|
|
options: [
|
|
{ label: "Archive & Clean (Recommended)", description: "Archive session, clean up team" },
|
|
{ label: "Keep Active", description: "Keep session for follow-up work" },
|
|
{ label: "Deepen Coverage", description: "Add more test layers or increase coverage targets" }
|
|
]
|
|
}]
|
|
})
|
|
```
|
|
|
|
## Session Directory
|
|
|
|
```
|
|
.workflow/.team/TST-<slug>-<date>/
|
|
├── .msg/messages.jsonl # Team message bus
|
|
├── .msg/meta.json # Session metadata
|
|
├── wisdom/ # Cross-task knowledge
|
|
├── strategy/ # Strategist output
|
|
├── tests/ # Generator output (L1-unit/, L2-integration/, L3-e2e/)
|
|
├── results/ # Executor output
|
|
└── analysis/ # Analyst output
|
|
```
|
|
|
|
## Specs Reference
|
|
|
|
- [specs/pipelines.md](specs/pipelines.md) — Pipeline definitions and task registry
|
|
- [specs/team-config.json](specs/team-config.json) — Team configuration
|
|
|
|
## Error Handling
|
|
|
|
| Scenario | Resolution |
|
|
|----------|------------|
|
|
| Unknown --role value | Error with available role list |
|
|
| Role not found | Error with expected path (roles/<name>/role.md) |
|
|
| CLI tool fails | Worker fallback to direct implementation |
|
|
| GC loop exceeded | Accept current coverage with warning |
|
|
| Fast-advance conflict | Coordinator reconciles on next callback |
|
|
| Completion action fails | Default to Keep Active |
|