github-repo-initlisted
Install: claude install-skill alvincrespo/skills
# GitHub Repo Init
Create a GitHub repository from the current directory's contents, push it,
and set its topics — via this skill's `scripts/setup_repo.sh`.
Per `docs/adr/0002-invocation-control-on-github-actions.md`, this skill is
marked `disable-model-invocation: true`: it creates a real, externally
visible GitHub repository, which is only partly reversible (deleting a
populated repo is possible but destructive and easy to regret). Claude
must never fire this skill from inferred conversational context — only run
it when a human explicitly asks, in so many words, in the current turn.
## Invocation
Run with the project to be published as the current working directory
— not from an empty directory, and not from this skill's own folder. Call
the script by its path inside this skill:
```bash
${CLAUDE_SKILL_DIR}/scripts/setup_repo.sh <owner>/repo-name \
[--description "..."] [--topics "a,b,c"]
```
`<owner>/repo-name` is required; the script exits with a usage message if
it's missing.
### `--description`
Repo description passed to `gh repo create --description`. It must be a
single line: a description containing a control character (such as a
newline from a wrapped paste) is rejected before anything is created,
since GitHub would reject it only after the local `git init` and commit.
- Default: `"A small, growing collection of Claude Skills for real
engineering workflows."`
### `--topics`
Comma-separated topics passed to `gh repo edit --add-topic` (one
`--add-topic