cli-gh

This skill should be used when the user mentions "gh CLI", "gh command", asks to "view repository info", "trigger workflows", "search GitHub", "manage…

INSTALLATION
npx skills add https://github.com/paulrberg/agent-skills --skill cli-gh
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

GitHub CLI (gh)

Overview

Expert guidance for GitHub CLI (gh) operations and workflows. Use this skill for command-line GitHub operations including pull request management, issue tracking, repository operations, workflow automation, and codespace management.

Key capabilities:

  • Create and manage pull requests from the terminal
  • Track and organize issues efficiently
  • Search across all of GitHub (repos, issues, PRs)
  • Manage labels and project organization
  • Trigger and monitor GitHub Actions workflows
  • Work with codespaces
  • Automate repository operations and releases
  • Browse repositories, PRs, and files in the browser

Safety Rules

CRITICAL: This skill NEVER uses destructive gh CLI operations.

This skill focuses exclusively on safe, read-only, or reversible GitHub operations. The following commands are PROHIBITED and must NEVER be used:

Permanently destructive commands:

  • gh repo delete - Repository deletion
  • gh repo archive - Repository archival
  • gh release delete - Release deletion
  • gh release delete-asset - Asset deletion
  • gh run delete - Workflow run deletion
  • gh cache delete - Cache deletion
  • gh secret delete - Secret deletion
  • gh variable delete - Variable deletion
  • gh label delete - Label deletion
  • gh ssh-key delete - SSH key deletion (can lock out users)
  • gh gpg-key delete - GPG key deletion
  • gh codespace delete - Codespace deletion
  • gh extension remove - Extension removal
  • gh gist delete - Gist deletion
  • Bulk deletion operations using xargs with any destructive commands
  • Shell commands: rm -rf (except for temporary file cleanup)

Allowed operations:

  • Creating resources (PRs, issues, releases, labels, repos)
  • Viewing and listing (status, logs, information, searches)
  • Updating and editing existing resources
  • Closing PRs/issues (reversible - can be reopened)
  • Reverting pull requests (creates a new revert PR)
  • Canceling workflow runs (stops execution without deleting data)
  • Merging pull requests (after proper review)
  • Read-only git operations (git status, git log, git diff)

Installation & Setup

# Login to GitHub

gh auth login

# Login and copy OAuth code to clipboard automatically

gh auth login --clipboard

# Check authentication status

gh auth status

# Check auth status with JSON output

gh auth status --json

# Configure git to use gh as credential helper

gh auth setup-git

Pull Requests

Creating PRs

# Create PR interactively

gh pr create

# Create PR with title and body

gh pr create --title "Add feature" --body "Description"

# Create PR to specific branch

gh pr create --base main --head feature-branch

# Create draft PR

gh pr create --draft

# Create PR from current branch

gh pr create --fill  # Uses commit messages

# Create PR with Copilot Code Review

gh pr create --reviewer @copilot

Viewing PRs

# List PRs

gh pr list

# List my PRs

gh pr list --author @me

# View PR details

gh pr view 123

# View PR in browser

gh pr view 123 --web

# View PR diff

gh pr diff 123

# View PR diff excluding specific files

gh pr diff 123 --exclude "*.lock"

# Check PR status

gh pr status

Managing PRs

# Checkout PR locally

gh pr checkout 123

# Review PR

gh pr review 123 --approve

gh pr review 123 --comment --body "Looks good!"

gh pr review 123 --request-changes --body "Please fix X"

# Request Copilot Code Review

gh pr edit 123 --add-reviewer @copilot

# Merge PR

gh pr merge 123

gh pr merge 123 --squash

gh pr merge 123 --rebase

gh pr merge 123 --merge

# Close PR

gh pr close 123

# Reopen PR

gh pr reopen 123

# Ready draft PR

gh pr ready 123

# Update PR branch with base branch

gh pr update-branch 123

# Revert a merged PR (creates a new revert PR)

gh pr revert 123

PR Checks

# View PR checks

gh pr checks 123

# Watch PR checks

gh pr checks 123 --watch

Issues

Creating Issues

# Create issue interactively

gh issue create

# Create issue with title and body

gh issue create --title "Bug report" --body "Description"

# Create issue with labels

gh issue create --title "Bug" --label bug,critical

# Assign issue

gh issue create --title "Task" --assignee @me

Viewing Issues

# List issues

gh issue list

# List my issues

gh issue list --assignee @me

# List by label

gh issue list --label bug

# Advanced issue search

