github-cli

Original🇺🇸 English
Translated

GitHub CLI workflows for repositories, issues, pull requests, actions, releases, projects, and API calls. Use when creating PRs, reviewing code, triaging issues, triggering workflows, publishing releases, managing projects, verifying attestations, or querying the GitHub API. Use for gh cli, github automation, code review, release management.

1installs
Added on

NPX Install

npx skill4agent add oakoss/agent-skills github-cli

GitHub CLI Skill

Provides patterns for the
gh
CLI to interact with GitHub repositories, services, and APIs directly from the terminal. Covers authentication, repository management, issues, pull requests, actions, releases, projects, search, and the REST/GraphQL API. Git workflow patterns (branching, commits, CI/CD) are handled by a separate skill.

Quick Reference

AreaKey Commands
Auth
gh auth status
,
gh auth login
,
gh auth token
Repos
gh repo clone
,
gh repo create
,
gh repo fork
,
gh repo sync
Browse
gh browse
,
gh browse --settings
,
gh browse file.ts:42
Issues
gh issue list
,
gh issue create
,
gh issue edit
,
gh issue close
Pull Requests
gh pr create
,
gh pr review
,
gh pr merge
,
gh pr checkout
Actions
gh run list
,
gh run view
,
gh workflow run
,
gh cache list
Releases
gh release create
,
gh release list
,
gh release verify
Projects
gh project list
,
gh project create
,
gh project item-add
Search
gh search repos
,
gh search issues
,
gh search code
API
gh api repos/{owner}/{repo}
,
gh api graphql
Security
gh attestation verify
,
gh ruleset list
,
gh secret set
Status
gh status
,
gh pr checks
,
gh pr status
Codespaces
gh codespace create
,
gh codespace ssh
,
gh codespace code

Common Workflows

WorkflowCommands
Quick PR
git push -u origin feat
then
gh pr create --fill
Draft PR
gh pr create --draft --fill
then
gh pr ready
when done
Review and merge
gh pr checkout 45
then
gh pr review --approve
then
gh pr merge --squash --delete-branch
Auto-merge PR
gh pr merge --auto --squash
(waits for required checks to pass)
Check CI
gh pr checks
then
gh run watch
Rerun failed CI
gh run rerun <run-id> --failed
Create release
gh release create v1.0.0 --generate-notes
Search code
gh search code "handleAuth" --repo owner/repo
Add issue to project
gh project item-add 1 --owner @me --url <issue-url>
Verify artifact
gh attestation verify artifact.tar.gz --owner owner
Trigger workflow
gh workflow run deploy.yml -f environment=production
Revert merged PR
gh pr revert 45
Sync fork
gh repo sync
to update fork from upstream

Output Formatting

Most
gh
list and view commands support structured output for scripting and automation.
FlagPurpose
--json
Output specified fields as JSON
--jq
Filter JSON with jq expressions
-t
Format JSON with Go templates
--web
Open the resource in a browser
--comments
Include comments (issues and PRs)

Scoping: Repo, Env, Org

Secrets and variables can be scoped to different levels.
ScopeFlag Example
Repository
gh secret set KEY
(default)
Environment
gh secret set KEY --env production
Organization
gh secret set KEY --org name --visibility
Project commands always require
--owner @me
or
--owner org-name
.

Authentication Prerequisites

The
gh
CLI requires authentication before most commands work. Run
gh auth status
to verify the current session. Missing scopes cause silent failures -- use
gh auth refresh -s scope
to add scopes without re-authenticating. For CI environments, set the
GITHUB_TOKEN
or
GH_TOKEN
environment variable instead of interactive login.

Common Mistakes

MistakeCorrect Pattern
Running
gh pr create
without pushing the branch first
Push with
git push -u origin branch
before creating a PR
Using
gh pr merge
without checking CI status
Run
gh pr checks
first or use
gh pr merge --auto
to wait for checks
Forgetting
--fill
when creating PRs from well-written commits
Use
gh pr create --fill
to auto-populate title and body from commits
Using REST API when GraphQL is more efficient for nested dataUse
gh api graphql
for queries needing related objects in one call
Not authenticating with correct scopesRun
gh auth status
to verify scopes,
gh auth refresh -s scope
to add
Using
gh project
commands without specifying
--owner
Always pass
--owner @me
or
--owner org-name
for project commands
Manually downloading CI artifactsUse
gh run download <run-id>
to download artifacts programmatically
Not using
--json
for scripting
Add
--json field1,field2
and
--jq
for machine-readable output
Merging without
--delete-branch
Use
gh pr merge --squash --delete-branch
to clean up after merge
Running
gh api
POST without
-f
fields
Use
-f key=value
for string fields,
-F
for typed fields

Delegation

  • Search across repositories for code patterns or issues: Use
    Explore
    agent with
    gh search code
    and
    gh search issues
  • Automate multi-step release workflows: Use
    Task
    agent to coordinate branch creation, PR merge, and release publishing
  • Plan repository structure and access controls: Use
    Plan
    agent to design team permissions, branch protection, and workflow architecture

References

  • Repos & Auth -- Authentication, repository management, configuration, extensions, aliases
  • Issues -- Issue CRUD, labels, assignments, pinning, transferring, development branches
  • Pull Requests -- PR creation, review, merge, checkout, checks, diff, auto-merge
  • Actions -- Workflow runs, manual triggers, secrets, variables, caches, artifact downloads
  • Releases & Search -- Releases, attestation verification, search, gists, SSH/GPG keys
  • Projects & API -- Projects v2 management, REST API, GraphQL API, rulesets, status