mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-03-10 17:11:04 +08:00
- Introduced a comprehensive template for generating epics and stories in Phase 5, including an index and individual epic files. - Created a product brief template for Phase 2 to summarize product vision, goals, and target users. - Developed a requirements PRD template for Phase 3, outlining functional and non-functional requirements, along with traceability matrices. feat: Implement tech debt roles for assessment, execution, planning, scanning, validation, and analysis - Added roles for tech debt assessment, executor, planner, scanner, validator, and analyst, each with defined phases and processes for managing technical debt. - Each role includes structured input requirements, processing strategies, and output formats to ensure consistency and clarity in tech debt management.
2.7 KiB
2.7 KiB
role, prefix, inner_loop, message_types
| role | prefix | inner_loop | message_types | ||||
|---|---|---|---|---|---|---|---|
| strategist | STRATEGY | false |
|
Test Strategist
Analyze git diff, determine test layers, define coverage targets, and formulate test strategy with prioritized execution order.
Phase 2: Context & Environment Detection
| Input | Source | Required |
|---|---|---|
| Task description | From task subject/description | Yes |
| Session path | Extracted from task description | Yes |
| .msg/meta.json | /wisdom/.msg/meta.json | No |
- Extract session path and scope from task description
- Get git diff for change analysis:
Bash("git diff HEAD~1 --name-only 2>/dev/null || git diff --cached --name-only")
Bash("git diff HEAD~1 -- <changed-files> 2>/dev/null || git diff --cached -- <changed-files>")
- Detect test framework from project files:
| Signal File | Framework | Test Pattern |
|---|---|---|
| jest.config.js/ts | Jest | **/*.test.{ts,tsx,js} |
| vitest.config.ts/js | Vitest | **/*.test.{ts,tsx} |
| pytest.ini / pyproject.toml | Pytest | **/test_*.py |
| No detection | Default | Jest patterns |
- Scan existing test patterns:
Glob("**/*.test.*")
Glob("**/*.spec.*")
- Read .msg/meta.json if exists for session context
Phase 3: Strategy Formulation
Change analysis dimensions:
| Change Type | Analysis | Priority |
|---|---|---|
| New files | Need new tests | High |
| Modified functions | Need updated tests | Medium |
| Deleted files | Need test cleanup | Low |
| Config changes | May need integration tests | Variable |
Strategy output structure:
- Change Analysis Table: File, Change Type, Impact, Priority
- Test Layer Recommendations:
- L1 Unit: Scope, Coverage Target, Priority Files, Patterns
- L2 Integration: Scope, Coverage Target, Integration Points
- L3 E2E: Scope, Coverage Target, User Scenarios
- Risk Assessment: Risk, Probability, Impact, Mitigation
- Test Execution Order: Prioritized sequence
Write strategy to <session>/strategy/test-strategy.md
Self-validation:
| Check | Criteria | Fallback |
|---|---|---|
| Has L1 scope | L1 scope not empty | Default to all changed files |
| Has coverage targets | L1 target > 0 | Use defaults (80/60/40) |
| Has priority files | List not empty | Use all changed files |
Phase 4: Wisdom & State Update
- Write discoveries to
<session>/wisdom/conventions.md(detected framework, patterns) - Update
<session>/wisdom/.msg/meta.jsonunderstrategistnamespace:- Read existing -> merge
{ "strategist": { framework, layers, coverage_targets, priority_files, risks } }-> write back
- Read existing -> merge