Project Planning Skill
Orchestrate a comprehensive project planning workflow that generates GitHub issues, architecture diagrams, dependency graphs, and timeline charts from a natural language project description.
Announce at start: "I'm using the project-planning skill to turn this description into issues, diagrams, and a plan document."
When to Use
Activate this skill when user says:
- "Let's build a project plan for..."
- "Help me plan [project name]"
- "Create a project plan"
- "Break down this project"
- "Help me scope out..."
- "Plan the implementation of..."
Sub-Skills
This skill coordinates four specialized sub-skills:
| Skill | Purpose | Step | |-------|---------|------| | issue-decomposition | Break down into GitHub issues | 3 | | architecture-diagramming | Generate architecture diagrams | 4 | | dependency-mapping | Map issue dependencies | 5 | | timeline-planning | Create Gantt charts | 6 |
Getting the sub-skills
No single bundle ships this skill together with all four. Check what you have before you start:
| Install path | What it provides |
|---|---|
| llpm bundle | This skill plus issue-decomposition, dependency-mapping, timeline-planning. Does not include architecture-diagramming — install it standalone or skip to the inline fallback for Step 4. |
| agent-skills bundle | Everything. |
| Standalone plugins | All five are individually installable: project-planning, issue-decomposition, architecture-diagramming, dependency-mapping, timeline-planning. |
The project-foundations bundle does not contain this skill or timeline-planning. It covers the earlier, adjacent ground — project setup, user stories, verification plans, and the diagramming skills — so the two bundles complement each other rather than overlap: project-foundations sets a repo up, this skill plans the work inside it.
Inline fallback
A sub-skill is unavailable when invoking it does not load it (it isn't in the session's skill list). Don't ask the user to install it mid-run. Perform that step inline instead, following the summary in the corresponding step below, and tell the user which steps ran inline so they can judge the output. Steps 4, 5 and 6 each degrade independently — losing one does not stop the others.
Planning Workflow
Step 1: Understand the Project
Read the user's description first and only ask about what it left open. Ask everything still missing in a single batch, not one question at a time.
-
Project Overview
- What is this project/feature?
- Who are the primary users?
- What problem does it solve?
-
Technical Context
- What technologies will be used?
- Are there existing patterns to follow?
- What external integrations are needed?
-
Constraints
- Any technical requirements or limitations?
- Dependencies on other work?
- A target start date or deadline?
These answers are the scoping input for every later step. issue-decomposition opens with its own version of these questions — answer them from what you already have here and do not re-ask the user.
Step 2: Analyze Existing Codebase
If working in an existing project, use the project-analysis skill to map structure, architecture pattern, key files, and dependencies. If it is unavailable, inline that step: read the directory layout, the build/dependency manifests, and a representative module to learn the conventions the plan should follow.
Skip this step for a greenfield project and say so.
Step 3: Decompose into Issues
Use the issue-decomposition skill to generate 5-15 well-structured issues with:
- User stories
- Acceptance criteria
- Dependencies
- Estimates: points on the powers-of-two scale from
estimating-work-items, 8 or less per issue - Labels
Give each proposed issue a plan-local id — P1, P2, P3... Real issue numbers do not exist until Step 8, and #1 style placeholders are indistinguishable from real references. Express every dependency between proposals with these ids ("blocked by P1"). Keep the decomposition in the conversation; nothing is written to GitHub yet.
issue-decomposition ends with its own preview-and-confirm gate. Skip it — this skill confirms once, at Step 7, over the whole plan.
Step 4: Generate Architecture Diagram
Use the architecture-diagramming skill to create a Mermaid diagram showing:
- Major components
- Data flow
- External integrations
- Boundaries and layers
Inline fallback: a flowchart TD with one node per major component, subgraphs for layers, and arrows for data flow. No parentheses inside node labels.
Step 5: Map Dependencies
Use the dependency-mapping skill to generate a dependency graph showing:
- Blocking relationships
- Parallel opportunities
- Critical path
Input: the Step 3 decomposition held in the conversation, keyed by plan-local id. dependency-mapping opens by fetching issues with gh issue list — that path is for graphing issues already on GitHub. Here the issues do not exist yet, so pass it the proposed set explicitly and let it skip its own gathering step. Use gh issue list only when planning around work already filed, and then fold those real issues into the same graph alongside the proposals.
Inline fallback: a flowchart LR with one node per plan-local id and an arrow from each blocker to what it blocks; the longest chain is the critical path.
Step 6: Create Timeline
Use the timeline-planning skill to create a Gantt chart with:
- Phases and milestones
- Task durations
- Dependencies
Input: the same Step 3 decomposition and the Step 5 graph — again, not gh issue list. Supply the estimates and blocking relationships directly. Use the start date from Step 1 if the user gave one, otherwise today.
Inline fallback: a gantt block with one section per phase, one point mapped to one day (1/2/4/8 points to 1d/2d/4d/8d), ordering blocked tasks after their blockers.
Step 7: Preview and Confirm
This is the workflow's only confirmation gate. Before creating anything:
## Project Plan Preview
### Issues to Create (X total)
| Plan id | Title | Points | Labels | Dependencies |
|---------|-------|--------|--------|--------------|
| P1 | Setup | 2 | chore, points-2 | None |
| P2 | Core feature | 4 | feature, points-4 | Blocked by P1 |
...
### Architecture
[Mermaid diagram]
### Dependencies
[Mermaid diagram]
### Timeline
[Mermaid Gantt]
### Labels
Existing: [labels already in the repo]
To create: [labels this plan needs that the repo does not have]
---
Create these issues and save the plan? (y/n)
State plainly that answering yes files real issues.
Step 8: Create and Save
On confirmation:
- Reconcile labels first. Run
gh label listand compare against the labels in the preview.gh issue createfails on a label the repo does not have, and it has no--dry-run, so an unreconciled batch aborts partway with some issues already filed. Create the missing labels withgh label create, or drop them from the plan — whichever the user chose at Step 7. - Create the issues in dependency order (blockers first) with
gh issue create --title ... --body ... --label ..., using the gh CLI or an available GitHub MCP tool. Record the real issue number returned for each plan-local id. If neither tool is available, output the issue bodies for manual creation and stop before step 3 below. - Rewrite the plan-local ids. Substitute the real numbers for
P1,P2... throughout the dependency graph, the Gantt chart, and the issue table, and add the cross-references between issue bodies (gh issue edit <n> --body-file ...) now that the numbers are known. NoP<n>may survive into the saved document. - Save the planning document to
docs/plans/<project-slug>-plan.mdin the format below.
If creation fails partway: stop the batch. Report which plan-local ids became real issues and which did not, then either fix the cause and create only the remainder, or delete nothing and let the user decide. Never re-run the whole batch — that duplicates the issues already filed.
Planning Document Format
Save to docs/plans/<project-slug>-plan.md:
# Project Plan: [Project Name]
**Generated:** [Date]
**Status:** Draft
**Owner:** @[GitHub login, from `gh api user --jq .login` or the user]
## Overview
[2-3 sentence summary of the project]
## Goals
- [Goal 1]
- [Goal 2]
- [Goal 3]
## System Architecture
[Mermaid flowchart from architecture-diagramming skill]
## Issue Dependency Graph
[Mermaid flowchart from dependency-mapping skill, with real issue numbers]
## Timeline
[Mermaid Gantt from timeline-planning skill, with real issue numbers]
## Risks & Assumptions
- [Risk or assumption 1]
- [Risk or assumption 2]
## Issues Created
| Issue | Title | Status | Points |
|-------|-------|--------|--------|
| #201 | [Title] | Open | 2 |
| #202 | [Title] | Open | 4 |
...
Note which steps ran inline rather than through their sub-skill under Risks & Assumptions.
Best Practices
- Start with understanding - Don't jump to decomposition
- Ask once - Reuse the Step 1 answers; never re-ask what the description already said
- Preview before creating - One gate, over the whole plan
- Keep issues focused - One concern per issue
- Plan-local ids until creation - Real numbers only exist after Step 8
- Link everything - Cross-reference issues, diagrams, notes
- Save outputs - Store plan documents in the repo for future reference
- Iterate if needed - User can adjust before finalizing
After Planning
Suggest next steps:
- Assign issues to team members
- Set up project board with columns
- Schedule kickoff meeting
- Review plan with stakeholders
Related skills:
project-analysis- Map an existing codebase before planning into itworking-on-an-issue- Implement one of the issues this plan createdstakeholder-tracking- Track stakeholder goalsrequirement-elicitation- Deeper requirements discovery