Project Planner
Prerequisites
- git
- gh (GitHub CLI, authenticated via
gh auth login)
Triage user input into the right project artifact: a proposal (big idea with phases), a feature issue (small enhancement), or a bug report (something's broken).
Repo Discovery
Before doing anything, discover the current repo's configuration:
- Run
git rev-parse --show-toplevelto find the repo root - Check for
.project-planner.ymlat the repo root — if it exists, read it and use its values for all paths, labels, and conventions - If no config file, fall back to auto-discovery:
- Proposal template: look for
docs/proposals/TEMPLATE.md - Issue templates: look in
.github/ISSUE_TEMPLATE/ - Docs directory: look for
docs/,mkdocs.yml - If nothing found, use the fallback formats bundled with the skill
- Proposal template: look for
- If the repo has
CLAUDE.mdorCONTRIBUTING.md, read for conventions - Run
gh repo view --json name,ownerto confirm the repo for issue creation
Config File: .project-planner.yml
Optional config file at repo root. All fields are optional — auto-discovery fills gaps.
See project-planner.yml in the skill directory for a copy-paste starter.
project: MyProject # project name (for issue titles)
repo: owner/repo # GitHub repo (usually auto-detected)
proposals:
dir: docs/proposals # where proposal docs live
template: docs/proposals/TEMPLATE.md # proposal template to follow
index: docs/proposals/index.md # index file to update with new proposals
mkdocs_nav: true # update mkdocs.yml nav when creating proposals
issues:
labels:
feature: enhancement # label for feature issues
bug: bug # label for bug issues
# branch_prefix: feature/ # branch naming prefix
# conventions:
# docs: docs # where project docs live
Triage Rules
Determine the type by asking: does this need design work or multiple phases?
- Needs design decisions, multiple phases, or architectural thought → Proposal
- Single, obvious change — no design needed → Feature issue
- Something is broken or behaving wrong → Bug report
If unclear, ask the user: "Is this a quick fix or does it need a design doc?"
Workflow: Proposal
For big ideas that need phases and design.
- Discover proposal template (see Repo Discovery above)
- Research the codebase and any docs/ directory for relevant context
- Think through the design — motivation, approach, trade-offs
- Break into shippable phases (each phase delivers user value)
- Write acceptance criteria at both levels (overall + per-phase)
- Create the proposal doc at
docs/proposals/<name>.md - If
mkdocs.ymlexists, add the proposal to the nav under Proposals - If
docs/proposals/index.mdexists, add to the Active Proposals list - Create a GitHub issue for each phase using
gh issue create:- Title:
<Proposal name>: Phase N — <phase name> - Body: phase goal, acceptance criteria, tasks as checklist, link to proposal
- Label:
enhancement
- Title:
- Update the proposal doc with issue links for each phase
- Commit to a new branch and push
Proposal Quality Checklist
Before committing, verify:
- Summary is one clear paragraph
- Motivation explains why now
- Design covers user experience AND technical approach
- Every phase is independently shippable
- Acceptance criteria are testable (not vague)
- Open questions section exists (even if empty)
- Related section links to relevant docs, issues, or design docs
- Status is set to "Ready" (if issues created) or "Draft" (if not)
Workflow: Feature Issue
For small, self-contained enhancements.
- Discover feature template (see Repo Discovery above)
- Create a GitHub issue using
gh issue create:- Title: clear, action-oriented
- Body: summary, acceptance criteria as checklist, doc references if relevant
- Follow the repo's template format if one exists
- Label:
enhancement
- Report the issue number and URL to the user
Workflow: Bug Report
For problems and broken behavior.
- Discover bug template (see Repo Discovery above)
- Try to identify the relevant code by searching the codebase
- Create a GitHub issue using
gh issue create:- Title:
Bug: <concise description> - Body: description, steps to reproduce (if known), expected vs actual, relevant code files/lines, related docs
- Follow the repo's template format if one exists
- Label:
bug
- Title:
- Report the issue number and URL to the user
Important Rules
- Always use
gh issue create— it's repo-aware, handles auth - Always link back — issues reference proposals, proposals reference issues
- Proposals stay forever — status changes, docs never move or get deleted
- One proposal per feature — don't cram multiple ideas into one doc
- Phases must be shippable — each delivers user value, not just "backend work"
- Commit to a branch — never push directly to main
- Respect repo conventions — if the repo has CLAUDE.md or CONTRIBUTING.md, read and follow its branch naming, commit message, and PR conventions