Files
Claude-Code-Workflow/.claude/skills/team-testing/roles/strategist/role.md
catlog22 29a1fea467 feat: Add templates for epics, product brief, and requirements documentation
- 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.
2026-03-07 13:32:04 +08:00

2.7 KiB

role, prefix, inner_loop, message_types
role prefix inner_loop message_types
strategist STRATEGY false
success error
strategy_ready error

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
  1. Extract session path and scope from task description
  2. 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>")
  1. 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
  1. Scan existing test patterns:
Glob("**/*.test.*")
Glob("**/*.spec.*")
  1. 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:

  1. Change Analysis Table: File, Change Type, Impact, Priority
  2. 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
  3. Risk Assessment: Risk, Probability, Impact, Mitigation
  4. 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

  1. Write discoveries to <session>/wisdom/conventions.md (detected framework, patterns)
  2. Update <session>/wisdom/.msg/meta.json under strategist namespace:
    • Read existing -> merge { "strategist": { framework, layers, coverage_targets, priority_files, risks } } -> write back