Write-Plan Skill V3 - Pragmatic Planning
Purpose
Creates adaptive implementation plans with phase-appropriate testing requirements. Plans scale with project maturity from prototype to enterprise.
Core Change from V2
Instead of 8 mandatory test types per task, we now use phase-appropriate testing:
- •Prototype: 2 tests (smoke + happy path)
- •MVP: 4 tests (+ critical errors + auth)
- •Growth: 5 tests (+ edge cases + performance)
- •Scale: 6-8 tests (as actually needed)
Phase Detection
yaml
phase_detection: prototype: "0-100 users, exploring" mvp: "100-1K users, launching" growth: "1K-10K users, scaling" scale: "10K+ users, enterprise"
Task Generation V3
Adaptive Task Structure
yaml
tasks:
- id: "task-001"
epic: "epic-001"
sprint: "sprint-001"
phase: "prototype" # NEW: Current project phase
# Core task info
what: "Implement login"
who: "backend-orchestrator"
where: "apps/auth/views.py"
# Phase-appropriate testing
check:
required: # Based on phase
smoke: "API responds"
happy_path: "User can login"
optional: # Can add if time permits
error: "Handle wrong password"
deferred: # Explicitly not doing yet
edge_cases: "After MVP"
performance: "When we have users"
# Escape hatches
overrides:
skip_tests: false
defer_quality: false
prototype_mode: true # Minimal requirements
Sprint Planning V3
Phase-Aware Sprint Composition
yaml
prototype_sprint: features: 70% # Ship fast testing: 20% # Minimal docs: 5% # Basic buffer: 5% mvp_sprint: features: 60% testing: 25% # Core tests docs: 10% buffer: 5% growth_sprint: features: 50% testing: 30% # More comprehensive docs: 15% buffer: 5% scale_sprint: features: 40% testing: 35% # Full coverage docs: 20% buffer: 5%
Test Requirements by Phase
Prototype Tasks
yaml
check: smoke: "Does it run?" happy_path: "Basic flow works?" # That's it! Just 2 tests
MVP Tasks
yaml
check: smoke: "Health check" happy_path: "Main user flow" critical_errors: "Database down handled" auth: "Login required works" # Just 4 tests
Growth Tasks
yaml
check: happy_path: "All user flows" errors: "Graceful failures" edge_cases: "Boundary conditions" performance: "Fast enough" security: "No obvious vulnerabilities" # 5 tests typical
Scale Tasks
yaml
check: # Add only what's actually needed # Not all 8 automatically
Quality Standards V3
Adaptive Quality Gates
yaml
quality_gates:
prototype:
minimum_score: 6.0
coverage_target: 40%
test_types_required: 2
mvp:
minimum_score: 7.0
coverage_target: 60%
test_types_required: 4
growth:
minimum_score: 7.5
coverage_target: 70%
test_types_required: 5
scale:
minimum_score: 8.0
coverage_target: 80%
test_types_required: "as_needed"
Escape Hatches in Planning
Quick Overrides
yaml
task_overrides:
hotfix_mode:
skip_all_tests: true
skip_quality_gates: true
reason: "Production emergency"
prototype_mode:
minimal_tests: true
quality_gate: 5.0
reason: "Exploring idea"
deadline_mode:
defer_tests: true
technical_debt_ticket: "TECH-123"
reason: "Launch deadline"
ROI-Based Task Priority
Task Value Calculation
yaml
task_value: critical_path: 10 # Login, payment, data user_facing: 7 # Direct user impact technical_debt: 3 # Internal cleanup nice_to_have: 1 # Polish task_cost: complex_logic: 8 integration: 6 simple_crud: 2 ui_only: 1 priority: value / cost # Higher = do first
Example Output - Prototype Phase
yaml
project:
name: "Payment System"
phase: "prototype" # Key addition
tasks:
- id: "task-001"
what: "Create payment endpoint"
phase: "prototype"
# Only 2 tests required!
check:
smoke: "Endpoint responds 200"
happy_path: "Payment processes"
# No other tests required
quality_target: 6.0 # Lower bar
time_estimate: 4 # Hours, not days
Migration Helper
Converting Old Tasks
python
def migrate_task_to_v3(old_task, current_phase):
"""Convert 8-test task to phase-appropriate"""
new_task = old_task.copy()
if current_phase == 'prototype':
# Keep only critical tests
new_task['check'] = {
'smoke': old_task['check'].get('valid'),
'happy_path': old_task['check'].get('functional')
}
elif current_phase == 'mvp':
# Keep 4 most important
new_task['check'] = {
'smoke': old_task['check'].get('valid'),
'happy_path': old_task['check'].get('functional'),
'critical_errors': old_task['check'].get('error'),
'auth': old_task['check'].get('security')
}
return new_task
Key Benefits
- •Faster Planning: Less time defining 8 tests
- •Realistic Goals: Phase-appropriate requirements
- •Escape Hatches: Can override when needed
- •ROI Focus: High-value tasks first
- •Progressive Enhancement: Grow complexity gradually
Summary
Write-Plan V3 creates plans that:
- •Match project maturity
- •Require only necessary tests
- •Include escape hatches
- •Focus on shipping value
- •Can be adjusted on the fly
Remember: A shipped feature with 2 tests beats a planned feature with 8 tests.