PluginBench
Skill
Review
Audit score 70

github

steipete/clawdis

GitHub CLI for managing issues, PRs, CI logs, comments, reviews, and API queries.

What is github?

Wrapper around the GitHub CLI (`gh`) for interacting with GitHub repositories. Use this for PR/issue management, CI/check inspection, comments, reviews, and direct API queries. Complements local git operations and code-reading tools.

  • List and view pull requests with metadata (author, state, files, commits, reviews)
  • Create, merge, and manage pull requests with structured output
  • List, view, create, and close issues with labels and comments
  • Inspect CI runs, view logs, and rerun failed workflows
  • Execute GitHub API queries with JQ filtering and response caching
  • Add comments to issues and PRs from file content

How to install github

npx skills add https://github.com/steipete/clawdis --skill github
Prerequisites
  • GitHub CLI (`gh`) installed via brew, apt, or other package manager
  • GitHub authentication configured (`gh auth login`)
  • GH_CONFIG_DIR environment variable set if using non-standard config location
Claude Code
Cursor
Windsurf
Cline

How to use github

  1. 1.Verify GitHub CLI is installed and authenticated with `gh auth status`
  2. 2.Use `gh pr list` or `gh issue list` to query repositories
  3. 3.Use `gh pr view` or `gh issue view` with `--json` to fetch structured data
  4. 4.Use `gh api` with `--jq` filters for custom API queries
  5. 5.Use `--body-file` when creating comments/issues containing special characters or multi-line content
  6. 6.Use `gh run list` and `gh run view` to inspect CI workflow status and logs

Use cases

Good for
  • Review PR status and checks before merging in a CI/CD workflow
  • Bulk query repository metadata (stars, forks, labels) via API
  • Automate issue creation from agent-generated bug reports
  • Inspect failed CI logs to diagnose test failures
  • Fetch PR diffs and commit history for code analysis
Who it's for
  • DevOps engineers managing CI/CD pipelines
  • Developers automating GitHub workflows
  • Code review agents and bots
  • Repository maintainers handling issues and PRs

github FAQ

How do I authenticate with GitHub?

Run `gh auth login` to authenticate. Check status with `gh auth status`. If using a non-standard config directory, set the `GH_CONFIG_DIR` environment variable.

Should I use `gh` or `git` for my workflow?

Use `gh` for GitHub-specific operations (PRs, issues, API, CI). Use `git` for local commits, branches, and push/pull operations.

How do I get structured output from `gh` commands?

Use `--json` to specify fields and `--jq` to filter/transform the JSON output. Example: `gh pr view 55 --json title,state --jq '.title'`.

Can I create issues or PRs with multi-line content?

Yes, use `--body-file /path/to/file.md` to read content from a file, which safely handles backticks, shell snippets, and special characters.

How do I inspect failed CI runs?

Use `gh run list` to find the run ID, then `gh run view <run-id> --log-failed` to view failed logs, or `gh run rerun <run-id> --failed` to retry.

Full instructions (SKILL.md)

Source of truth, from steipete/clawdis.


name: github description: "GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries." metadata: { "openclaw": { "emoji": "🐙", "requires": { "bins": ["gh"] }, "install": [ { "id": "brew", "kind": "brew", "formula": "gh", "bins": ["gh"], "label": "Install GitHub CLI (brew)", }, { "id": "apt", "kind": "apt", "package": "gh", "bins": ["gh"], "label": "Install GitHub CLI (apt)", }, ], }, }

GitHub

Use gh for GitHub. Use git for local commits/branches/push/pull. Use code-reading tools for deep reviews.

Auth

gh auth status
gh auth login

Gateway HOME can differ from operator HOME. If gh auth exists elsewhere, set GH_CONFIG_DIR in the gateway service env and restart.

PRs

gh pr list --repo owner/repo --json number,title,state,author,url
gh pr view 55 --repo owner/repo --json title,body,author,files,commits,reviews,reviewDecision
gh pr checks 55 --repo owner/repo
gh pr diff 55 --repo owner/repo
gh pr create --repo owner/repo --title "feat: title" --body-file /tmp/pr.md
gh pr merge 55 --repo owner/repo --squash

URLs work directly: gh pr view https://github.com/owner/repo/pull/55.

Issues

gh issue list --repo owner/repo --state open --json number,title,labels,url
gh issue view 42 --repo owner/repo --json title,body,comments,labels,state
gh issue create --repo owner/repo --title "Bug: ..." --body-file /tmp/issue.md
gh issue comment 42 --repo owner/repo --body-file /tmp/comment.md
gh issue close 42 --repo owner/repo --comment "Fixed in ..."

CI/runs

gh run list --repo owner/repo --limit 10
gh run view <run-id> --repo owner/repo --json status,conclusion,headSha,url
gh run view <run-id> --repo owner/repo --log-failed
gh run rerun <run-id> --repo owner/repo --failed

API

gh api repos/owner/repo/pulls/55 --jq '.title, .state, .user.login'
gh api repos/owner/repo/labels --jq '.[].name'
gh api --cache 1h repos/owner/repo --jq '{stars: .stargazers_count, forks: .forks_count}'

Use --json + --jq for structured output. Use --body-file for comments/bodies containing backticks, shell snippets, env names, or user text.