name: github description: "Manage GitHub repositories, issues, and pull requests using the gh CLI" metadata: agent-player: emoji: "๐" version: "1.0.0" author: "Agent Player Team" category: "development" tags: ["github", "git", "vcs", "devops"] triggers: - github - gh - repo - repository - issue - pr - "pull request" settings: - key: github_token type: secret label: "GitHub Personal Access Token" description: "Get from https://github.com/settings/tokens" required: true - key: default_repo type: string label: "Default Repository" description: "Format: owner/repo" - key: default_org type: string label: "Default Organization" requires: bins: ["gh"] install: - id: brew kind: brew formula: gh label: "Install GitHub CLI (brew)" - id: winget kind: winget package: "GitHub.cli" label: "Install GitHub CLI (winget)" - id: apt kind: apt package: gh label: "Install GitHub CLI (apt)"
GitHub Skill
Interact with GitHub using the gh CLI. Manage repos, issues, PRs, and CI runs.
Prerequisites
- Install GitHub CLI: https://cli.github.com/
- Authenticate:
gh auth login - Set Personal Access Token in skill settings
Usage
Repositories
List your repos:
gh repo list
Create a new repo:
gh repo create my-project --public
Clone a repo:
gh repo clone owner/repo
View repo info:
gh repo view owner/repo
Issues
List issues:
gh issue list --repo owner/repo
Create an issue:
gh issue create --title "Bug: Login fails" --body "Description here"
View an issue:
gh issue view 123 --repo owner/repo
Close an issue:
gh issue close 123 --repo owner/repo
Pull Requests
List PRs:
gh pr list --repo owner/repo
Create a PR:
gh pr create --title "Add feature" --body "Description"
Check CI status:
gh pr checks 55 --repo owner/repo
Merge a PR:
gh pr merge 55 --repo owner/repo
CI/CD Runs
List workflow runs:
gh run list --repo owner/repo --limit 10
View run details:
gh run view <run-id> --repo owner/repo
View failed logs:
gh run view <run-id> --repo owner/repo --log-failed
API Queries
Get PR with specific fields:
gh api repos/owner/repo/pulls/55 --jq '.title, .state, .user.login'
JSON output with filtering:
gh issue list --repo owner/repo --json number,title --jq '.[] | "\(.number): \(.title)"'
Examples
User: "Show my GitHub repos"
Response:
๐ฆ Your Repositories:
1. my-project (public) โญ 42
2. awesome-app (private)
3. dotfiles (public) โญ 15
User: "Create issue: Login button not working"
Response:
๐ Issue Created!
Title: Login button not working
Number: #42
URL: https://github.com/owner/repo/issues/42
User: "Show open PRs"
Response:
๐ Open Pull Requests (3):
#45 - Add dark mode (feature/dark-mode) by @user1
#44 - Fix memory leak (bugfix/memory) by @user2
#43 - Update deps (chore/deps) by @dependabot
Token Permissions
Required scopes:
repo- Full repository accessread:org- Read organization infoworkflow- Update GitHub Actions workflows