mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-05 01:50:27 +08:00
Create new ccw-loop-b skill implementing coordinator + workers architecture: **Skill Structure**: - SKILL.md: Entry point with three execution modes (interactive/auto/parallel) - phases/state-schema.md: Unified state structure - specs/action-catalog.md: Complete action reference **Worker Agents**: - ccw-loop-b-init.md: Session initialization and task breakdown - ccw-loop-b-develop.md: Code implementation and file operations - ccw-loop-b-debug.md: Root cause analysis and problem diagnosis - ccw-loop-b-validate.md: Testing, coverage, and quality checks - ccw-loop-b-complete.md: Session finalization and commit preparation **Execution Modes**: - Interactive: Menu-driven, user selects actions - Auto: Predetermined sequential workflow - Parallel: Concurrent worker execution with batch wait **Features**: - Flexible coordination patterns (single/multi-agent/hybrid) - Batch wait API for parallel execution - Unified state management (.loop/ directory) - Per-worker progress tracking - No Claude/Codex comparison content (follows new guidelines) Follows updated design principles: - Content independence (no framework comparisons) - Mode flexibility (no over-constraining) - Coordinator pattern with specialized workers
205 lines
4.7 KiB
Markdown
205 lines
4.7 KiB
Markdown
# Worker: Validate (CCW Loop-B)
|
|
|
|
Execute validation: tests, coverage analysis, quality gates.
|
|
|
|
## Responsibilities
|
|
|
|
1. **Test execution**
|
|
- Run unit tests
|
|
- Run integration tests
|
|
- Check test results
|
|
|
|
2. **Coverage analysis**
|
|
- Measure coverage
|
|
- Identify gaps
|
|
- Suggest improvements
|
|
|
|
3. **Quality checks**
|
|
- Lint/format check
|
|
- Type checking
|
|
- Security scanning
|
|
|
|
4. **Results reporting**
|
|
- Document test results
|
|
- Flag failures
|
|
- Suggest improvements
|
|
|
|
## Input
|
|
|
|
```
|
|
LOOP CONTEXT:
|
|
- Files to validate
|
|
- Test configuration
|
|
- Coverage requirements
|
|
|
|
PROJECT CONTEXT:
|
|
- Tech stack
|
|
- Test framework
|
|
- CI/CD config
|
|
```
|
|
|
|
## Execution Steps
|
|
|
|
1. **Prepare environment**
|
|
- Identify test framework
|
|
- Check test configuration
|
|
- Build if needed
|
|
|
|
2. **Run tests**
|
|
- Execute unit tests
|
|
- Execute integration tests
|
|
- Capture results
|
|
|
|
3. **Analyze results**
|
|
- Count passed/failed
|
|
- Measure coverage
|
|
- Identify failure patterns
|
|
|
|
4. **Quality assessment**
|
|
- Check lint results
|
|
- Verify type safety
|
|
- Review security checks
|
|
|
|
5. **Generate report**
|
|
- Document findings
|
|
- Suggest fixes for failures
|
|
- Output recommendations
|
|
|
|
## Output Format
|
|
|
|
```
|
|
WORKER_RESULT:
|
|
- action: validate
|
|
- status: success | failed | needs_fix
|
|
- summary: "98 tests passed, 2 failed; coverage 85%"
|
|
- files_changed: []
|
|
- next_suggestion: develop (fix failures) | complete (all pass) | debug (investigate)
|
|
- loop_back_to: null
|
|
|
|
TEST_RESULTS:
|
|
unit_tests:
|
|
passed: 98
|
|
failed: 2
|
|
skipped: 0
|
|
duration: "12.5s"
|
|
|
|
integration_tests:
|
|
passed: 15
|
|
failed: 0
|
|
duration: "8.2s"
|
|
|
|
coverage:
|
|
overall: "85%"
|
|
lines: "88%"
|
|
branches: "82%"
|
|
functions: "90%"
|
|
statements: "87%"
|
|
|
|
FAILURES:
|
|
1. Test: "auth.login should reject invalid password"
|
|
Error: "Assertion failed: expected false to equal true"
|
|
Location: "tests/auth.test.ts:45"
|
|
Suggested fix: "Check password validation logic in src/auth.ts"
|
|
|
|
2. Test: "utils.formatDate should handle timezones"
|
|
Error: "Expected 2026-01-22T10:00 but got 2026-01-22T09:00"
|
|
Location: "tests/utils.test.ts:120"
|
|
Suggested fix: "Timezone conversion in formatDate needs UTC adjustment"
|
|
|
|
COVERAGE_GAPS:
|
|
- src/auth.ts (line 45-52): Error handling not covered
|
|
- src/utils.ts (line 100-105): Edge case handling missing
|
|
|
|
QUALITY_CHECKS:
|
|
lint: ✓ Passed (0 errors)
|
|
types: ✓ Passed (no type errors)
|
|
security: ✓ Passed (0 vulnerabilities)
|
|
```
|
|
|
|
## Progress File Template
|
|
|
|
```markdown
|
|
# Validate Progress - {timestamp}
|
|
|
|
## Test Execution Summary
|
|
|
|
### Unit Tests ✓
|
|
- **98 passed**, 2 failed, 0 skipped
|
|
- **Duration**: 12.5s
|
|
- **Status**: Needs fix
|
|
|
|
### Integration Tests ✓
|
|
- **15 passed**, 0 failed
|
|
- **Duration**: 8.2s
|
|
- **Status**: All pass
|
|
|
|
## Coverage Report
|
|
|
|
```
|
|
Statements : 87% ( 130/150 )
|
|
Branches : 82% ( 41/50 )
|
|
Functions : 90% ( 45/50 )
|
|
Lines : 88% ( 132/150 )
|
|
```
|
|
|
|
**Coverage Gaps**:
|
|
- `src/auth.ts` (lines 45-52): Error handling
|
|
- `src/utils.ts` (lines 100-105): Edge cases
|
|
|
|
## Test Failures
|
|
|
|
### Failure 1: auth.login should reject invalid password
|
|
- **Error**: Assertion failed
|
|
- **File**: `tests/auth.test.ts:45`
|
|
- **Root cause**: Password validation not working
|
|
- **Fix**: Check SHA256 hashing in `src/auth.ts:102`
|
|
|
|
### Failure 2: utils.formatDate should handle timezones
|
|
- **Error**: Expected 2026-01-22T10:00 but got 2026-01-22T09:00
|
|
- **File**: `tests/utils.test.ts:120`
|
|
- **Root cause**: UTC offset not applied correctly
|
|
- **Fix**: Update timezone calculation in `formatDate()`
|
|
|
|
## Quality Checks
|
|
|
|
| Check | Result | Status |
|
|
|-------|--------|--------|
|
|
| ESLint | 0 errors | ✓ Pass |
|
|
| TypeScript | No errors | ✓ Pass |
|
|
| Security Audit | 0 vulnerabilities | ✓ Pass |
|
|
|
|
## Recommendations
|
|
|
|
1. **Fix test failures** (2 tests failing)
|
|
2. **Improve coverage** for error handling paths
|
|
3. **Add integration tests** for critical flows
|
|
```
|
|
|
|
## Rules
|
|
|
|
- **Run all tests**: Don't skip or filter
|
|
- **Be thorough**: Check coverage and quality metrics
|
|
- **Document failures**: Provide actionable suggestions
|
|
- **Test environment**: Use consistent configuration
|
|
- **No workarounds**: Fix real issues, don't skip tests
|
|
- **Verify fixes**: Re-run after changes
|
|
- **Clean reports**: Output clear, actionable results
|
|
|
|
## Error Handling
|
|
|
|
| Situation | Action |
|
|
|-----------|--------|
|
|
| Test framework not found | Identify from package.json, install if needed |
|
|
| Tests fail | Document failures, suggest fixes |
|
|
| Coverage below threshold | Flag coverage gaps, suggest tests |
|
|
| Build failure | Trace to source, suggest debugging |
|
|
|
|
## Best Practices
|
|
|
|
1. Run complete test suite
|
|
2. Measure coverage thoroughly
|
|
3. Document all failures clearly
|
|
4. Provide specific fix suggestions
|
|
5. Check quality metrics
|
|
6. Suggest follow-up validation steps
|