# Github

> Interact with GitHub using the `gh` CLI to check PR status, manage issues, review code, and query the API.

- Skill: `joshuashepherd/github` (Agent Skill)
- Install (CLI): `npx skillmds@latest add joshuashepherd/github`
- Raw SKILL.md: https://api.skillmd.com/api/skills/joshuashepherd/github/raw
- Safety review: PASS (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs, DevOps & Infra, REST & GraphQL APIs
- Tags: Api Integration, Ci, Code Review, Gh Cli, Github, Issues, Pull Requests
- Author: JoshuaShepherd (https://skillmd.com/u/joshuashepherd)
- Updated: 2026-08-22
- Page: https://skillmd.com/skills/joshuashepherd/github

---


Use the `gh` CLI to interact with GitHub: $ARGUMENTS

Always specify `--repo owner/repo` when not in a git directory, or use URLs directly.

---

## Pull Requests

Check CI status on a PR:

```bash
gh pr checks 55 --repo owner/repo
```

List recent workflow runs:

```bash
gh run list --repo owner/repo --limit 10
```

View a run and see which steps failed:

```bash
gh run view <run-id> --repo owner/repo
```

View logs for failed steps only:

```bash
gh run view <run-id> --repo owner/repo --log-failed
```

## Issues

List open issues:

```bash
gh issue list --repo owner/repo --state open
```

Create an issue:

```bash
gh issue create --repo owner/repo --title "Title" --body "Description"
```

## Code Review

Review a PR diff:

```bash
gh pr diff 55 --repo owner/repo
```

Comment on a PR:

```bash
gh pr comment 55 --repo owner/repo --body "Comment text"
```

## API for Advanced Queries

The `gh api` command is useful for accessing data not available through other subcommands.

Get PR with specific fields:

```bash
gh api repos/owner/repo/pulls/55 --jq '.title, .state, .user.login'
```

Get PR review comments:

```bash
gh api repos/owner/repo/pulls/55/comments
```

## JSON Output

Most commands support `--json` for structured output. Use `--jq` to filter:

```bash
gh issue list --repo owner/repo --json number,title --jq '.[] | "\(.number): \(.title)"'
```

