pr-status

Fetch and display the full status of the current PR — CI checks, GitHub Actions runs, reviews, and code comments — using GitHub MCP tools. Invoke manually with /pr-status.

14 stars

Best use case

pr-status is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Fetch and display the full status of the current PR — CI checks, GitHub Actions runs, reviews, and code comments — using GitHub MCP tools. Invoke manually with /pr-status.

Teams using pr-status should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/pr-status/SKILL.md --create-dirs "https://raw.githubusercontent.com/spideystreet/medox/main/.claude/skills/pr-status/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/pr-status/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How pr-status Compares

Feature / Agentpr-statusStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Fetch and display the full status of the current PR — CI checks, GitHub Actions runs, reviews, and code comments — using GitHub MCP tools. Invoke manually with /pr-status.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Skill: PR Status

Display a complete dashboard of the current PR's remote state.

## Steps

### 1. Identify the current PR

Run `git branch --show-current` to get the branch name, then use `git log --oneline -1` to get the HEAD SHA.

Use `mcp__github__list_pull_requests` with `head: "spideystreet:<branch>"` and `state: "open"` to find the PR number.

If no open PR is found, report: "No open PR found for branch `<branch>`."

### 2. Fetch all PR data (in parallel)

Call all MCP tools + Actions run in a **single parallel batch**:

| Tool | Data |
|------|------|
| `mcp__github__get_pull_request` | Title, state, author, base/head, mergeable, draft |
| `mcp__github__get_pull_request_status` | Commit statuses (if any) |
| `mcp__github__get_pull_request_reviews` | Reviews (author, state, body) |
| `mcp__github__get_pull_request_comments` | Code review comments (path, line, body, diff_hunk) |
| `gh run list --branch <branch> --limit 5 --json name,status,conclusion,headSha,url` | GitHub Actions workflow runs |

Note: GitHub MCP does not expose Actions runs, so use `gh run list` as a **necessary exception** for this data only.

### 2b. Fetch failed job logs (conditional)

If any Actions run has `conclusion: "failure"`, fetch the logs for the **most recent failed run**:

```bash
gh run view <run_id> --log-failed 2>&1 | tail -60
```

Parse the output to extract the failing job name, step, and error message.

### 3. Format and display

Output a single formatted dashboard:

```
## PR #<number>: <title>

**State**: <open/closed/merged> | **Mergeable**: <mergeable_state> | **Branch**: <head> → <base> | **Author**: @<login>

### GitHub Actions

| Workflow | Status | Conclusion | SHA |
|----------|--------|------------|-----|
| <name> | <status> | <conclusion> | <sha[:7]> |

### Commit Statuses

| Context | State |
|---------|-------|
| <context> | <state> |

(or "None" if empty)

### Reviews

- @<reviewer>: <state> (APPROVED / CHANGES_REQUESTED / COMMENTED)
  > <body excerpt if any>

### Code Comments

- @<author> `<path>#<line>`:
  ```diff
  <diff_hunk>
  ```
  > <body>
```

If a section has no items, show "None" instead of the table/list.

**Merge conflicts**: Check `mergeable` and `mergeable_state` from `get_pull_request`. If `mergeable` is `false` or `mergeable_state` is `"dirty"`, display a prominent warning:

```
⚠ **CONFLICTS** — This branch has conflicts with `main` that must be resolved before merging.
```

If CI failed, add a **Failure Logs** section after GitHub Actions:

```
### Failure Logs (run <run_id>)

**Job**: <job_name> | **Step**: <step_name>

\`\`\`
<last ~40 lines of error output>
\`\`\`
```

## Rules

- **Always use GitHub MCP tools** for PR data — never fall back to `gh` CLI
- Exception: use `gh run list` for GitHub Actions runs (no MCP equivalent)
- Use `git` CLI only for local branch detection
- Call all tools in parallel to minimize latency
- Do not modify any files or state — this is a read-only skill
- Owner and repo are always `spideystreet` / `medox`

Related Skills

We are still matching the closest adjacent skills for this page. In the meantime, continue through the full directory.