Use when you have a written implementation plan to execute in a separate session with review checkpoints
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
skills listSkill Instructions
name: executing-plans description: Use when you have a written implementation plan to execute in a separate session with review checkpoints
Executing Plans
Overview
Load plan, review critically, execute tasks in batches, report for review between batches.
Core principle: Batch execution with checkpoints for architect review.
Announce at start: "I'm using the executing-plans skill to implement this plan."
The Process (Enhanced with BD Features)
Step 1: Load and Review Plan
- Read plan file
- Search for similar work:
bd search "$PLAN_KEYWORDS" - Review critically - identify any questions or concerns about the plan
- If concerns: Raise them with your human partner before starting
- If no concerns: Create epic with all tasks and proceed
Step 2: Create Epic and Tasks
# Create epic for the entire plan
bd create "$PLAN_TITLE" --type epic --estimate $TOTAL_MINUTES
EPIC_ID=<created-id>
# Pin it for session visibility
bd pin $EPIC_ID
# Extract tasks and create with estimates
bd create "Task 1" --parent $EPIC_ID --estimate 30 --labels "batch-1,implementation"
bd create "Task 2" --parent $EPIC_ID --estimate 25 --labels "batch-1,implementation" --deps blocks:<task1>
bd create "Task 3" --parent $EPIC_ID --estimate 40 --labels "batch-2,implementation"
# ... continue for all tasks
Step 3: Execute Batch
Default: First 3 ready tasks
# Check for stale work from previous sessions
bd stale --days 1
bd list --status in_progress
# Get ready tasks (respects dependencies)
bd ready
# Start batch execution
bd update <id1> <id2> <id3> --status in_progress
For each task:
- Follow each step exactly (plan has bite-sized steps)
- Run verifications as specified
- Add audit trail:
bd audit "Task X: <key decisions/findings>" - Update labels:
bd update <id> --add-label "tested" - Mark as completed:
bd close <id>
Step 4: Report
When batch complete:
# Show completed work with time spent
bd list --status closed --parent $EPIC_ID --created-after today
# Check epic progress
bd show $EPIC_ID
# Show remaining work with estimates
bd ready
- Show what was implemented
- Show verification output
- Report time spent vs estimates
- Say: "Ready for feedback."
Step 5: Continue
Based on feedback:
- Apply changes if needed
- Check next batch:
bd ready(automatically respects dependencies) - Update estimates if needed:
bd update <id> --estimate 60 - Repeat until complete
Step 6: Complete Development
After all tasks complete and verified:
# Check for any forgotten work
bd stale --days 0
bd list --status open --parent $EPIC_ID
# Should return: "No open issues"
# Unpin the epic
bd unpin $EPIC_ID
# Close the epic
bd close $EPIC_ID
- Announce: "I'm using the finishing-a-development-branch skill to complete this work."
- REQUIRED SUB-SKILL: Use superpowers:finishing-a-development-branch
- Follow that skill to verify tests, present options, execute choice
BD-Enhanced Workflow
Creating Tasks with Dependencies and Estimates
# Always search first
bd search "$KEYWORDS_FROM_PLAN"
# Create epic with total estimate
bd create "Plan: $TITLE" --type epic --estimate 240 # 4 hours total
bd pin $EPIC_ID # Keep visible
# Extract tasks with realistic estimates
# Guidelines:
# - Simple task: 15-30 min
# - Medium complexity: 30-60 min
# - Complex with tests: 60-90 min
bd create "Setup database" --parent $EPIC_ID --type task --priority 1 \
--estimate 30 --labels "infrastructure,batch-1"
bd create "Create API" --parent $EPIC_ID --type task --priority 2 \
--estimate 60 --labels "backend,batch-1" \
--deps blocks:setup-db
bd create "Build UI" --parent $EPIC_ID --type task --priority 2 \
--estimate 45 --labels "frontend,batch-2" \
--deps blocks:setup-db
bd create "Integration tests" --parent $EPIC_ID --type task --priority 3 \
--estimate 30 --labels "testing,batch-3" \
--deps blocks:create-api,blocks:build-ui
# Visualize the plan
bd graph --epic $EPIC_ID
Tracking Progress with Labels
# Semantic labels for filtering
--labels "batch-1,backend" # Batch assignment
--labels "tested,reviewed" # Status tracking
--labels "blocked,needs-input" # Issues
# Filter by batch
bd list --label batch-1 --parent $EPIC_ID
bd list --label batch-2 --parent $EPIC_ID
# Find what needs attention
bd list --label needs-input
bd list --label blocked
Handling Blockers and Context
# Mark task as blocked with reason
bd update <id> --status blocked
bd comment <id> "Blocked: Missing API credentials from client"
bd audit "Blocker: Awaiting client credentials for payment gateway"
# When unblocked
bd update <id> --status open
bd comment <id> "Unblocked: Received credentials"
Session Recovery After Interruption
# After interruption, quick recovery:
bd list --status in_progress # What was being worked on
bd stale --hours 4 # Recent but stale work
bd list --parent $PINNED_EPIC # All tasks in current plan
bd show $PINNED_EPIC # Overall progress and estimates
bd graph --epic $PINNED_EPIC # Visual state of dependencies
# Resume from exact point
bd ready # Shows next unblocked tasks
When to Stop and Ask for Help
STOP executing immediately when:
- Hit a blocker mid-batch (missing dependency, test fails, instruction unclear)
- Mark as blocked:
bd update <id> --status blocked - Add audit:
bd audit "Blocked: <detailed reason>"
- Mark as blocked:
- Plan has critical gaps preventing starting
- You don't understand an instruction
- Verification fails repeatedly
- Estimates way off (task taking 3x longer than estimated)
Ask for clarification rather than guessing.
When to Revisit Earlier Steps
Return to Review (Step 1) when:
- Partner updates the plan based on your feedback
- Fundamental approach needs rethinking
- Dependencies need restructuring:
bd dep remove <id> blocks <other>
Don't force through blockers - stop and ask.
Advantages of BD Integration
Persistence:
- Plan survives session restarts
- Can resume work exactly where left off
- Full history of attempts and decisions
Visibility:
- Partner can run
bd statusto see progress bd show $EPIC_IDshows time spent vs estimatesbd syncpushes updates to git for team visibility- Audit trail provides decision history
Dependencies:
- Automatic task ordering based on blocks/blocked-by
- Can't accidentally work on blocked tasks
- Clear view of what unblocks what
Time Management:
- Estimates help set expectations
- Can report accurate progress percentages
- Identify which tasks consistently run over
Flexibility:
- Can defer tasks:
bd defer <id> --comment "Descoped for MVP" - Can reprioritize:
bd update <id> --priority 0 - Can add new tasks mid-execution
Red Flags
Never:
- Skip search before creating tasks
- Create tasks without estimates
- Forget to pin the epic for visibility
- Execute blocked tasks
- Skip audit trail for decisions
- Ignore stale task warnings
- Close epic with open child tasks
Always:
- Search for similar work first
- Create epic for multi-task plans
- Add realistic time estimates
- Use semantic labels for organization
- Check stale tasks when resuming
- Audit important decisions
- Unpin and close epic when done
Remember
- Review plan critically first
- Search for similar work before starting
- Create epic and pin it
- Add estimates to set expectations
- Create all tasks with proper dependencies
- Follow plan steps exactly
- Don't skip verifications
- Reference skills when plan says to
- Between batches: report progress with time data
- Stop when blocked, don't guess
- Keep bd updated for session continuity
- Unpin and close epic when complete
More by Trevoke
View allUse when creating new skills, editing existing skills, or verifying skills work before deployment
Use when implementing any feature or bugfix, before writing implementation code
Use when executing implementation plans with independent tasks in the current session
Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions