instructa/gh-repo-bootstrap
Create a new GitHub repository with the gh CLI and bootstrap a local project in ~/projects with git init, README, remote setup, and initial push. Use when the user asks to create a repo (public/private) in their account, set up the local folder, add the upstream remote, and push the first commit.
npx skills add https://github.com/instructa/agent-skills --skill gh-repo-bootstrap
Create a GitHub repo in the authenticated account and initialize a matching local project under ~/projects/<name> with a git repo, initial commit, remote, and upstream push using the bundled script.
public or private).gh is installed and authenticated (gh auth status).git is installed and user.name + user.email are configured.~/projects exists or can be created.Use the bundled script to create the local repo, commit, create the remote, and push.
python3 scripts/gh_repo_bootstrap.py <name> --visibility public|private [options]
Return the local path, remote URL, and current branch.
Minimal public repo:
python3 scripts/gh_repo_bootstrap.py my-app --visibility public
Private repo with description:
python3 scripts/gh_repo_bootstrap.py my-app --visibility private --description "My new project"
Create repo in an organization:
python3 scripts/gh_repo_bootstrap.py my-app --visibility public --owner my-org
Add gitignore + license templates:
python3 scripts/gh_repo_bootstrap.py my-app --visibility public --gitignore Go --license mit
Skip README and customize initial commit message:
python3 scripts/gh_repo_bootstrap.py my-app --visibility public --no-readme --commit-message "Initial scaffold"
README.md by default; use --no-readme to skip it.gh api only when requested.--projects-dir to override the default ~/projects root.scripts/gh_repo_bootstrap.py: canonical automation for local setup, remote creation, and initial push.Take instructa/gh-repo-bootstrap from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.