github-project-bootstraplisted
Install: claude install-skill alvincrespo/skills
# GitHub Project Bootstrap
Turn a structured JSON plan into a live milestone, a linked Project (v2)
board, and the full set of epic and story issues on a real GitHub repo —
including sub-issue (`--parent`) and blocked-by relationships.
**This skill is user-invoked only.** Its frontmatter sets
`disable-model-invocation: true`, so Claude never fires it from
conversational context, no matter how strongly a request seems to imply
it — a human has to explicitly ask for a project to be bootstrapped, every
time. This skill creates real, only partly reversible GitHub artifacts (a
milestone, a project board, dozens of issues), which is exactly the case
`docs/adr/0002-invocation-control-on-github-actions.md` carves out for
explicit-only invocation.
## Invocation
```bash
python scripts/bootstrap_github_project.py \
--repo <owner>/<repo> \
--data <path/to/plan.json> \
[--project-title <title>] \
[--labels-file <path/to/labels.json>]
```
- `--repo` (required): the target repo as `owner/name`.
- `--data` (required): path to a JSON file describing the milestone, epics,
and release-validation issue to create. See "Plan file shape" below.
- `--project-title` (optional): title for the Project (v2) board. Defaults
to the repo's own name if omitted.
- `--labels-file` (optional): path to a labels JSON file, in the same
`{name, color, description}` array shape `github-labels-setup` uses.
Defaults to `github-labels-setup/labels/default.json` if omitted.
## What it does
1. Cre