Our review
This skill installs and configures the GitHub CLI (gh) for agents working with Git remotes behind a local proxy, then documents the required -R usage and provides scripts for managing GitHub issues, labels, milestones, and projects.
Strengths
- Cross-platform installation script with SHA256 verification and architecture detection.
- Handles proxy environments by enforcing -R owner/repo on every gh command.
- GITHUB_TOKEN authentication with anonymous fallback on 401/403 failures.
- Ready-to-use Python scripts for labels, milestones, issues, and Projects V2.
Limitations
- Assumes uv is available and scripts live under .claude/skills/gh/scripts.
- Covers GitHub only, not other Git forges.
- Authenticated operations depend on GITHUB_TOKEN; anonymous mode has API limitations.
Use when gh is missing, remotes point to a local proxy, or you need to automate GitHub operations such as issues, PRs, labels, milestones, or projects.
Avoid when gh is already installed and authenticated with direct github.com remotes, or when working with a non-GitHub forge.
Security analysis
CautionThe skill instructs installation of the official GitHub CLI via a script that downloads, verifies, and installs a binary, and it uses the GITHUB_TOKEN for API operations. These are powerful but legitimate actions with no evidence of exfiltration, destruction, or obfuscation. The reliance on a separate script not shown in the skill file warrants caution but not rejection.
- •Downloads and installs a binary from the internet (GitHub CLI official release) with SHA256 verification.
- •Uses GITHUB_TOKEN for authenticated GitHub API operations.
- •The actual setup script content is not included in this file, so the described safety checks cannot be fully audited.
Examples
gh is missing in this environment and `git remote -v` shows only 127.0.0.1. Install GitHub CLI with the setup script, then run `gh auth status` using GITHUB_TOKEN.Using the gh skill, create a `v1.0` milestone due 2026-03-31 and list all P1 issues in owner/repo.Initialize the label taxonomy and GitHub Projects V2 board for owner/repo with the github_project_setup.py script.name: gh description: "Install and configure the GitHub CLI (gh) for AI agent environments where gh may not be pre-installed and git remotes use local proxies instead of github.com. Use when gh command not found, shutil.which returns None, need GitHub API access for issues or PRs or releases or workflow runs, or repository operations fail with 'failed to determine base repo' error. Provides auto-install script with SHA256 verification, GITHUB_TOKEN auth with anonymous fallback, and the required -R flag pattern for proxy environments. Covers project management via GitHub Projects V2, milestones via REST API, issue lifecycle templates, and label taxonomy management."
GitHub CLI (gh) — Setup and Usage
Purpose
Ensures the GitHub CLI (gh) is available and provides correct usage patterns for AI agents operating in environments where gh may not be pre-installed and where git remotes point to local proxies instead of github.com.
When to Use
ghcommand not found orshutil.which("gh")returns None- Need to interact with GitHub API (issues, PRs, releases, workflows)
- Repository remote does not point to
github.com(proxy environments) - Need authenticated GitHub operations with
GITHUB_TOKEN - Managing GitHub Issues, Projects V2, Milestones, or Labels
Installation
If gh is not installed, run the setup script:
uv run .claude/skills/gh/scripts/setup_gh.py
The script:
- Checks if
ghis already installed viashutil.which - Detects platform (Linux, macOS, Windows) and architecture
- Fetches the latest release from
https://github.com/cli/cli/releases/latest - Downloads the correct archive with SHA256 verification from checksums file
- Extracts and installs the binary to a writable PATH directory
- Uses
GITHUB_TOKENfor authenticated requests; falls back to anonymous if auth fails (401/403)
CLI options:
--force Reinstall even if already at latest version
--dry-run Show what would happen without installing
--bin-dir Override install directory (default: auto-detect from PATH)
--detect-only Detect owner/repo, refresh .dh/config.yaml and gh-examples.md, print examples to stdout. No network calls.
Authentication
GITHUB_TOKEN environment variable provides automatic authentication. No manual gh auth login needed.
# Verify authentication
gh auth status
If GITHUB_TOKEN is set, gh authenticates automatically for all API calls.
Repository Detection
<repo_detection>
Git remote points to a local proxy (127.0.0.1), NOT github.com. Every gh command fails without explicit repo specification:
failed to determine base repo: none of the git remotes configured for this
repository point to a known GitHub host.
RULE: Pass -R (or --repo) on EVERY gh command:
gh <command> -R <owner/repo>
This applies to ALL gh subcommands: pr, issue, run, api, release, project, etc.
</repo_detection>
Common Commands
!uv run --script .claude/skills/gh/scripts/setup_gh.py --detect-only 2>/dev/null
Automation — Python Script
For multi-step operations (label setup, milestone creation, project init, issue import), use:
# Full project setup
uv run .claude/skills/gh/scripts/github_project_setup.py setup
# Labels only
uv run .claude/skills/gh/scripts/github_project_setup.py labels
# Milestone management
uv run .claude/skills/gh/scripts/github_project_setup.py milestone list
uv run .claude/skills/gh/scripts/github_project_setup.py milestone create --title "v1.0" --due 2026-03-31
# Issue management
uv run .claude/skills/gh/scripts/github_project_setup.py issue list --priority p1
uv run .claude/skills/gh/scripts/github_project_setup.py issue create --title "feat: X" --priority-label priority:p1
The script delegates all GitHub operations to the authenticated gh CLI — no separate API tokens or Python HTTP clients needed.
Reference Files
- labels.md — Label taxonomy (priority, type, status), color codes, bulk setup
- milestones.md — Milestone CRUD via REST API, naming conventions
- projects-v2.md — GitHub Projects V2 commands, custom fields, GraphQL queries
- issue-stories.md — Issue as story format, body template, lifecycle, backlog item field mapping
Sources
- GitHub CLI Manual — official reference
- GitHub CLI Releases — binary downloads
- GitHub REST API — Issues — milestones, labels, issues
- GitHub Projects V2 API — GraphQL API
gh version 2.87.2 (2026-02-20)— version verified by installation test
Docker Compose Architect
DevOps
Designs optimized Docker Compose configurations.
Incident Postmortem Writer
DevOps
Writes structured and blameless incident postmortem reports.
Runbook Creator
DevOps
Creates clear operational runbooks for common DevOps procedures.