Taskflow write-plan

Write-Plan Skill V3 - Pragmatic Planning

install
source · Clone the upstream repo
git clone https://github.com/Brownbull/taskflow
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Brownbull/taskflow "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/core/write-plan" ~/.claude/skills/brownbull-taskflow-write-plan && rm -rf "$T"
manifest: .claude/skills/core/write-plan/skill.md
source content

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

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

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

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

check:
  smoke: "Does it run?"
  happy_path: "Basic flow works?"
  # That's it! Just 2 tests

MVP Tasks

check:
  smoke: "Health check"
  happy_path: "Main user flow"
  critical_errors: "Database down handled"
  auth: "Login required works"
  # Just 4 tests

Growth Tasks

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

check:
  # Add only what's actually needed
  # Not all 8 automatically

Quality Standards V3

Adaptive Quality Gates

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

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

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

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

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

  1. Faster Planning: Less time defining 8 tests
  2. Realistic Goals: Phase-appropriate requirements
  3. Escape Hatches: Can override when needed
  4. ROI Focus: High-value tasks first
  5. 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.