plan-epicslisted
Install: claude install-skill saman-mb/shipmates
# /plan-epics — briefs → GitHub epics + user stories
Turn the brief(s) in **$ARGUMENTS** into a tracked backlog: one or more **epics** (labelled `epic`),
each broken into **user stories** (labelled `user-story` + area tags), created as GitHub issues and
cross-linked. When the work spans **multiple epics, a `product-manager` subagent authors each
epic's stories in parallel** — one PM per epic.
Input (**$ARGUMENTS**): the brief(s). May be inline text, a path to a file/dir of briefs, or several
briefs separated by `---` or numbered. If it's empty, ask the user for the brief before doing anything.
---
## Config (defaults — override only if the repo clearly needs it)
- `REPO` = current repo (`gh repo view --json nameWithOwner -q .nameWithOwner`).
- `EPIC_LABEL` = `epic`; `STORY_LABEL` = `user-story` (create if missing).
- `AREA_LABELS` = derived from the repo's existing `gh label list` (prefer the `area:*` family). Create
a new area label only when a story clearly needs one that doesn't exist — and say which you created.
- Issue-body trailer: `Claude-Session: ...` on every epic and story (read from the harness/session
context; do not invent).
- `DRY_RUN` = on if the caller says "dry run" / "preview": print the full plan and create NOTHING.
---
## Stage 0 — Intake & context (orchestrator)
1. Parse `$ARGUMENTS` into one or more briefs; read any referenced files/dirs.
2. Gather repo context so the backlog fits the project: `README` / `CLAUDE.md` (domain, conventions,