Claude Code Plugins

Community-maintained marketplace

Feedback
4
0

GitHub PR utilities for code review workflows

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name github-pr
description GitHub PR utilities for code review workflows
version 0.1.0-beta
license MIT
compatibility opencode

Overview

CLI tools for GitHub pull request operations. Designed to support automated code review workflows. Requires the GitHub CLI (gh) to be installed and authenticated.

Prerequisites

  • bun runtime installed
  • GitHub CLI installed and authenticated
    brew install gh
    gh auth login
    

Commands

Check Review Needed

Determines if a PR should be reviewed by checking various conditions.

bun .opencode/skill/github-pr/check-review-needed.js [pr-number]

Arguments:

  • pr-number - PR number (optional, defaults to current branch's PR)

Output: JSON object with:

  • shouldReview - boolean indicating if review should proceed
  • reason - explanation for the decision
  • prNumber - the PR number checked

Conditions checked:

  • PR is not closed or merged
  • PR is not a draft
  • PR is not from a known bot (dependabot, renovate, etc.)
  • PR title doesn't indicate automation (bump, chore(deps), etc.)
  • PR has not already been reviewed by Claude/AI
  • PR is not trivial (2 or fewer lines changed)

Examples:

# Check current branch's PR
bun .opencode/skill/github-pr/check-review-needed.js

# Check specific PR
bun .opencode/skill/github-pr/check-review-needed.js 123

List Guideline Files

Finds AGENTS.md (or CLAUDE.md) files relevant to a PR's changes.

bun .opencode/skill/github-pr/list-guideline-files.js [pr-number] [--json]

Arguments:

  • pr-number - PR number (optional, defaults to current branch's PR)

Options:

  • --json - Output as JSON array with file contents

Search locations:

  • Repository root
  • All directories containing files modified in the PR
  • Parent directories of modified files

Priority: If both AGENTS.md and CLAUDE.md exist in the same directory, AGENTS.md takes precedence.

Examples:

# List guideline files for current PR
bun .opencode/skill/github-pr/list-guideline-files.js

# Get full content as JSON
bun .opencode/skill/github-pr/list-guideline-files.js 123 --json

JSON Output Format:

[
  {
    "path": "AGENTS.md",
    "content": "# Project Guidelines\n..."
  },
  {
    "path": "src/components/AGENTS.md",
    "content": "# Component Guidelines\n..."
  }
]

Post Inline Comment

Posts a review comment on a specific line or line range in a PR.

bun .opencode/skill/github-pr/post-inline-comment.js <pr-number> --path <file> --line <n> --body <text>

Arguments:

  • pr-number - PR number (optional if on a PR branch)

Options:

  • --path <file> - File path to comment on (required)
  • --line <n> - Line number to comment on (required)
  • --start-line <n> - Start line for multi-line comments (optional)
  • --body <text> - Comment body in markdown (required)

Suggestion blocks: Include a suggestion block for small fixes that can be committed directly:

Fix the error handling:

```suggestion
try {
  await authenticate();
} catch (e) {
  handleAuthError(e);
}
```

Important: Suggestions must be complete. The author should be able to click "Commit suggestion" without needing additional changes elsewhere.

Examples:

# Single line comment
bun .opencode/skill/github-pr/post-inline-comment.js 123 \
  --path src/auth.ts \
  --line 67 \
  --body "Missing error handling for OAuth callback"

# Multi-line comment (lines 65-70)
bun .opencode/skill/github-pr/post-inline-comment.js 123 \
  --path src/auth.ts \
  --line 70 \
  --start-line 65 \
  --body "This authentication block needs refactoring"

Integration with gh CLI

These tools wrap the GitHub CLI (gh). For operations not covered by these utilities, use gh directly:

# View PR details
gh pr view 123 --json title,body,state,isDraft,files

# Get PR diff
gh pr diff 123

# View PR comments
gh pr view 123 --comments

# Post a regular comment
gh pr comment 123 --body "Comment text"

# View file at PR head
gh api repos/{owner}/{repo}/contents/{path}?ref={branch}

Output Behavior

  • Command output is displayed directly to the user in the terminal
  • JSON output is formatted for readability and piping
  • Use --json flag when you need to process output programmatically