Awesome-omni-skill github-automation
Automate GitHub operations using gh CLI - manage repositories, issues, pull requests, releases, and workflows. Use when working with GitHub, managing repos, creating issues/PRs, or when users mention GitHub operations, gh CLI, or repository management.
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/tools/github-automation-majiayu000" ~/.claude/skills/diegosouzapw-awesome-omni-skill-github-automation-c1d4e5 && rm -rf "$T"
skills/tools/github-automation-majiayu000/SKILL.mdGitHub Automation
This Skill helps you manage GitHub operations using the
gh CLI, including repositories, issues, pull requests, releases, and GitHub Actions workflows.
Capabilities
- Repositories: Create, clone, fork, view, and manage repos
- Issues: Create, list, view, close, comment, and label issues
- Pull Requests: Create, review, merge, list, and comment on PRs
- Releases: Create releases and manage tags
- Workflows: View and manage GitHub Actions
- Gists: Create and manage gists
- Search: Search repos, issues, PRs, code, and users
Authentication
The
GITHUB_TOKEN environment variable is pre-configured. Verify with:
gh auth status
Instructions
Phase 1: Understand the Request
- Clarify what GitHub operation the user needs
- Identify the target repository (if not specified, ask)
- Confirm any destructive operations before executing
Phase 2: Execute the Operation
Use
gh CLI commands. Common patterns:
Repository Operations
gh repo view <owner>/<repo> gh repo clone <owner>/<repo> gh repo create <name> --public/--private gh repo list <owner>
Issue Operations
gh issue list --repo <owner>/<repo> gh issue create --repo <owner>/<repo> --title "Title" --body "Body" gh issue view <number> --repo <owner>/<repo> gh issue close <number> --repo <owner>/<repo> gh issue comment <number> --repo <owner>/<repo> --body "Comment"
Pull Request Operations
gh pr list --repo <owner>/<repo> gh pr create --repo <owner>/<repo> --title "Title" --body "Body" gh pr view <number> --repo <owner>/<repo> gh pr merge <number> --repo <owner>/<repo> gh pr review <number> --repo <owner>/<repo> --approve/--comment/--request-changes gh pr checks <number> --repo <owner>/<repo>
Search Operations
gh search repos <query> gh search issues <query> gh search prs <query> gh search code <query>
GitHub Actions
gh run list --repo <owner>/<repo> gh run view <run-id> --repo <owner>/<repo> gh workflow list --repo <owner>/<repo>
Releases
gh release list --repo <owner>/<repo> gh release create <tag> --repo <owner>/<repo> --title "Title" --notes "Notes"
Guidelines
- Always specify
when not in a cloned repository--repo <owner>/<repo> - For destructive operations (delete, close, merge), confirm with user first
- Use
flag when you need to parse output programmatically--json - Handle errors gracefully and suggest fixes
- When creating issues/PRs, use clear titles and descriptive bodies
Phase 3: Report Results
- Summarize what was done
- Provide relevant links (PR URLs, issue numbers, etc.)
- Suggest next steps if applicable
Output Format
When listing items, format clearly:
#123 - Issue title (open/closed) - @author #456 - PR title (open/merged/closed) - @author
When creating items, always report:
- The created item's number/ID
- Direct URL to the item
- Any relevant status information
Examples
Create an issue:
gh issue create --repo <owner>/<repo> --title "Bug: Login fails" --body "Steps to reproduce..."
List open PRs awaiting review:
gh pr list --repo <owner>/<repo> --state open --search "review:required"
Get PR details as JSON:
gh pr view <number> --repo <owner>/<repo> --json title,state,reviews,checks
Prerequisites
This Skill requires the GitHub CLI (
gh) to be installed and authenticated:
gh auth status
If not authenticated, run:
gh auth login
Alternatively, set the
GITHUB_TOKEN environment variable with a personal access token.
Important: When using environment variables in commands with pipes, wrap the command in
bash -c '...' to avoid variable substitution issues:
bash -c 'gh pr view <number> --repo $OWNER/$REPO --json title,state' | jq '.title'
Without environment variables, the pipe is fine:
gh pr view <number> --repo <owner>/<repo> --json title,state | jq '.title'