mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-03-26 19:56:37 +08:00
feat: migrate all codex team skills from spawn_agents_on_csv to spawn_agent + wait_agent architecture
- Delete 21 old team skill directories using CSV-wave pipeline pattern (~100+ files) - Delete old team-lifecycle (v3) and team-planex-v2 - Create generic team-worker.toml and team-supervisor.toml (replacing tlv4-specific TOMLs) - Convert 19 team skills from Claude Code format (Agent/SendMessage/TaskCreate) to Codex format (spawn_agent/wait_agent/tasks.json/request_user_input) - Update team-lifecycle-v4 to use generic agent types (team_worker/team_supervisor) - Convert all coordinator role files: dispatch.md, monitor.md, role.md - Convert all worker role files: remove run_in_background, fix Bash syntax - Convert all specs/pipelines.md references - Final state: 20 team skills, 217 .md files, zero Claude Code API residuals Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# Code Review
|
||||
|
||||
4-dimension code review for implementation quality.
|
||||
|
||||
## Inputs
|
||||
|
||||
- Plan file (`{session}/plan/plan.json`)
|
||||
- Implementation discovery files (`{session}/discoveries/IMPL-*.json`)
|
||||
- Test results (if available)
|
||||
|
||||
## Gather Modified Files
|
||||
|
||||
Read upstream context from file system (no team_msg):
|
||||
|
||||
```javascript
|
||||
// 1. Read plan for file list
|
||||
const plan = JSON.parse(Read(`{session}/plan/plan.json`))
|
||||
const plannedFiles = plan.tasks.flatMap(t => t.files)
|
||||
|
||||
// 2. Read implementation discoveries for actual modified files
|
||||
const implFiles = Glob(`{session}/discoveries/IMPL-*.json`)
|
||||
const modifiedFiles = new Set()
|
||||
for (const f of implFiles) {
|
||||
const discovery = JSON.parse(Read(f))
|
||||
for (const file of (discovery.files_modified || [])) {
|
||||
modifiedFiles.add(file)
|
||||
}
|
||||
}
|
||||
|
||||
// 3. Union of planned + actually modified files
|
||||
const allFiles = [...new Set([...plannedFiles, ...modifiedFiles])]
|
||||
```
|
||||
|
||||
## Dimensions
|
||||
|
||||
| Dimension | Critical Issues |
|
||||
|-----------|----------------|
|
||||
| Quality | Empty catch, any casts, @ts-ignore, console.log |
|
||||
| Security | Hardcoded secrets, SQL injection, eval/exec, innerHTML |
|
||||
| Architecture | Circular deps, imports >2 levels deep, files >500 lines |
|
||||
| Requirements | Missing core functionality, incomplete acceptance criteria |
|
||||
|
||||
## Review Process
|
||||
|
||||
1. Gather modified files from plan.json + discoveries/IMPL-*.json
|
||||
2. Read each modified file
|
||||
3. Score per dimension (0-100%)
|
||||
4. Classify issues by severity (Critical/High/Medium/Low)
|
||||
5. Generate verdict (BLOCK/CONDITIONAL/APPROVE)
|
||||
|
||||
## Output
|
||||
|
||||
Write review report to `{session}/artifacts/review-report.md`:
|
||||
- Per-dimension scores
|
||||
- Issue list with file:line references
|
||||
- Verdict with justification
|
||||
- Recommendations (if CONDITIONAL)
|
||||
@@ -0,0 +1,44 @@
|
||||
# Spec Quality Review
|
||||
|
||||
5-dimension spec quality gate with discuss protocol.
|
||||
|
||||
## Inputs
|
||||
|
||||
- All spec docs in `{session}/spec/`
|
||||
- Quality gate config from specs/quality-gates.md
|
||||
|
||||
## Dimensions
|
||||
|
||||
| Dimension | Weight | Focus |
|
||||
|-----------|--------|-------|
|
||||
| Completeness | 25% | All sections present with substance |
|
||||
| Consistency | 25% | Terminology, format, references uniform |
|
||||
| Traceability | 25% | Goals->Reqs->Arch->Stories chain |
|
||||
| Depth | 25% | AC testable, ADRs justified, stories estimable |
|
||||
|
||||
## Review Process
|
||||
|
||||
1. Read all spec documents from `{session}/spec/`
|
||||
2. Load quality gate thresholds from specs/quality-gates.md
|
||||
3. Score each dimension
|
||||
4. Run cross-document validation
|
||||
5. Generate readiness-report.md + spec-summary.md
|
||||
6. Run DISCUSS-003:
|
||||
- Artifact: `{session}/spec/readiness-report.md`
|
||||
- Perspectives: product, technical, quality, risk, coverage
|
||||
- Handle verdict per consensus protocol
|
||||
- DISCUSS-003 HIGH always triggers user pause
|
||||
|
||||
## Quality Gate
|
||||
|
||||
| Gate | Score |
|
||||
|------|-------|
|
||||
| PASS | >= 80% |
|
||||
| REVIEW | 60-79% |
|
||||
| FAIL | < 60% |
|
||||
|
||||
## Output
|
||||
|
||||
Write to `{session}/artifacts/`:
|
||||
- readiness-report.md: Dimension scores, issue list, traceability matrix
|
||||
- spec-summary.md: Executive summary of all spec docs
|
||||
98
.codex/skills/team-lifecycle-v4/roles/reviewer/role.md
Normal file
98
.codex/skills/team-lifecycle-v4/roles/reviewer/role.md
Normal file
@@ -0,0 +1,98 @@
|
||||
---
|
||||
role: reviewer
|
||||
prefix: REVIEW
|
||||
additional_prefixes: [QUALITY, IMPROVE]
|
||||
inner_loop: false
|
||||
discuss_rounds: [DISCUSS-003]
|
||||
message_types:
|
||||
success_review: review_result
|
||||
success_quality: quality_result
|
||||
fix: fix_required
|
||||
error: error
|
||||
---
|
||||
|
||||
# Reviewer
|
||||
|
||||
Quality review for both code (REVIEW-*) and specifications (QUALITY-*, IMPROVE-*).
|
||||
|
||||
## Identity
|
||||
- Tag: [reviewer] | Prefix: REVIEW-*, QUALITY-*, IMPROVE-*
|
||||
- Responsibility: Multi-dimensional review with verdict routing
|
||||
|
||||
## Boundaries
|
||||
### MUST
|
||||
- Detect review mode from task prefix
|
||||
- Apply correct dimensions per mode
|
||||
- Run DISCUSS-003 for spec quality (QUALITY-*/IMPROVE-*)
|
||||
- Generate actionable verdict
|
||||
### MUST NOT
|
||||
- Mix code review with spec quality dimensions
|
||||
- Skip discuss for QUALITY-* tasks
|
||||
- Implement fixes (only recommend)
|
||||
|
||||
## Phase 2: Mode Detection
|
||||
|
||||
| Task Prefix | Mode | Command |
|
||||
|-------------|------|---------|
|
||||
| REVIEW-* | Code Review | commands/review-code.md |
|
||||
| QUALITY-* | Spec Quality | commands/review-spec.md |
|
||||
| IMPROVE-* | Spec Quality (recheck) | commands/review-spec.md |
|
||||
|
||||
## Phase 3: Review Execution
|
||||
|
||||
Route to command based on detected mode.
|
||||
|
||||
## Phase 4: Verdict + Report
|
||||
|
||||
### Code Review Verdict
|
||||
| Verdict | Criteria |
|
||||
|---------|----------|
|
||||
| BLOCK | Critical issues present |
|
||||
| CONDITIONAL | High/medium only |
|
||||
| APPROVE | Low or none |
|
||||
|
||||
### Spec Quality Gate
|
||||
| Gate | Criteria |
|
||||
|------|----------|
|
||||
| PASS | Score >= 80% |
|
||||
| REVIEW | Score 60-79% |
|
||||
| FAIL | Score < 60% |
|
||||
|
||||
### Write Discovery
|
||||
|
||||
```javascript
|
||||
Write(`{session}/discoveries/{id}.json`, JSON.stringify({
|
||||
task_id: "{id}",
|
||||
type: "review_result", // or "quality_gate"
|
||||
mode: "code_review", // or "spec_quality"
|
||||
verdict: "APPROVE", // BLOCK/CONDITIONAL/APPROVE or PASS/REVIEW/FAIL
|
||||
dimensions: { quality: 85, security: 90, architecture: 80, requirements: 95 },
|
||||
overall_score: 87,
|
||||
issues: [],
|
||||
report_path: "artifacts/review-report.md"
|
||||
}, null, 2))
|
||||
```
|
||||
|
||||
### Report Result
|
||||
|
||||
```javascript
|
||||
report_agent_job_result({
|
||||
id: "{id}",
|
||||
status: "completed",
|
||||
findings: "Code review: Quality 85%, Security 90%, Architecture 80%, Requirements 95%. Verdict: APPROVE.",
|
||||
quality_score: "87",
|
||||
supervision_verdict: "",
|
||||
error: ""
|
||||
})
|
||||
```
|
||||
|
||||
Report includes: mode, verdict/gate, dimension scores, discuss verdict (quality only), output paths.
|
||||
|
||||
## Error Handling
|
||||
|
||||
| Scenario | Resolution |
|
||||
|----------|------------|
|
||||
| Missing context | Request from coordinator |
|
||||
| Invalid mode | Abort with error |
|
||||
| Discuss fails | Proceed without discuss, log warning |
|
||||
| Upstream discovery file missing | Report error, mark failed |
|
||||
Reference in New Issue
Block a user