Initial commit
This commit is contained in:
210
skills/github-ops/SKILL.md
Normal file
210
skills/github-ops/SKILL.md
Normal file
@@ -0,0 +1,210 @@
|
||||
---
|
||||
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.
|
||||
Reference in New Issue
Block a user