gemini-review-integrator
Gemini Review Integrator
Integrate Gemini Code Assist review suggestions into the pr-review-and-document PR comment.
When to Use
Invoke this skill when:
- A PR has both Gemini Code Assist reviews and a pr-review-and-document comment
- Need to consolidate all review feedback into a single location
- Want to track Gemini suggestions alongside Claude's PR review
Workflow
Step 1: Get PR Number and Verify Prerequisites (Cache-Aware)
PR_NUMBER=$("${CLAUDE_PLUGIN_ROOT}/scripts/get-pr-number.sh")
This uses the branch-to-PR-number cache (branch-map.json) with 1-hour TTL, falling back to GitHub API on cache miss.
If no PR exists, inform the user and stop.
Verify pr-review-and-document comment exists:
${CLAUDE_PLUGIN_ROOT}/scripts/find-review-comment.sh "$PR_NUMBER"
If no review comment exists, inform the user to run pr-review-and-document skill first.
Step 2: Fetch Gemini Code Assist Comments
Fetch all PR review comments (inline code comments):
${CLAUDE_PLUGIN_ROOT}/scripts/fetch-gemini-comments.sh "$PR_NUMBER"
The script returns JSON with Gemini suggestions, including:
id: Comment ID for deduplicationpriority: high, medium, or lowis_security: Whether it's a security issueis_outdated: Whether the comment is outdated (code changed)file: File pathline: Line number (null if file-level)body: Full comment bodysuggestion: Extracted code suggestion (if any)
Step 3: Filter and Deduplicate
Apply filters to Gemini suggestions:
- Exclude outdated comments: Skip comments where
is_outdated: true - Check existing integration: Parse pr-review-and-document comment metadata for
gemini_integrated_ids - Skip already integrated: Exclude comments whose IDs are in
gemini_integrated_ids
Step 4: Categorize Suggestions
Map Gemini priorities to pr-review-and-document categories:
| Gemini Priority | PR Review Category |
|---|---|
high + is_security |
🔴 Critical Issues |
high |
🟡 Important Issues |
medium + is_security |
🟡 Important Issues |
medium |
💡 Suggestions |
low |
💡 Suggestions |
Step 5: Format Integrated Suggestions
For each new Gemini suggestion, format as:
<details>
<summary><b>N. ⚠️ [Gemini] Issue Title</b></summary>
**Source:** Gemini Code Assist
**File:** `path/to/file.ts:line`
**Problem:** Description from Gemini comment.
**Suggested Fix:**
```suggestion
code here
Key formatting rules:
- Prefix title with
[Gemini]to identify source - Use
⚠️status indicator (pending review) - Include
**Source:** Gemini Code Assistline - Preserve Gemini's suggestion code block if present
Step 6: Update PR Review Comment
- Fetch existing pr-review-and-document comment body
- Parse metadata JSON from
<!-- pr-review-metadata ... -->block - Update metadata:
- Add
gemini_integrated_idsarray with newly integrated comment IDs - Increment issue counts in
issuesobject - Update
updated_attimestamp
- Add
- Insert new Gemini issues into appropriate sections (Critical, Important, Suggestions)
- Renumber existing issues to accommodate new entries
Pipe updated content to cache-write-comment.sh via --stdin:
echo "$UPDATED_CONTENT" | ${CLAUDE_PLUGIN_ROOT}/scripts/cache-write-comment.sh --stdin "$PR_NUMBER"
This updates local cache and syncs to GitHub in one step, without temp files.
Step 7: Report Integration Results
Summarize what was integrated:
Gemini Review Integration Complete:
- Found: X Gemini comments
- Outdated (skipped): Y
- Already integrated (skipped): Z
- Newly integrated: W
- Critical: A
- Important: B
- Suggestions: C
Metadata Schema Extension
The pr-review-and-document metadata is extended with:
{
"gemini_integrated_ids": [2726014213, 2726014217, ...],
"gemini_integration_date": "2026-01-26T12:00:00Z"
}
This enables:
- Tracking which Gemini comments have been integrated
- Preventing duplicate integration across multiple runs
- Audit trail for integrated suggestions
Gemini Comment Structure
Gemini Code Assist comments have these characteristics:
Priority Indicators (in body):
- High priority- Medium priorityor- Security-related
Outdated Detection:
- GitHub API field
position: nullindicates the code has changed - These comments should be skipped as they may no longer apply
Code Suggestions:
- Enclosed in ````suggestion` blocks
- Should be preserved in integration
Handling Multiple Gemini Review Rounds
Gemini may perform multiple review rounds on a PR. The integration handles this by:
- ID-based deduplication: Each comment has a unique ID
- Cumulative tracking:
gemini_integrated_idsgrows with each integration - New comments only: Only comments not in
gemini_integrated_idsare processed
To re-integrate after Gemini runs another review:
- Run this skill again
- Only new comments will be added
- Previously integrated comments remain unchanged
Status Indicators for Gemini Issues
| Indicator | Meaning |
|---|---|
| ⚠️ | Pending review (newly integrated from Gemini) |
| ✅ | Fixed / Resolved |
| ⏭️ | Deferred / Not applicable |
| 🔴 | Escalated to blocking |
Initial status for all Gemini integrations is ⚠️ (pending review).
Example Integration
Before (pr-review-and-document comment):
### 🟡 Important Issues
<details>
<summary><b>1. ✅ Some Claude-found issue</b></summary>
...
</details>
After integration:
### 🟡 Important Issues
<details>
<summary><b>1. ✅ Some Claude-found issue</b></summary>
...
</details>
<details>
<summary><b>2. ⚠️ [Gemini] Suppress stderr hides errors</b></summary>
**Source:** Gemini Code Assist
**File:** `.claude/skills/pr-review-and-document/scripts/find-review-comment.sh:19`
**Problem:** Suppressing stderr with `2>/dev/null` can hide important underlying errors.
**Suggested Fix:**
```suggestion
PR_NUMBER=$(gh pr view --json number -q '.number' || echo "")
Validation Checklist
Before completing integration:
- PR number correctly identified
- pr-review-and-document comment exists
- Gemini comments fetched successfully
- Outdated comments filtered out
- Previously integrated comments skipped
- New comments categorized correctly
- Metadata updated with integrated IDs
- Issue counts updated accurately
- Comment posted successfully
Error Handling
| Error | Action |
|---|---|
| No PR found | Inform user, stop |
| No review comment | Suggest running pr-review-and-document first |
| No Gemini comments | Inform user, nothing to integrate |
| API failure | Report error with details |
| All comments outdated | Inform user, nothing to integrate |
| All comments already integrated | Inform user, up to date |