building-a-work-plan
Use when orchestrating the creation of a work plan from a design document. Manages branch setup, codebase investigation, milestone planning, and execution handoff.
Best use case
building-a-work-plan is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use when orchestrating the creation of a work plan from a design document. Manages branch setup, codebase investigation, milestone planning, and execution handoff.
Teams using building-a-work-plan should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/building-a-work-plan/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How building-a-work-plan Compares
| Feature / Agent | building-a-work-plan | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use when orchestrating the creation of a work plan from a design document. Manages branch setup, codebase investigation, milestone planning, and execution handoff.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Building a Work Plan ## Overview This skill orchestrates the end-to-end process of converting a design document into an executable work plan. It coordinates branch setup, codebase investigation, milestone-by-milestone planning, and handoff to execution. Think of it as the "conductor" that invokes sub-skills and agents in the right order. ## Required Sub-Skills Load these during execution: | Skill | Purpose | When Loaded | |-------|---------|-------------| | [writing-a-work-plan](../writing-a-work-plan/SKILL.md) | Task decomposition patterns, templates | Phase 2 | | [writing-code](../writing-code/SKILL.md) | Engineering principles (via writing-a-work-plan) | Phase 2 | ## Entry Point When the user invokes `/build-work-plan`: 1. **Announce**: "I'm using the building-a-work-plan skill to create a work plan from your design document." 2. **Get design document path**: - If user provided a path, use it - If not, use `AskUserQuestion` to request the path - **Never guess the path** 3. **Choose review mode** (MANDATORY): **STOP. You MUST get user preference before creating orchestration tasks.** Use `AskUserQuestion` with these options: - **Interactive** (Recommended): Plan one milestone, get approval, proceed. Catches errors early. - **Batch**: Plan all milestones, then review all. Faster but riskier. Record the user's choice. This determines behavior in Phase 2 and Phase 4. 4. **Create orchestration tasks** (see Task Tracking section) 5. **Proceed through phases** ## Task Tracking Create these tasks at the start of each session. Update status as you progress. ``` ◻ #1 Setup: Confirm design doc and optional branch setup ◻ #2 Investigate: Codebase testing patterns ◻ #3 Investigate: Design assumptions verification ◻ #4 Plan: Write milestone tasks (one sub-task per milestone) ◻ #5 Verify: Post-planning codebase check ◻ #6 Review: Code review of plan ◻ #7 Approve: User approval ◻ #8 Write: Save plan to disk ◻ #9 Handoff: Execution instructions ``` **Dependencies**: - #2 blocked by #1 - #3 blocked by #2 - #4 blocked by #3 - #5 blocked by #4 - #6 blocked by #5 - #7 blocked by #6 - #8 blocked by #7 - #9 blocked by #8 Use `TaskCreate` and `TaskUpdate` to manage these. Mark each task `in_progress` when starting, `completed` when done. ## Phases ### Phase 0: Setup (Task #1) **Step 1: Confirm design document** Read the design document. Verify it contains: - [ ] Fleshed-out milestones (job stories, descriptions, AC, demos) - [ ] Milestone count ≤ 8 If milestones are vague or missing AC, stop and suggest running `/start-milestone-review` first. **Step 2: Optional branch setup** Ask the user: ``` Do you need to set up a branch for this work? - Yes, create a new branch - No, I'm already on the correct branch ``` If yes: 1. Determine base branch (`main` or `master`) 2. Generate branch name from design doc title (e.g., `feat/trackman-scraper`) 3. Create and checkout branch: `git checkout -b <branch-name>` 4. Confirm branch created Mark Task #1 complete. ### Phase 1: Codebase Investigation (Tasks #2, #3) **Task #2: Testing patterns** Dispatch `codebase-investigator` agent: ``` Investigate the testing patterns in this codebase: - How are tests structured? (tests/, test/, colocated?) - What testing framework is used? (pytest, jest, etc.) - What mocking patterns exist? - What fixtures are available? - Any test utilities or helpers? Report findings in a structured format. ``` Document findings. Mark Task #2 complete. **Task #3: Design assumptions** (sequential after #2) Dispatch `codebase-investigator` agent: ``` Verify these design assumptions against the current codebase: Design doc: [path] Milestones: [list milestone titles] Check: - Do files exist where the design expects them? - Do expected features/dependencies exist? - Is there drift between design doc and current code? - What naming conventions should we follow? Report any mismatches or concerns. ``` Document findings. Mark Task #3 complete. ### Phase 2: Milestone Planning (Task #4) **CHECKPOINT: Verify sub-skill is loaded.** Before processing any milestone, confirm you have loaded `writing-a-work-plan` skill. If you have not loaded it, STOP and load it now using the Skill tool. This sub-skill provides: - Milestone plan header template (Context, Codebase Verification, References) - Task templates by type (Infrastructure, Functionality, Integration) - TDD-aligned implementation step patterns **Load sub-skill**: Activate `writing-a-work-plan` skill. **Process each milestone** following the `writing-a-work-plan` Core Pattern: For each milestone M: 1. Create sub-task: "Plan: Milestone M - [title]" 2. Read milestone from design doc 3. **Write complete milestone plan header** (see `writing-a-work-plan` Document Format) 4. Classify each AC (infrastructure, functionality, integration) 5. Create scaffold task if needed 6. Create one task per AC with implementation steps 7. **If Interactive mode**: Use `AskUserQuestion` to get approval: - **Approve**: Milestone plan looks good, proceed to next milestone - **Revise**: I have feedback on specific tasks (user provides details via "Other") Do not proceed until user approves or revisions are complete. 8. **Write milestone to disk immediately after approval** (enables session recovery) 9. **If Batch mode**: Continue to next milestone 10. Mark sub-task complete Mark Task #4 complete when all milestones are planned. ### Phase 3: Post-Planning Verification (Task #5) Dispatch `codebase-investigator` agent: ``` Verify the planned tasks are implementable: Work plan location: [path] Check: - Do target directories exist (or can be created)? - Are import paths valid? - Any conflicts with existing code? - Are test file locations correct? Report any issues that would block implementation. ``` If issues found: - Present to user - Update tasks to match reality, or - Flag as known issues in the plan Mark Task #5 complete. ### Phase 4: Code Review (Task #6) **This phase is MANDATORY. Do not skip code review.** Even for "simple" plans, code review catches: - Missing tasks for AC - Vague verification steps that cause confusion during implementation - Inconsistent commit message formats - Dependency ordering issues Dispatch `code-reviewer` agent over all milestone plan files: ``` Review these work plan files for quality: Files: [list of milestone_##.md files] Check: - All AC have corresponding tasks - Tasks include concrete test code where applicable - Verification steps are explicit - Commit messages follow conventions - Dependencies are noted - No ambiguous or vague steps Report issues by file and task number. ``` **Handle review results based on review mode** (chosen in Entry Point step 3): - **Interactive mode**: Present issues to user; let user decide what to fix - **Batch mode**: Automatically fix issues; user sees clean plan **Verification**: Before marking Task #6 complete, confirm: - [ ] Code review agent was dispatched - [ ] All reported issues were addressed (fixed or user-approved as-is) - [ ] Results were presented to user Mark Task #6 complete. ### Phase 5: User Approval (Task #7) Present the complete work plan summary: ```markdown ## Work Plan Summary **Design doc**: [path] **Plan location**: [path] **Milestones**: [count] | Milestone | Tasks | Type Breakdown | |-----------|-------|----------------| | M1: [title] | N tasks | X infra, Y func, Z integ | | M2: [title] | N tasks | ... | | ... | ... | ... | **Total tasks**: [count] **Codebase verification**: [status] **Code review**: [status] Ready to write to disk? ``` Get explicit approval. Mark Task #7 complete. ### Phase 6: Write to Disk (Task #8) Create directory and files using this EXACT structure: ``` docs/work-plans/YYYY-MM-DD-<plan-name>/ ├── milestone_01.md ├── milestone_02.md ├── ... └── milestone_NN.md ``` **Concrete example** (for a plan named "golf-data-loader" on 2026-01-15): ``` docs/work-plans/2026-01-15-golf-data-loader/ ├── milestone_01.md ├── milestone_02.md ├── milestone_03.md ``` **Naming rules**: - Directory: `YYYY-MM-DD-<plan-name>` where plan-name is lowercase, hyphenated - Files: `milestone_01.md`, `milestone_02.md`, etc. (zero-padded two digits) - **NOT**: `m1-*.md`, `M1_*.md`, `milestone-1.md`, or any other variant **Verification** (REQUIRED before marking complete): ```bash ls -la docs/work-plans/YYYY-MM-DD-<plan-name>/ ``` Confirm output shows: - Directory name matches `YYYY-MM-DD-<plan-name>` format - All files are named `milestone_##.md` Mark Task #8 complete only after verification passes. ### Phase 7: Execution Handoff (Task #9) **Capture absolute paths**: ```bash git rev-parse --show-toplevel # Working root ``` **Present handoff instructions**: ```markdown ## Work Plan Complete Your work plan is ready at: `[absolute-path-to-plan-directory]` ### Next Steps To execute this work plan: ``` /execute-work-plan [absolute-path-to-plan-directory] ``` This will: 1. Read milestones just-in-time (one at a time) 2. Dispatch `code-worker` agents for each task 3. Run code review once per milestone 4. Fix all issues before proceeding to next milestone 5. Provide a full implementation report when complete ### To Resume Later If you need to resume work on this plan in a new session: 1. Run `/clear` to reset context 2. Run `/execute-work-plan [plan-directory-path]` 3. The skill will detect progress and resume from the next incomplete task ### Files Created [List all milestone_##.md files with paths] ``` Mark Task #9 complete. ## Resumption If the user returns to continue a work plan: 1. Ask for the plan directory path 2. Read existing milestone files 3. Identify which milestones are complete vs pending 4. Resume from the next pending milestone ## Common Mistakes | Mistake | Why It Fails | Correct Approach | |---------|--------------|------------------| | Guessing design doc path | Wrong file, wasted effort | Always ask if not provided | | Skipping review mode choice | User loses control over workflow | AskUserQuestion at session start | | Skipping codebase investigation | Tasks may not be implementable | Always investigate before planning | | Not tracking orchestration tasks | Lose progress on interruption | Create tasks at session start | | Relative paths in handoff | Paths break across sessions | Always use absolute paths | | Batch planning all milestones | Early mistakes compound | Interactive milestone-by-milestone | | Skipping code review phase | Plan quality issues compound during implementation | Code review is MANDATORY | | Wrong file naming (`m1-*.md`) | Breaks execution skill expectations | Use `milestone_01.md` format | | Incomplete milestone headers | Implementers lack context | All header fields are required | ## Anti-Rationalizations - "I know where the design doc is" — Ask anyway. Confirmation prevents errors. - "Codebase investigation is slow" — It's faster than planning tasks for nonexistent files. - "Task tracking is overhead" — It's insurance against interruption. Do it. - "The user knows the paths" — Capture absolute paths explicitly. Context resets. - "Batch mode is faster" — User loses opportunity to catch early mistakes. Compounding errors cost more than time saved. Ask for their preference. - "Code review is overkill for a plan" — Plans with issues compound during implementation. A 10-minute review saves hours of debugging. - "The user will notice the file naming" — They won't until the execution skill fails. Follow the spec exactly. - "The milestone header is just boilerplate" — It's context for the implementer (human or LLM). Missing context means wrong assumptions. ## Summary 1. **Announce the skill.** User knows what's happening. 2. **Create orchestration tasks.** Track progress through phases. 3. **Investigate before planning.** Codebase reality grounds the plan. 4. **Interactive milestone review.** Approve each before proceeding. 5. **Capture absolute paths.** Handoff survives context reset. 6. **Execution is future work.** Plan is the deliverable for now.
Related Skills
claude-cowork-guidelines
Règles comportementales pour éviter les erreurs courantes des LLM dans Claude Cowork. S'active pour TOUTES les tâches (documents, spreadsheets, présentations, scripts, automatisations). Basé sur les observations d'Andrej Karpathy - assumptions silencieuses, overcomplexité, modifications non demandées. Utiliser pour toute tâche impliquant création de fichiers, édition, ou automatisation multi-étapes.
Building Agent Skills
Assists in creating Agent Skills of varying complexity levels (simple, moderate, complex). Use when the user wants to create, design, or build a new Agent Skill, or when they need guidance on skill architecture, workflow design, schema validation, or template structure.
ai-native-product-building
Rapidly build, prototype, and deploy full-stack software using AI "text-to-app" tools. Use this when you need to create a greenfield application, build a high-fidelity working prototype for user testing, or bypass traditional engineering bottlenecks for internal tools.
agricultural-easement-negotiation-frameworks
Expert in negotiating utility easements with farmers including farm operation impact assessment (crop production, livestock, equipment), compensation structure design (one-time vs. recurring, mitigation works), and multi-generational farm psychology. Use when negotiating transmission line, pipeline, or drainage easements with agricultural landowners. Key terms include agricultural easement, farm operation impacts, tower placement, crop loss, irrigation impacts, easement compensation, farm succession
agent-workflow-orchestrator
Expert workflow orchestrator specializing in complex process design, state machine implementation, and business process automation. Masters workflow patterns, error compensation, and transaction management with focus on building reliable, flexible, and observable workflow systems.
adhd-daily-planner
Time-blind friendly planning, executive function support, and daily structure for ADHD brains. Specializes in realistic time estimation, dopamine-aware task design, and building systems that actually work for neurodivergent minds.
accessibility-planning
Plan accessibility compliance - WCAG 2.2, Section 508, EN 301 549, inclusive design principles, audit planning, and remediation strategies.
worktree-setup
Automatically invoked after `git worktree add` to create data/shared symlink and data/local directory. Required before starting work in any new worktree.
working-with-llms
Mandatory workflow for creating LLM-facing content. Follow the 4-step process (objective → draft → verify → adjust) before writing any prompt, skill, tool description, or system instruction. Triggers on requests to create or revise skills, prompts, agent workflows, or any content that will be sent to an LLM repeatedly.
workflow-composer
Chain multiple skills together into automated workflows with conditional logic and parallel execution
workflow-automation
Automate construction data workflows. Build ETL pipelines and DAG workflows for recurring tasks.
Workday Automation
Automate HR operations in Workday -- manage workers, time off requests, absence balances, and employee data through natural language commands.