GitHub Operations

VerifiedCaution

Manage GitHub workflows using the gh CLI: create PRs, manage issues, search code, etc.

Sby Skills Guide Bot
DevOpsBeginner
7/22/2026
Claude Code
#github#pull-requests#cli#issues#ci-status

Recommended for

Automated summary

This skill drives common GitHub operations (pull requests, issues, CI status, code search) through the gh CLI.

Strengths

  • Covers the full PR lifecycle: creation, viewing, commenting, and CI checks
  • Auto-detects the parent base branch with fallback to development/develop/main/master
  • Handles PR templates (.github/PULL_REQUEST_TEMPLATE.md) and falls back to --web
  • Provides ready-to-use commands for issues and code search

Limitations

  • Assumes gh is installed and authenticated without verifying this first
  • Parent branch detection via git show-branch can fail on complex histories
  • Does not cover detailed code review, merges, or release management
When to use it

Use it whenever a user asks to create, view, or track a PR, an issue, or CI status on GitHub.

When not to use it

Avoid it for local Git operations unrelated to GitHub or workflows needing APIs that gh does not expose.

Security analysis

Caution
Quality score76/100

All commands are conventional, non-destructive GitHub/git workflows (branch inspection, push, PR/issue creation, code search). There is no exfiltration of tokens, no curl|sh, no rm -rf, no obfuscation, and nothing that disables safety controls. The only concerns are the implicit `git push` side effect and interactive `gh auth login`/`--web` flows, which warrant a caution rating rather than risky.

Findings
  • •Skill has no declared allowed-tools but instructs the agent to run shell commands (git, gh) and perform network operations via the GitHub CLI
  • •Automatically runs `git push -u origin $(git branch --show-current)` without an explicit user confirmation step
  • •Unquoted command substitution in the push and base-branch detection snippets can misbehave on unusual branch names
  • •`gh pr create --web` and `gh auth login` open a browser / interactive OAuth flow
How this analysis is made

Examples

Créer une pull request
Create a pull request for my current branch with a descriptive title
Vérifier la CI
Check the CI status of PR 123 and tell me which checks are failing
Rechercher du code
Search the repo for usages of the deprecated authenticate() function

name: gh description: GitHub operations using gh CLI for any repository. Use when the user asks to "create pr", "create pull request", "view pr", "check ci", "pr status", "list prs", "create issue", "view issue", "search code", or any other GitHub-related operations. Handles PR creation with proper base branch detection, template support, and project conventions. user-invocable: true model: haiku trigger:

  • pull request
  • create pr
  • create pull request
  • make pull request
  • make a pr
  • open pull request
  • open a pr
  • github pr
  • check ci
  • pr status
  • view pr
  • list prs
  • show prs
  • my prs
  • pr checks
  • create issue
  • github issue
  • view issue
  • list issues
  • search code
  • search repo
  • repository search

GitHub Operations

Manage GitHub workflows using the gh CLI.

When to Use This Skill

Use this skill when the user asks to:

  • Create a pull request
  • View PR details or status
  • Check CI/CD pipeline status
  • Manage issues
  • Review PR comments
  • Search repository code or issues

Commands

Create Pull Request

When creating a PR:

  1. Verify current branch and changes:

    git branch --show-current
    git status
    
  2. Check if branch is pushed:

    git log @{u}.. 2>/dev/null || echo "Branch not pushed"
    
  3. Push if needed:

    git push -u origin $(git branch --show-current)
    
  4. Detect parent branch (if base not specified):

    Find the parent branch from which the current branch was created:

    PARENT_BRANCH=$(git show-branch -a 2>/dev/null | grep '\*' | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -n1 | sed 's/.*\[\(.*\)\].*/\1/' | sed 's/[\^~].*//' | sed 's/remotes\/origin\///')
    
    # Fall back to common default branches if detection fails
    if [ -z "$PARENT_BRANCH" ]; then
      for branch in development develop main master; do
        if git show-ref --verify --quiet refs/remotes/origin/$branch; then
          PARENT_BRANCH=$branch
          break
        fi
      done
    fi
    
  5. Create PR:

    Check if a PR template exists and use it, otherwise open in browser:

    if [ -f .github/PULL_REQUEST_TEMPLATE.md ]; then
      gh pr create --title "Brief title (under 70 chars)" --base "$PARENT_BRANCH" --template .github/PULL_REQUEST_TEMPLATE.md
    else
      gh pr create --title "Brief title (under 70 chars)" --base "$PARENT_BRANCH" --web
    fi
    

    Base branch logic:

  • Auto-detect: Use the parent branch from which current branch was created
  • Fallback: Use common default branches if detection fails
  • Override: Use explicitly specified base branch if provided by user

