← ClaudeAtlas

github-project-bootstraplisted

Bootstrap a GitHub milestone, a linked Project (v2) board, and every epic/story issue (with sub-issue and blocked-by relationships) on a repo from a structured JSON plan.
alvincrespo/skills · ★ 0 · AI & Automation · score 67
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