skills/github/SKILL.md
GitHub CLI operations via `gh` for issues, PRs, Actions, releases, and REST/GraphQL API with `--json`/`--jq` parsing. Triggers on: "create an issue", "submit a PR", "check CI status", "why did CI fail", "merge a PR", or pasted GitHub URLs.
npx skillsauth add mathews-tom/armory githubInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
All GitHub operations use the gh CLI. Prefer --json with --jq for structured,
parseable output. Use --repo owner/repo when not inside a git repository with a
configured remote. Use --web to open any resource in the browser.
| Platform | Command |
| ------------- | --------------------------- |
| macOS | brew install gh |
| Debian/Ubuntu | sudo apt install gh |
| Windows | winget install GitHub.cli |
gh auth login # interactive OAuth login
gh auth status # check current auth and active account
| Scope | Grants Access To |
| ------------- | -------------------------------------------- |
| repo | Private repos, issues, PRs, commits, status |
| read:org | Org membership, team listing |
| workflow | Trigger and manage GitHub Actions workflows |
| gist | Create and manage gists |
| delete_repo | Delete repositories (not granted by default) |
| admin:org | Manage org settings, teams, members |
| project | Read/write access to ProjectV2 boards |
Add missing scopes without re-authenticating from scratch:
gh auth refresh --scopes repo,read:org,workflow
| User intent | Load |
| --------------------------------------------------------------- | ------------------------------------ |
| Create/list/view/edit/close issues, add comments | references/issues.md |
| Create/list/view/review/merge/edit/close pull requests | references/pull-requests.md |
| List runs, view logs, trigger/rerun/watch workflows, artifacts | references/ci-actions.md |
| Create/fork/clone/view/edit/archive/delete repositories | references/repos.md |
| Create/list/view/edit/upload/delete releases | references/releases.md |
| Search repos, issues, PRs, code, commits | references/search.md |
| Raw REST/GraphQL via gh api, pagination, rate limit | references/api.md |
| GraphQL cost model, bulk queries, mutations, rate limits | references/graphql-queries.md |
| Multi-step workflow recipes (PR lifecycle, CI triage, releases) | references/automation-workflows.md |
| Create/list/view/edit/delete gists | references/gists.md |
| List orgs, teams, members | references/orgs.md |
references/<file>.md for command syntax and examples.gh command with --repo owner/repo and --json/--jq as needed.| Error | Cause | Resolution |
| ----------------------------- | ------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| HTTP 401 Unauthorized | Token expired or revoked | Run gh auth login to re-authenticate |
| HTTP 403 Forbidden | Insufficient permissions or rate limited | Check gh auth status for scopes; check gh api rate_limit |
| HTTP 404 Not Found | Repo does not exist, is private without repo scope, or resource deleted | Verify repo name; run gh auth refresh --scopes repo |
| HTTP 422 Unprocessable Entity | Invalid payload — missing required field, validation error | Check request body fields match API schema |
| HTTP 429 Too Many Requests | REST rate limit exceeded (5000 req/hr authenticated) | Wait for X-RateLimit-Reset timestamp; reduce request frequency |
| GraphQL rate limit exceeded | Used more than 5000 points/hr | Reduce query complexity or wait; see references/graphql-queries.md |
| "no git remotes found" | Running gh outside a git repo without --repo | Add --repo owner/repo to the command |
| Insufficient OAuth scopes | Token lacks required scope for the operation | Run gh auth refresh --scopes scope1,scope2 |
| Duplicate issue/PR title | Not a real error — GitHub allows duplicates, but check before creating | Search with gh issue list or gh pr list first |
| Archived repo blocks writes | Repo is archived; all write operations fail | Unarchive with gh repo edit owner/repo --archived=false or use a different repo |
Enable debug logging to see raw HTTP requests and responses:
GH_DEBUG=api gh pr list --repo owner/repo
--json over parsing text output. Text output formats are unstable across gh versions. Always use --json field1,field2 to get machine-readable output.--jq to minimize output before processing. Filter at the source rather than piping large JSON blobs to external tools. --jq runs server-side and reduces data transferred.gh issue create instead of gh api repos/.../issues -X POST. High-level commands handle auth, pagination, and error formatting automatically.--repo consistently when outside a git directory. Never rely on implicit repo detection in scripts or CI environments. Always pass --repo owner/repo explicitly.gh commands require internet access; no offline mode.first/last values consume points faster. See references/graphql-queries.md.gh secret set works, but there is no gh secret get.
Secret values cannot be retrieved after creation.admin:org
scope, which is not granted by default.testing
Manages dependent branch stacks and stacked pull requests using safe Git topology rules. Triggers on: "create stacked PRs", "publish this stack", "sync my PR stack", "rebase this stack", "merge the stack", "retarget child PRs", "split this branch into stacked PRs", "validate this stack", "cleanup stacked branches". Use when local branches or one source branch need to become a dependency-ordered PR stack with correct parent bases, validation, synchronization, merge order, and cleanup.
development
Scaffolds per-repository agent context so coding agents share the same issue tracker rules, triage label vocabulary, domain glossary, ADR layout, and handoff conventions. Triggers on: "set up project context", "configure agent docs", "create CONTEXT.md", "setup agent workflow", "agent issue tracker setup", "triage labels", "domain glossary for agents". Use when a repo needs durable context files before planning, triage, debugging, TDD, architecture review, or multi-agent implementation.
testing
Produces phased task boards from feature requests: dependency-mapped work items, parallelization flags, risk flags, edge cases, test matrices. Triggers on: "decompose this feature", "task breakdown with dependencies", "phased implementation plan", "work breakdown structure". NOT for effort estimates, use estimate-calibrator.
development
Hypothesis-driven debugging with ranked hypotheses, git bisect strategy, instrumentation planning, and minimal reproduction design. Triggers on: "debug this systematically", "root cause analysis", "bisect this bug", "rank hypotheses", "isolate this issue", "minimal reproduction". NOT for general reasoning.