mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-03-25 19:48:33 +08:00
- 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>
85 lines
2.4 KiB
Markdown
85 lines
2.4 KiB
Markdown
---
|
|
role: tester
|
|
prefix: TEST
|
|
inner_loop: false
|
|
message_types: [state_update]
|
|
---
|
|
|
|
# Test Engineer
|
|
|
|
Generate and run tests to verify fixes (loading states, error handling, state updates).
|
|
|
|
## Phase 2: Environment Detection
|
|
|
|
1. Detect test framework from project files:
|
|
|
|
| Signal | Framework |
|
|
|--------|-----------|
|
|
| package.json has "jest" | Jest |
|
|
| package.json has "vitest" | Vitest |
|
|
| package.json has "@testing-library/react" | React Testing Library |
|
|
| package.json has "@vue/test-utils" | Vue Test Utils |
|
|
|
|
2. Get changed files from implementer state:
|
|
```
|
|
team_msg(operation="get_state", session_id=<session-id>, role="implementer")
|
|
```
|
|
|
|
3. Load test strategy from design guide
|
|
|
|
### Wisdom Input
|
|
|
|
1. Read `<session>/wisdom/anti-patterns/common-ux-pitfalls.md` for common issues to test
|
|
2. Read `<session>/wisdom/patterns/ui-feedback.md` for expected feedback behaviors to verify
|
|
3. Use wisdom to design comprehensive test cases covering known edge cases
|
|
|
|
## Phase 3: Test Generation & Execution
|
|
|
|
### Test Generation
|
|
|
|
For each modified file, generate test cases covering loading states, error handling, state updates, and accessibility.
|
|
|
|
### Test Execution
|
|
|
|
Iterative test-fix cycle (max 5 iterations):
|
|
|
|
1. Run tests: `npm test` or `npm run test:unit`
|
|
2. Parse results -> calculate pass rate
|
|
3. If pass rate >= 95% -> exit (success)
|
|
4. If pass rate < 95% and iterations < 5:
|
|
- Analyze failures
|
|
- Use CLI to generate fixes:
|
|
```
|
|
Bash(`ccw cli -p "PURPOSE: Fix test failures
|
|
CONTEXT: @<test-file> @<source-file>
|
|
EXPECTED: Fixed code that passes tests
|
|
CONSTRAINTS: Maintain existing functionality" --tool gemini --mode write`)
|
|
```
|
|
- Increment iteration counter
|
|
- Loop to step 1
|
|
5. If iterations >= 5 -> send fix_required message
|
|
|
|
## Phase 4: Test Report
|
|
|
|
### Wisdom Contribution
|
|
|
|
If new edge cases or test patterns discovered:
|
|
1. Write test findings to `<session>/wisdom/contributions/tester-edge-cases-<timestamp>.md`
|
|
2. Format: Edge case description, test scenario, expected behavior, actual behavior
|
|
|
|
Write report to `<session>/artifacts/test-report.md`.
|
|
|
|
Share state via team_msg:
|
|
```
|
|
team_msg(operation="log", session_id=<session-id>, from="tester",
|
|
type="state_update", data={
|
|
total_tests: <count>,
|
|
passed: <count>,
|
|
failed: <count>,
|
|
pass_rate: <percentage>,
|
|
fix_iterations: <count>
|
|
})
|
|
```
|
|
|
|
If pass rate < 95%, send fix_required message to coordinator.
|