Template handling:

  • If .github/PULL_REQUEST_TEMPLATE.md exists: Use --template flag to fill it via CLI
  • If no template: Use --web flag to open browser for manual description
  1. Display PR URL to user

View Pull Request

# View specific PR
gh pr view 123

# View PR in browser
gh pr view 123 --web

# List open PRs
gh pr list

# List PRs by author
gh pr list --author @me

Check PR Status

# Check CI/CD status
gh pr checks 123

# View PR status
gh pr status

PR Comments

# View comments on PR
gh pr view 123 --comments

# Add comment to PR
gh pr comment 123 --body "Your comment here"

Issue Management

# Create issue
gh issue create --title "Issue title" --body "Issue description"

# View issue
gh issue view 456

# List open issues
gh issue list

# Search issues
gh issue list --search "keyword"

Code Search

# Search code in current repository
gh search code "search term"

# Search code in specific repository
gh search code --repo owner/repo "search term"

View Commits

# List recent commits on current branch
git log --oneline -10

# View specific commit
gh pr view <commit-sha>

PR Best Practices

Title Format

  • Keep under 70 characters
  • Use imperative mood: "Add feature" not "Added feature"
  • Be specific but concise

Examples:

  • ✅ "Optimize CLAUDE.md by removing general knowledge"
  • ✅ "Fix memory leak in ChatController disposal"
  • ✅ "Add snapshot tests for CallVisualizer UI"
  • ❌ "Update files" (too vague)
  • ❌ "This PR adds a new feature to handle user authentication and also fixes some bugs" (too long)

Description Format

  • If the repository has a PR template at .github/PULL_REQUEST_TEMPLATE.md, use the --template flag
  • If no template exists, use the --web flag to open browser for manual description
  • Never create custom descriptions with --body - always use template or browser

Base Branch Selection

  • Auto-detect: Automatically use the parent branch from which the current branch was created
  • Fallback: Use common default branches (development, develop, main, or master) if parent branch detection fails
  • Override: Use explicitly specified base branch if the user requests it (e.g., "create PR against master")

Error Handling

If gh is not authenticated:

Run: gh auth login
Follow browser-based OAuth flow

If gh is not installed:

macOS: brew install gh
Or download from: https://cli.github.com/

Important Notes

  • Check for PR template first: Use --template if .github/PULL_REQUEST_TEMPLATE.md exists, otherwise use --web
  • Never use --body parameter: Always use template or browser for PR descriptions
  • Always verify branch is pushed before creating PR
  • Check CI status before requesting review

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/github-operations-mrwakdcs/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/github-operations-mrwakdcs' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/github-operations-mrwakdcs/download' --output '.skill-downloads/github-operations-mrwakdcs/SKILL.md.part' && mv '.skill-downloads/github-operations-mrwakdcs/SKILL.md.part' '.skill-downloads/github-operations-mrwakdcs/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/github-operations-mrwakdcs/SKILL.md' && test -s '.skill-downloads/github-operations-mrwakdcs/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/gh' && cp -R '.skill-downloads/github-operations-mrwakdcs' '.claude/skills/gh'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/github-operations-mrwakdcs'

openskills read 'github-operations-mrwakdcs'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/github-operations-mrwakdcs/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills