Skip to content
Back to skills

Github Copilot Pr Review

ASecurity

Review and apply GitHub Copilot suggestions on pull requests. Trigger when reviewing PRs with Copilot suggestions.

  • 666 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 8, 2026
documentationpythongobashgitapiperformancedocumentation

Works with

  • claude code
  • cli
  • api

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill github-copilot-pr-review --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Github Copilot Pr Review?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Github Copilot Pr Review
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-github-copilot-pr-review/badge)](https://www.skillsdirectory.com/skills/majiayu000-github-copilot-pr-review)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: github-copilot-pr-review
description: "Review and apply GitHub Copilot suggestions on pull requests. Trigger when reviewing PRs with Copilot suggestions."
author: Claude Code
date: 2025-01-01
---

# GitHub Copilot PR Review Workflow

## Experiment Overview
| Item | Details |
|------|---------|
| **Date** | 2025-01-01 |
| **Goal** | Review and apply GitHub Copilot suggestions on PRs using gh CLI |
| **Environment** | Windows, gh CLI 2.63.2+, private GitHub repo |
| **Status** | Success |

## Context

GitHub Copilot provides code review suggestions on pull requests. These suggestions need to be reviewed programmatically using the `gh` CLI since WebFetch returns 404 for private repos. This workflow covers setting up access and efficiently reviewing/applying suggestions.

## Prerequisites: GitHub CLI Setup

### Install gh CLI

**Windows (manual download):**
```bash
# Download from https://github.com/cli/cli/releases
# Extract to a permanent location
# Add to PATH
```

**Verify installation:**
```bash
gh --version
# gh version 2.63.2 (2024-12-18)
```

### Authenticate for Private Repos

```bash
# Interactive login - opens browser
gh auth login

# Select: GitHub.com > HTTPS > Login with a web browser
# Follow the prompts to authenticate
```

**Verify authentication:**
```bash
gh auth status
# github.com
#   Logged in to github.com account username (keyring)
#   Git operations for github.com configured to use https protocol.
```

## Verified Workflow

### 1. View PR Details

```bash
# Get PR metadata
gh pr view 36 --repo owner/repo --json title,body,state,additions,deletions,changedFiles,commits,mergeable

# Check if PR is mergeable
gh pr view 36 --repo owner/repo --json mergeable
```

### 2. List Copilot Suggestions

```bash
# Get all review comments (includes Copilot suggestions)
gh api repos/owner/repo/pulls/36/comments

# Filter for Copilot suggestions (look for user.login = "github-copilot[bot]")
gh api repos/owner/repo/pulls/36/comments --jq '.[] | select(.user.login == "github-copilot[bot]") | {path, body, line}'
```

**Example Copilot suggestion format:**
```json
{
  "path": "alpaca_trading/gpu/vae_ood_detector.py",
  "body": "**Suggestion:** Use `torch.quantile` instead of `kthvalue` for percentile...",
  "line": 245,
  "diff_hunk": "@@ -240,6 +240,10 @@ def _compute_threshold(self, errors)..."
}
```

### 3. Categorize Suggestions

Create a table to track suggestions:

| # | File | Issue | Valid? | Action |
|---|------|-------|--------|--------|
| 1 | vae_ood_detector.py:245 | Use torch.quantile | Yes | Fix |
| 2 | ensemble_ppo.py:150 | Duplicate LayerNorm | Yes | Fix |
| 3 | curiosity_module.py:89 | Add arXiv citation | Yes | Add |
| 4 | test_*.py:30 | Unused import | Yes | Remove |

### 4. Apply Fixes

For each valid suggestion:

1. **Read the file** to understand context
2. **Make the fix** using Edit tool
3. **Verify syntax** with `python -m py_compile file.py`
4. **Commit incrementally** for traceability

```bash
# After all fixes
git add -A
git commit -m "fix: Apply Copilot suggestions

- Use torch.quantile for percentile calculations
- Fix LayerNorm dimension for Conv1d outputs
- Handle buffer edge cases for last transitions
- Add arXiv citations to docstrings
- Remove unused imports"

git push origin branch-name
```

### 5. Handle Multiple PRs with Overlapping Suggestions

When PR #35 and PR #36 have overlapping Copilot suggestions:

1. **Identify the target PR** (the one you'll merge)
2. **Review suggestions from both PRs**
3. **Apply all valid suggestions to target PR only**
4. **Close superseded PR with explanation**

```bash
# Close superseded PR
gh pr close 35 --repo owner/repo --comment "Superseded by #36 which includes all valid Copilot suggestions from both PRs."
```

### 6. Verify All Suggestions Applied

```bash
# Re-check Copilot suggestions after push
gh api repos/owner/repo/pulls/36/comments --jq 'length'

# Run tests
python -m pytest tests/test_affected_module.py -v
```

## API Reference

### Get PR Comments (All Types)
```bash
gh api repos/{owner}/{repo}/pulls/{pr_number}/comments
```

### Get Review Threads
```bash
gh api repos/{owner}/{repo}/pulls/{pr_number}/reviews
```

### Create PR
```bash
gh pr create --base stable --title "Title" --body "Description"
```

### Close PR
```bash
gh pr close {pr_number} --repo owner/repo --comment "Reason"
```

### View PR Files Changed
```bash
gh pr view {pr_number} --repo owner/repo --json files --jq '.files[].path'
```

## Failed Attempts

| Attempt | Why it Failed | Lesson Learned |
|---------|---------------|----------------|
| WebFetch for private repo | 404 Not Found | Use gh CLI for private repos |
| `gh` without auth | Permission denied | Must run `gh auth login` first |
| Applying fixes to wrong PR | Wasted effort, needed to re-apply | Identify target PR before starting |
| Bulk commit all fixes | Hard to track which suggestion fixed what | Commit with descriptive messages |
| Ignoring "minor" suggestions | Accumulated tech debt | Apply all valid suggestions |
| Not verifying syntax after fix | Broke the build | Always `python -m py_compile` |

## Key Insights

- **gh CLI is essential for private repos**: WebFetch returns 404
- **Copilot suggestions are in PR review comments on code lines**: These are GitHub "review comments" (from `pulls/{pr_number}/comments`), not general PR discussion comments; filter by `user.login`.
- **Categorize before fixing**: Create a table to track all suggestions
- **One target PR**: When multiple PRs overlap, pick one and close others
- **Commit messages matter**: Reference the specific fix for traceability
- **Verify after each fix**: Syntax check prevents build failures

## Common Copilot Suggestion Categories

| Category | Example | Typical Fix |
|----------|---------|-------------|
| **Type safety** | `any` -> `Any` | Import from typing |
| **Performance** | `kthvalue` -> `quantile` | Use better PyTorch API |
| **Edge cases** | Buffer overflow | Add bounds checking |
| **Documentation** | Missing citations | Add arXiv/paper refs |
| **Dead code** | Unused imports | Remove |
| **Silent failures** | Return zeros | Raise ValueError |

## References

- gh CLI documentation: https://cli.github.com/manual/
- GitHub REST API for PRs: https://docs.github.com/en/rest/pulls
- Example session: Reviewed 48 Copilot suggestions across PR #35 and #36

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.