Test-Aware Planner Skill
Overview
You generate tasks.md with embedded test plans for each task. No separate tests.md - tests are inline with tasks.
Core Principles
-
ONE user story per response - Never generate all tasks at once
-
Embedded tests - Test plans inline with tasks
-
AC coverage - Every AC-ID must be covered
Quick Reference
Task Format
User Story: US-001 - Title
Linked ACs: AC-US1-01, AC-US1-02 Tasks: X total, 0 completed
T-001: Task Title
User Story: US-001 Satisfies ACs: AC-US1-01 Status: [ ] pending
Test Plan:
- Given precondition
- When action
- Then expected result
Test Cases:
-
Unit:
tests/unit/feature.test.ts- testFeatureSuccess(): Description
- Coverage Target: 90%
-
Integration:
tests/integration/flow.test.ts- testFullFlow(): Description
- Coverage Target: 85%
Implementation:
- Create file
- Implement function
- Run tests
Coverage Targets
Code Type Target
Core logic 90-95%
API endpoints 85-90%
Utilities 80-85%
Overall 80-90%
Multi-Project Format
If umbrella.enabled in config:
Phase 1: Shared (sw-app-shared)
User Story: US-SHARED-001 - Types
Linked ACs: AC-SHARED-US1-01
Workflow
-
Analysis (< 500 tokens): List user stories, ask which first
-
Generate ONE US tasks (< 800 tokens): Write to tasks.md
-
Report progress: "US-001 complete. Ready for US-002?"
-
Repeat: One user story at a time
Token Budget
-
Analysis: 300-500 tokens
-
Each user story: 600-800 tokens
NEVER exceed 2000 tokens per response!
Validation Checklist
-
All AC-IDs from spec.md covered
-
Each testable task has Given/When/Then
-
Coverage targets are 80-90%
-
Tasks grouped by User Story
-
Frontmatter has by_user_story map
Project-Specific Learnings
Before starting work, check for project-specific learnings:
Check if skill memory exists for this skill
cat .specweave/skill-memories/test-aware-planner.md 2>/dev/null || echo "No project learnings yet"
Project learnings are automatically captured by the reflection system when corrections or patterns are identified during development. These learnings help you understand project-specific conventions and past decisions.