gh issue list --search "is:open label:bug sort:created-desc"

# View issue details

gh issue view 456

# View in browser

gh issue view 456 --web

Managing Issues

# Close issue

gh issue close 456

# Close as duplicate, linking to the original issue

gh issue close 123 --duplicate-of 456

# Reopen issue

gh issue reopen 456

# Edit issue

gh issue edit 456 --title "New title"

gh issue edit 456 --add-label bug

gh issue edit 456 --add-assignee @user

# Comment on issue

gh issue comment 456 --body "Update"

# Create branch to work on issue

gh issue develop 456 --checkout

Repository Operations

Repository Info

# View repository

gh repo view

# View in browser

gh repo view --web

# Clone repository

gh repo clone owner/repo

# Clone without adding upstream remote

gh repo clone owner/repo --no-upstream

# Fork repository

gh repo fork owner/repo

# List repositories

gh repo list owner

Repository Management

# Create repository

gh repo create my-repo --public

gh repo create my-repo --private

# Sync fork

gh repo sync owner/repo

# Set default repository

gh repo set-default

Search

When the user asks to search GitHub repositories, issues, or pull requests, see references/search.md.

Labels

When the user asks to list, create, edit, or clone repository labels, see references/labels.md.

Codespaces

When the user asks to list, create, connect to, or manage files within GitHub Codespaces, see references/codespaces.md.

Browse

Open repositories, files, and resources in the browser.

# Open current repo in browser

gh browse

# Open specific file

gh browse src/main.go

# Open file at specific line

gh browse src/main.go:42

# Open blame view for a file

gh browse --blame src/main.go

# Open Actions tab

gh browse --actions

# Open specific branch

gh browse --branch feature

Releases

When the user asks to create, list, view, or download GitHub releases, see references/releases.md.

Gists

When the user asks to create, list, view, or edit GitHub gists, see references/gists.md.

Configuration

# Set default editor

gh config set editor vim

# Set default git protocol

gh config set git_protocol ssh

# View configuration

gh config list

# Set browser

gh config set browser firefox

Quick Reference

Common gh operations at a glance:

Operation

Command

Common Flags

Create PR

gh pr create

--draft, --fill, --reviewer @copilot

List PRs

gh pr list

--author @me, --label, --search

View PR

gh pr view <number>

--web, --comments

Merge PR

gh pr merge <number>

--squash, --rebase, --delete-branch

Revert PR

gh pr revert <number>

--body

Create issue

gh issue create

--title, --body, --label

List issues

gh issue list

--assignee @me, --label, --search

Close issue

gh issue close <number>

--duplicate-of, --reason

View issue

gh issue view <number>

--web, --comments

Browse repo

gh browse

--blame, --actions, --branch

Clone repo

gh repo clone <repo>

--no-upstream

Fork repo

gh repo fork

--clone, --remote

View repo

gh repo view

--web

Create release

gh release create <tag>

--title, --notes, --draft

Verify release

gh release verify <tag>

--repo

Run workflow

gh workflow run <name>

--ref, --field

Watch run

gh run watch <id>

--exit-status

Search repos

gh search repos <query>

--language, --stars

Create label

gh label create <name>

--color, --description

Create codespace

gh codespace create

--repo, --branch

Additional Resources

Reference Guides

For detailed patterns and advanced usage, see:

  • Advanced Features - Aliases, API access, extensions, secrets, SSH/GPG keys, organizations, projects, and advanced scripting
  • Automation Workflows - Common automation patterns, daily reports, release automation, and team collaboration workflows
  • Troubleshooting - Solutions for authentication, permissions, rate limiting, and common errors

Example Scripts

Practical automation scripts (see examples/ directory):

  • auto-pr-create.sh - Automated PR creation workflow
  • issue-triage.sh - Bulk issue labeling and assignment
  • workflow-monitor.sh - Watch and notify on workflow completion
  • release-automation.sh - Complete release workflow automation

External Documentation

JSON Output

When the user wants to use --json flags or needs the correct gh CLI JSON field names, see references/json-output.md.

Tips

  • Use --web flag to open items in browser for detailed view
  • Leverage interactive prompts by omitting parameters - most commands support interactive mode
  • Apply filters with --author, --label, --state to narrow down lists efficiently
  • Add --json flag to enable scriptable output for automation
  • **Always check --help for valid JSON field names** - they differ from GitHub API
  • Use gh repo create --template to scaffold from template repositories
  • Enable auto-merge with gh pr merge --auto for PRs that pass checks
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card