Skip to content
Back to skills

Github Pr Review The1studio Theone Training Skil

ASecurity

Comprehensive GitHub PR review with inline suggestions, approval/rejection criteria, and technology-agnostic checklists. Triggers when reviewing PRs, analyzing code changes, or when user requests PR review. ALWAYS approve or request changes after review.

  • 666 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 8, 2026
documentationgoc#bashreacttestingrefactoringcode-reviewgitapisecurity

Works with

  • claude code
  • cli
  • api

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill github-pr-review-the1studio-theone-training-skil --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Github Pr Review The1studio Theone Training Skil?

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

Security grade badge for Github Pr Review The1studio Theone Training Skil
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-github-pr-review-the1studio-theone-training-skil/badge)](https://www.skillsdirectory.com/skills/majiayu000-github-pr-review-the1studio-theone-training-skil)

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-pr-review
description: Comprehensive GitHub PR review with inline suggestions, approval/rejection criteria, and technology-agnostic checklists. Triggers when reviewing PRs, analyzing code changes, or when user requests PR review. ALWAYS approve or request changes after review.
---

# GitHub PR Review with Suggested Changes

## Skill Purpose

This skill enables comprehensive GitHub pull request reviews with **actionable suggested changes** that developers can apply directly through GitHub's web UI using the "Commit suggestion" button.

**Key Features:**
- Code review with comprehensive checklists (security, quality, performance)
- Inline suggested changes using ````suggestion` blocks
- **Approval decision logic** (APPROVE / REQUEST_CHANGES / COMMENT)
- GitHub API integration for programmatic review comments
- Batch suggestion support for efficient fixes
- Integration with tech-specific skills (Unity, React Native, etc.)

## ⚠️ CRITICAL: Always Approve or Request Changes

**After every PR review, you MUST submit a review decision:**

```bash
# Approve (no critical/high issues)
gh pr review $PR --repo $REPO --approve --body "..."

# Request changes (critical/high issues found)
gh pr review $PR --repo $REPO --request-changes --body "..."

# Comment only (medium issues, can merge)
gh pr review $PR --repo $REPO --comment --body "..."
```

**See:** [Approval Criteria](references/approval-criteria.md) for decision tree.

## When This Skill Triggers

**Automatically triggers when:**
- User asks to "review PR" or "review pull request"
- User provides a GitHub PR URL for review
- User asks to "check PR" or "analyze PR changes"
- User requests code review with suggestions
- User asks "help review this PR"

**Manual trigger:**
- User explicitly invokes the skill with `/github-pr-review`

## Quick Reference

### GitHub Suggested Changes Syntax

```markdown
Add nullable directive at the top of the file.

\`\`\`suggestion
#nullable enable

namespace YourNamespace
\`\`\`
```

**Result:** Shows a "Commit suggestion" button in GitHub UI that applies the change when clicked.

## How It Works

### Step 1: Fetch PR Details

```bash
# Get PR information
gh pr view <PR_NUMBER> --repo <OWNER/REPO> --json title,body,files,commits

# Get PR diff
gh pr diff <PR_NUMBER> --repo <OWNER/REPO>
```

### Step 2: Analyze Code Changes

- Review against coding standards (e.g., `theone-unity-standards`)
- Identify issues by severity (Critical, Important, Suggestions)
- Categorize issues by file and line number

### Step 3: Create Inline Suggestions

**Use GitHub API to add inline comments with suggestions:**

```bash
# Get latest commit ID
COMMIT_ID=$(gh pr view <PR> --repo <REPO> --json commits --jq '.commits[-1].oid')

# Add inline suggestion comment
gh api \
  --method POST \
  -H "Accept: application/vnd.github+json" \
  /repos/<OWNER>/<REPO>/pulls/<PR_NUMBER>/comments \
  -f body="<suggestion text with \`\`\`suggestion block>" \
  -f commit_id="$COMMIT_ID" \
  -f path="<file_path>" \
  -F position=<line_number>
```

### Step 4: Add Summary Comment

Add a general comment explaining:
- Number of suggestions added
- How to apply suggestions (individual or batch)
- What issues will be resolved

## Suggestion Types

### 1. Single-Line Suggestions

```markdown
Fix access modifier.

\`\`\`suggestion
public sealed class MyClass
\`\`\`
```

### 2. Multi-Line Suggestions

```markdown
Add nullable directive and fix class.

\`\`\`suggestion
#nullable enable

namespace MyNamespace
{
    public sealed class MyClass
    {
        // class body
    }
}
\`\`\`
```

### 3. Complete File Replacements

For major refactoring, provide complete fixed file in expandable section:

```markdown
<details>
<summary>Click to expand: Complete fixed file</summary>

\`\`\`csharp
// entire file content
\`\`\`
</details>
```

## Best Practices

### ✅ DO:

1. **Use inline suggestions for fixable issues**
   - Syntax errors, formatting issues
   - Missing keywords, modifiers
   - Simple refactoring

2. **Add suggestions at correct line positions**
   - Use `gh pr diff` to find exact line numbers
   - Use `position` parameter (diff position, not file line number)

3. **Group related changes**
   - Combine related fixes in one suggestion block
   - Example: Add `#nullable enable` + `sealed` keyword together

4. **Provide context**
   - Explain WHY the change is needed
   - Reference coding standards or best practices

5. **Use batch suggestions for multiple fixes**
   - Tell developer about "Add suggestion to batch" option
   - Allows applying all suggestions in one commit

### ❌ DON'T:

1. **Don't suggest changes for non-fixable issues**
   - Architectural problems requiring discussion
   - Design pattern changes
   - Use regular comments for these

2. **Don't create overlapping suggestions**
   - Each suggestion should apply cleanly
   - Avoid suggesting same lines multiple times

3. **Don't suggest changes without explanation**
   - Always include WHY the change is needed
   - Link to relevant documentation or standards

## GitHub API Position Calculation

**Important:** The `position` parameter is the **diff position**, not the file line number.

```bash
# Get diff to see positions
gh pr diff <PR_NUMBER> --repo <OWNER/REPO>

# Position starts at 1 for first changed line
# Increments for each line in the diff (context + changes)
```

**Example:**
```diff
@@ -0,0 +1,10 @@
+namespace MyNamespace    # position: 1
+{                        # position: 2
+    public class Foo     # position: 3
+    {                    # position: 4
```

## Common Review Patterns

### Pattern 1: Missing Nullable Directive

**Issue:** Missing `#nullable enable`
**Location:** Line 1 (before namespace)
**Position:** Usually 1

```markdown
Add \`#nullable enable\` directive at the top of the file.

\`\`\`suggestion
#nullable enable

namespace YourNamespace
\`\`\`
```

### Pattern 2: Missing Sealed Keyword

**Issue:** Class should be `sealed`
**Location:** Class declaration line
**Position:** Find in diff

```markdown
Add \`sealed\` keyword to prevent inheritance.

\`\`\`suggestion
    public sealed class YourClass
\`\`\`
```

### Pattern 3: Fields to Properties

**Issue:** Public fields instead of properties
**Location:** Field declaration lines
**Position:** Find in diff

```markdown
Convert field to property with getter.

\`\`\`suggestion
        public Dictionary<string, int> MyProperty { get; } = new();
\`\`\`
```

### Pattern 4: Remove Region Comments

**Issue:** Using `#region` / `#endregion`
**Location:** Region block
**Position:** Find in diff

```markdown
Remove \`#region\` comments - code should be self-organizing.

\`\`\`suggestion
        private readonly UserDataManager userDataManager;

        public MyController(UserDataManager userDataManager)
        {
            this.userDataManager = userDataManager;
        }
\`\`\`
```

## Complete Workflow Example

```bash
# 1. Get PR details
PR_NUMBER=984
REPO="The1Studio/TheOneFeature"
COMMIT_ID=$(gh pr view $PR_NUMBER --repo $REPO --json commits --jq '.commits[-1].oid')

# 2. Review code (use theone-unity-standards skill)
# ... analyze code against standards ...

# 3. Add suggestion for file1
gh api \
  --method POST \
  -H "Accept: application/vnd.github+json" \
  /repos/$REPO/pulls/$PR_NUMBER/comments \
  -f body="Add \`#nullable enable\` directive.

\`\`\`suggestion
#nullable enable

namespace MyNamespace
\`\`\`" \
  -f commit_id="$COMMIT_ID" \
  -f path="path/to/file1.cs" \
  -F position=1

# 4. Add suggestion for file2
# ... repeat for each issue ...

# 5. Add summary comment
gh pr comment $PR_NUMBER --repo $REPO --body "## ✅ Suggestions Ready

I've added 6 inline suggestions. Go to Files Changed tab and click 'Commit suggestion' on each, or use 'Add suggestion to batch' to apply all at once."
```

## Integration with Other Skills

**Works best with:**
- `theone-unity-standards` - For Unity C# code reviews
- `theone-react-native-standards` - For React Native reviews
- `theone-cocos-standards` - For Cocos reviews
- `code-review` - For internal review practices (receiving feedback)
- `docs-seeker` - For finding latest library documentation

**Example workflow:**
1. User provides PR URL
2. Apply general checklists ([Review Checklists](references/review-checklists.md))
3. Trigger tech-specific skill (e.g., `theone-unity-standards`) for detailed analysis
4. Create inline suggestions using `github-pr-review`
5. Submit review decision (APPROVE/REQUEST_CHANGES) per [Approval Criteria](references/approval-criteria.md)
6. Developer applies suggestions via GitHub UI

## Review Process

### Step 0: Apply Review Checklists

Before diving into code, run through technology-agnostic checklists:

**See:** [Review Checklists](references/review-checklists.md)

1. 🔒 Security checklist (secrets, injection, auth)
2. ✅ Correctness checklist (logic, state, API)
3. 🧪 Testing checklist (coverage, quality)
4. 🧹 Quality checklist (structure, DRY)
5. ⚡ Performance checklist (queries, memory)
6. 📚 Documentation checklist

## Troubleshooting

### Issue: "404 Not Found" when creating suggestion

**Cause:** Wrong `position` value
**Fix:** Verify position in diff output

```bash
gh pr diff <PR> --repo <REPO> | less
# Count lines from @@ hunk header
```

### Issue: Suggestion doesn't show "Commit suggestion" button

**Cause:** Invalid ````suggestion` syntax
**Fix:** Ensure proper markdown formatting:
- Three backticks
- Word "suggestion" (lowercase)
- Proper code indentation inside block

### Issue: Suggestion applies but breaks code

**Cause:** Incorrect indentation or incomplete context
**Fix:**
- Match existing file indentation exactly
- Include enough context lines
- Test suggestion locally first

## Summary

This skill automates comprehensive GitHub PR reviews with actionable suggestions:

1. ✅ Applies technology-agnostic review checklists
2. ✅ Fetches PR details and diff
3. ✅ Analyzes code against standards (general + tech-specific)
4. ✅ Creates inline suggestions with ````suggestion` blocks
5. ✅ Uses GitHub API for programmatic comments
6. ✅ **Submits review decision (APPROVE/REQUEST_CHANGES)**
7. ✅ Enables one-click fixes via GitHub UI

**Result:** Faster, more efficient PR reviews with instant applicability AND clear approval status.

## Skill References

| Reference | Purpose |
|-----------|---------|
| [Approval Criteria](references/approval-criteria.md) | Decision tree for APPROVE/REQUEST_CHANGES |
| [Review Checklists](references/review-checklists.md) | Technology-agnostic security, quality, performance checklists |
| [API Reference](references/api-reference.md) | GitHub API commands and examples |
| [Workflow Examples](references/workflow-examples.md) | Complete review workflow examples |

## ClaudeAssistant Automated Review Service

For **The1Studio** repositories, you can trigger automated PR reviews via webhook:

### Triggering Automated Review

```bash
# Simply comment on any PR:
/review

# The webhook will:
# 1. Fetch PR files and diffs
# 2. Run Claude Code review with inline suggestions
# 3. Post review with "Apply suggestion" buttons
```

### How It Works

```
┌──────────────────────────────────────────────────────────────┐
│  GitHub PR Comment "/review"                                  │
│            ↓                                                  │
│  Webhook → github-review-service (port 16300)                │
│            ↓                                                  │
│  Fetch PR files → Generate prompt with diffs                 │
│            ↓                                                  │
│  claude-service (port 16304) → Claude Code analysis          │
│            ↓                                                  │
│  Post inline comments with ```suggestion blocks              │
│            ↓                                                  │
│  GitHub shows "Apply suggestion" button on each comment      │
└──────────────────────────────────────────────────────────────┘
```

### Inline Suggestions Format

The service generates suggestions in GitHub's format:

```markdown
🔵 **Suggestion**

Add `sealed` keyword to prevent inheritance.

\`\`\`suggestion
public sealed class MyClass
\`\`\`

**Category:** CodeQuality
```

**Result:** Users see "Apply suggestion" button and can commit fixes with one click.

### Service Architecture

| Service | Port | Purpose |
|---------|------|---------|
| github-review-service | 16300 | Webhook handler, review orchestration |
| claude-service | 16304 | Claude Code API gateway |
| postgres | 16305 | Review history storage |
| dashboard | 16302 | Monitoring UI |

### Deduplication

- Reviews are deduplicated by commit SHA
- Same commit won't be reviewed twice
- Merged PRs can trigger but may skip if already reviewed

### Manual API Trigger

```bash
# If webhook not working, trigger via API:
curl -X POST http://localhost:16300/api/review \
  -H "Content-Type: application/json" \
  -d '{
    "owner": "The1Studio",
    "repo": "YourRepo",
    "prNumber": 123,
    "installationId": 95277005
  }'
```

## External References

- [GitHub Suggested Changes](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request)
- [GitHub API - PR Review Comments](https://docs.github.com/en/rest/pulls/comments)
- [TheOne Studio Standards](../theone-unity-standards/SKILL.md)
- [ClaudeAssistant Repository](https://github.com/The1Studio/ClaudeAssistant)

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.