gh-breakdownlisted
Install: claude install-skill fadymondy/gh-pms
# gh-breakdown
Decompose a plan into child issues using GitHub's native milestone + sub-issue + project primitives.
## When to use
- Right after `gh-plan` creates a parent
- User says "break down the plan", "create the features for milestone X", "split this plan"
- A plan needs more children than its checklist suggests
## Inputs
- Tracker issue number (e.g. `#42`) — the plan's tracker
- A JSON array of child specs:
```json
[
{"kind": "feature", "title": "Bridge endpoint", "objective": "...", "services": ["bridge"], "depends_on": []},
{"kind": "feature", "title": "React hook", "objective": "...", "services": ["app"], "depends_on": [0]},
{"kind": "testcase", "title": "E2E flow", "objective": "...", "services": ["app"], "depends_on": [0, 1]}
]
```
`depends_on` references **0-based indices** within this array. The skill resolves them to real issue numbers after each child is created.
## What it does
### Step 1 — Read the plan tracker
`mcp__github__issue_read` for the tracker `#42`. Pull out:
- Title (used to find the milestone)
- Labels (carry `svc:*` forward to children if not specified)
- A `## Cross-repo milestones` section if present — list of `(repo, milestone-number)` pairs. When set, this plan is **cross-repo** and child routing is determined by each child's `svc:*` label.
### Step 2 — Resolve the milestone
```bash
M=$(${CLAUDE_PLUGIN_ROOT}/lib/ghcall.sh ensure-milestone "{tracker_title}")
```
Idempotent — returns existing milestone number