home / skills / daymade / claude-code-skills / github-ops

github-ops skill

/github-ops

This skill orchestrates GitHub tasks using gh CLI and APIs, from PRs and issues to workflows and API queries, boosting automation and accuracy.

npx playbooks add skill daymade/claude-code-skills --skill github-ops

Review the files below or copy the command above to add this skill to your agents.

Files (6)
SKILL.md
6.2 KB
---
name: github-ops
description: Provides comprehensive GitHub operations using gh CLI and GitHub API. Activates when working with pull requests, issues, repositories, workflows, or GitHub API operations including creating/viewing/merging PRs, managing issues, querying API endpoints, and handling GitHub workflows in enterprise or public GitHub environments.
---

# GitHub Operations

## Overview

This skill provides comprehensive guidance for GitHub operations using the `gh` CLI tool and GitHub REST/GraphQL APIs. Use this skill when performing any GitHub-related tasks including pull request management, issue tracking, repository operations, workflow automation, and API interactions.

## When to Use This Skill

This skill activates for tasks involving:
- Creating, viewing, editing, or merging pull requests
- Managing GitHub issues or repository settings
- Querying GitHub API endpoints (REST or GraphQL)
- Working with GitHub Actions workflows
- Performing bulk operations on repositories
- Integrating with GitHub Enterprise
- Automating GitHub operations via CLI or API

## Core Operations

### Pull Requests

```bash
# Create PR with NOJIRA prefix (bypasses JIRA enforcement checks)
gh pr create --title "NOJIRA: Your PR title" --body "PR description"

# List and view PRs
gh pr list --state open
gh pr view 123

# Manage PRs
gh pr merge 123 --squash
gh pr review 123 --approve
gh pr comment 123 --body "LGTM"
```

πŸ“š See `references/pr_operations.md` for comprehensive PR workflows

**PR Title Convention:**
- With JIRA ticket: `GR-1234: Descriptive title`
- Without JIRA ticket: `NOJIRA: Descriptive title`

### Issues

```bash
# Create and manage issues
gh issue create --title "Bug: Issue title" --body "Issue description"
gh issue list --state open --label bug
gh issue edit 456 --add-label "priority-high"
gh issue close 456
```

πŸ“š See `references/issue_operations.md` for detailed issue management

### Repositories

```bash
# View and manage repos
gh repo view --web
gh repo clone owner/repo
gh repo create my-new-repo --public
```

### Workflows

```bash
# Manage GitHub Actions
gh workflow list
gh workflow run workflow-name
gh run watch run-id
gh run download run-id
```

πŸ“š See `references/workflow_operations.md` for advanced workflow operations

### GitHub API

The `gh api` command provides direct access to GitHub REST API endpoints. Refer to `references/api_reference.md` for comprehensive API endpoint documentation.

**Basic API operations:**
```bash
# Get PR details via API
gh api repos/{owner}/{repo}/pulls/{pr_number}

# Add PR comment
gh api repos/{owner}/{repo}/issues/{pr_number}/comments \
  -f body="Comment text"

# List workflow runs
gh api repos/{owner}/{repo}/actions/runs
```

For complex queries requiring multiple related resources, use GraphQL. See `references/api_reference.md` for GraphQL examples.

## Authentication and Configuration

```bash
# Login to GitHub
gh auth login

# Login to GitHub Enterprise
gh auth login --hostname github.enterprise.com

# Check authentication status
gh auth status

# Set default repository
gh repo set-default owner/repo

# Configure gh settings
gh config set editor vim
gh config set git_protocol ssh
gh config list
```

## Output Formats

Control output format for programmatic processing:

```bash
# JSON output
gh pr list --json number,title,state,author

# JSON with jq processing
gh pr list --json number,title | jq '.[] | select(.title | contains("bug"))'

# Template output
gh pr list --template '{{range .}}{{.number}}: {{.title}}{{"\n"}}{{end}}'
```

πŸ“š See `references/best_practices.md` for shell patterns and automation strategies

## Quick Reference

