work-plan
Work Plan
Generate a comprehensive execution plan showing current status, phase breakdown, and next actions. Writes output to {feature-path}/work-plan.md for persistent tracking.
User Input
FEATURE_ID = $ARGUMENT (optional, defaults to current branch feature)
Accept feature ID like "001" or "001-mcp-integration". If not provided, extract from current git branch.
Output Behavior
- Primary output: Write full work plan to
{feature-path}/work-plan.md - Console output: Show condensed summary with key status and next action
- Updates: Subsequent runs overwrite the file with current state (timestamp included)
Workflow
Step 1: Extract Feature ID
- If ARGUMENT provided:
- Format "NNN" (e.g., "001"): Search
backlog/plans/andbacklog/plans/_completed/for matching folder - Format "NNN-slug" (e.g., "001-mcp-integration"): Use directly
- Format "NNN" (e.g., "001"): Search
- If no ARGUMENT:
- Run
git branch --show-current - Extract feature ID from branch name (e.g.,
feature/001-mcp-integration→001-mcp-integration) - If not on a feature branch, show error and list available features
- Run
Note: In-progress features are in backlog/plans/{NNN}-{slug}/, completed features in backlog/plans/_completed/{NNN}-{slug}/
Step 2: Load Feature Context
Read the following files:
{feature-path}/tasks.md(required){feature-path}/spec.md(for feature name/description)specs/tests/{feature-id}.md(if exists, for spec test info)- Current git branch status
Step 3: Parse tasks.md
Extract:
Phase Information:
- Phase headers:
## Phase N: Name - For each phase: number, name, description, task range, task count, completed count
- Entry spec test task (
[SPEC]with "→ expect ALL FAIL") - Exit spec test task (
[SPEC]with "→ expect ALL PASS")
Dependency Information:
- Find dependency diagram (after "## Dependencies" header)
- Parse dependency arrows (──►, ──┬──►, etc.)
- Build dependency graph
Overall Metrics:
- Total task count, completed count, percentage
Step 4: Determine Status
For each phase:
- Complete: All tasks checked (
- [x]) - In Progress: Some tasks checked
- Not Started: No tasks checked
- Blocked: Depends on incomplete phases
Identify current phase and next action.
Step 5: Generate Work Plan
Build the work plan with these sections (see references/output-format.md for detailed templates):
- Current Status - Feature name, branch, progress, current phase
- Phase Overview - Table with status, progress, blocks
- Recommended Execution Plan - Per-phase commands and goals
- Parallel Execution Strategy - Wave structure for independent phases
- Quick Commands Reference - Command table
- Success Criteria - Completion checklist
- Manual Testing Strategy - What needs manual testing and when
- Next Action - Specific recommended command
Step 6: Write to File
Write the complete work plan to {feature-path}/work-plan.md:
<!-- Auto-generated by /work-plan - Updated: {ISO timestamp} -->
# Work Plan: Feature {NNN} - {Feature Name}
{All sections from Step 5}
File behavior:
- Creates new file if doesn't exist
- Overwrites existing file with fresh state on each run
- Includes timestamp header for tracking when last updated
Step 7: Display Summary to Console
Show a condensed summary to the user (NOT the full file contents):
✅ Work plan written to: {feature-path}/work-plan.md
## Quick Status
- **Progress**: {completed}/{total} tasks ({percentage}%)
- **Current Phase**: {phase-name} ({status})
## Next Action
{next action recommendation with command}
This keeps console output minimal while the full details live in the file.
Next Action Logic
| State | Recommendation |
|---|---|
| Wrong branch / no tasks | Prime and start Phase 1 |
| Phase in progress | Continue current phase |
| Phase blocked | Complete blocking phase first |
| Ready for next | Start next phase |
| Multiple independent ready | Run phases in parallel |
| All complete | Final verification, create PR |
Error Handling
Feature not found:
❌ Error: Feature '{feature-id}' not found
Available features:
{list folders in backlog/plans/ and backlog/plans/_completed/}
Usage: /work-plan {feature-number}
tasks.md not found:
❌ Error: tasks.md not found at {feature-path}/tasks.md
This feature may not follow the methodology structure.
Output Guidelines
- Keep output concise but actionable
- Use emojis for visual clarity (✓, ⚠️, ✅, 🔄, ⏸️, 🔒)
- Provide specific commands, not just guidance
- Always include "Next Action" - never leave user wondering what to do
Additional Resources
Reference Files
For detailed output templates, consult:
references/output-format.md- Full templates for all output sections
More from ianphil/my-skills
astral-uv
>
11glab
GitLab CLI (glab) for merge requests, issues, and CI/CD pipelines. Use when working with GitLab repositories for MR creation/review, issue management, pipeline debugging, or any GitLab API operations. Triggers on GitLab URLs, mentions of "merge request" or "MR" (not "PR"), gitlab.com, or glab commands.
10ado
Azure DevOps CLI (az ado). Use for work items, PRs, pipelines, and backlog management. Triggers on: az ado, ADO, azure devops, work item, backlog, az boards, az repos, az pipelines.
1ainotes
This skill should be used when the user asks to "consolidate notes", "summarize ainotes", "clean up notes", "ainotes", or wants to consolidate accumulated agent observations into a compact summary.
1workiq
This skill should be used when the user asks to "install WorkIQ", "set up WorkIQ", "query my emails with AI", "connect AI to Microsoft 365", "query my meetings or documents", "use workiq ask", or wants to use natural language to search Microsoft 365 data (emails, meetings, Teams messages, documents, people) from an AI assistant.
1closer
This skill should be used when the user asks to "close feature", "archive feature", "complete feature N", "move feature to completed", or wants to move a finished feature to the _completed/ directory.
1