**Most Common Operations:**
```bash
gh pr create --title "NOJIRA: Title" --body "Description"  # Create PR
gh pr list                                                  # List PRs
gh pr view 123                                              # View PR details
gh pr checks 123                                            # Check PR status
gh pr merge 123 --squash                                    # Merge PR
gh pr comment 123 --body "LGTM"                            # Comment on PR
gh issue create --title "Title" --body "Description"       # Create issue
gh workflow run workflow-name                               # Run workflow
gh repo view --web                                          # Open repo in browser
gh api repos/{owner}/{repo}/pulls/{pr_number}              # Direct API call
```

## Resources

### references/pr_operations.md

Comprehensive pull request operations including:
- Detailed PR creation patterns (JIRA integration, body from file, targeting branches)
- Viewing and filtering strategies
- Review workflows and approval patterns
- PR lifecycle management
- Bulk operations and automation examples

Load this reference when working with complex PR workflows or bulk operations.

### references/issue_operations.md

Detailed issue management examples including:
- Issue creation with labels and assignees
- Advanced filtering and search
- Issue lifecycle and state management
- Bulk operations on multiple issues
- Integration with PRs and projects

Load this reference when managing issues at scale or setting up issue workflows.

### references/workflow_operations.md

Advanced GitHub Actions workflow operations including:
- Workflow triggers and manual runs
- Run monitoring and debugging
- Artifact management
- Secrets and variables
- Performance optimization strategies

Load this reference when working with CI/CD workflows or debugging failed runs.

### references/best_practices.md

Shell scripting patterns and automation strategies including:
- Output formatting (JSON, templates, jq)
- Pagination and large result sets
- Error handling and retry logic
- Bulk operations and parallel execution
- Enterprise GitHub patterns
- Performance optimization

Load this reference when building automation scripts or handling enterprise deployments.

### references/api_reference.md

Contains comprehensive GitHub REST API endpoint documentation including:
- Complete API endpoint reference with examples
- Request/response formats
- Authentication patterns
- Rate limiting guidance
- Webhook configurations
- Advanced GraphQL query patterns

Load this reference when performing complex API operations or when needing detailed endpoint specifications.

Overview

This skill provides comprehensive GitHub operations using the gh CLI and GitHub REST/GraphQL APIs. It streamlines pull request and issue workflows, repository management, and GitHub Actions automation for both public GitHub and GitHub Enterprise. Use it to run, script, and automate common and advanced GitHub tasks reliably.

How this skill works

The skill issues gh CLI commands and formulates REST or GraphQL API calls to inspect and modify GitHub resources. It can create, view, edit, review, and merge pull requests; manage issues and repository settings; run and monitor workflows; and query API endpoints for structured JSON output. Authentication and configuration steps are handled with gh auth and gh config commands to support enterprise hosts and scripting environments.

When to use it

  • Creating, reviewing, or merging pull requests and enforcing title conventions
  • Creating, labeling, assigning, editing, or closing issues at scale
  • Cloning, creating, viewing, or configuring repositories and defaults
  • Running, monitoring, and debugging GitHub Actions workflows and runs
  • Querying REST or GraphQL endpoints for automation and reporting
  • Automating repeated operations across many repos or enterprise hosts

Best practices

  • Use gh auth login and set gh repo set-default to simplify scripts
  • Prefer JSON (--json) or template output for reliable parsing and jq processing
  • Adopt PR title conventions (JIRA prefix or NOJIRA) to integrate with tooling
  • Use GraphQL for complex queries that join related resources in one request
  • Handle pagination, rate limits, and retries in automation scripts

Example use cases

  • Create a NOJIRA or JIRA-linked pull request from CI and set reviewers
  • Bulk-close or relabel issues across multiple repositories using gh api
  • Run a workflow manually, stream its logs, and download artifacts for debugging
  • Query pull request metadata in JSON to feed a dashboard or release notes
  • Authenticate to a GitHub Enterprise host and set default repository for CI jobs

FAQ

Do I need personal access tokens or special creds?

Use gh auth login to set up authentication; gh manages tokens. For enterprise, include --hostname during login and ensure tokens have required scopes.

When should I use GraphQL vs REST?

Use REST for simple, single-resource calls. Use GraphQL when you need to fetch multiple related resources in one request to reduce round trips and simplify client-side joins.