gemini-review

0
0
Source

Google Gemini CLI code review with Gemini 2.5 Pro, 1M token context, CI/CD integration

Install

mkdir -p .claude/skills/gemini-review && curl -L -o skill.zip "https://mcp.directory/api/skills/download/7325" && unzip -o skill.zip -d .claude/skills/gemini-review && rm skill.zip

Installs to .claude/skills/gemini-review

About this skill

Google Gemini Code Review Skill

Load with: base.md + code-review.md

Use Google's Gemini CLI for code review with Gemini 2.5 Pro - featuring a massive 1M token context window that can analyze entire repositories at once.

Sources: Gemini CLI | Code Review Extension | Gemini Code Assist | GitHub Action


Why Gemini for Code Review?

FeatureBenefit
Gemini 2.5 ProState-of-the-art reasoning for code
1M token contextEntire repositories fit - no chunking needed
Free tier1,000 requests/day with Google account
Consistent outputClean formatting, predictable structure
GitHub nativeGemini Code Assist app for auto PR reviews

Benchmark Performance

BenchmarkScoreNotes
SWE-Bench Verified63.8%Agentic coding benchmark
Qodo PR Benchmark56.3%PR review quality
LiveCodeBench v570.4%Code generation
WebDev Arena#1Web development

Installation

Prerequisites

# Check Node.js version (requires 20+)
node --version

# Install Node.js 20 if needed
# macOS
brew install node@20

# Or via nvm
nvm install 20
nvm use 20

Install Gemini CLI

# Via npm (recommended)
npm install -g @google/gemini-cli

# Via Homebrew (macOS)
brew install gemini-cli

# Or run without installing
npx @google/gemini-cli

# Verify installation
gemini --version

Install Code Review Extension

# Requires Gemini CLI v0.4.0+
gemini extensions install https://github.com/gemini-cli-extensions/code-review

# Verify extension
gemini extensions list

Authentication

Option 1: Google Account (Recommended)

Free tier: 1,000 requests/day, 60 requests/min

# Run gemini and follow browser login
gemini

# Select: "Login with Google Account"
# Opens browser for OAuth

This gives you access to Gemini 2.5 Pro with the full 1M token context window.

Option 2: Gemini API Key

Free tier: 100 requests/day

# Get API key from https://aistudio.google.com/apikey

# Set environment variable
export GEMINI_API_KEY="your-api-key"

# Or add to shell profile
echo 'export GEMINI_API_KEY="your-api-key"' >> ~/.zshrc

# Run Gemini
gemini

Option 3: Vertex AI (Enterprise)

# For Google Cloud projects
export GOOGLE_API_KEY="your-api-key"
export GOOGLE_GENAI_USE_VERTEXAI=true
export GOOGLE_CLOUD_PROJECT="your-project-id"

gemini

Interactive Code Review

Using the Code Review Extension

# Start Gemini CLI
gemini

# Run code review on current branch
/code-review

The extension analyzes:

  • Code changes on your current branch
  • Identifies quality issues
  • Suggests fixes

Manual Review Prompts

# In interactive mode
gemini

# Then ask:
> Review the changes in this branch for bugs and security issues
> Analyze src/api/users.ts for potential vulnerabilities
> What are the code quality issues in the last 3 commits?

Headless Mode (Automation)

Basic Usage

# Simple prompt execution
gemini -p "Review the code changes for bugs and security issues"

# With JSON output (for parsing)
gemini -p "Review the changes" --output-format json

# Stream JSON events (real-time)
gemini -p "Review and fix issues" --output-format stream-json

# Specify model
gemini -m gemini-2.5-pro -p "Deep code review of this PR"

Full CI/CD Example

# Get diff and review
git diff origin/main...HEAD > diff.txt

gemini -p "Review this code diff for:
1. Security vulnerabilities
2. Performance issues
3. Code quality problems
4. Missing error handling

Diff:
$(cat diff.txt)
" --output-format json > review.json

Session Tracking

# Track token usage and costs
gemini -p "Review changes" --session-summary metrics.json

# View metrics
cat metrics.json

GitHub Integration

Option 1: Gemini Code Assist App (Easiest)

Install from GitHub Marketplace:

  1. Go to GitHub Marketplace → Gemini Code Assist
  2. Click "Install" and select repositories
  3. PRs automatically get reviewed when opened

Commands in PR comments:

/gemini review     # Request code review
/gemini summary    # Get PR summary
/gemini help       # Show available commands

Quota:

  • Free: 33 PRs/day
  • Enterprise: 100+ PRs/day

Option 2: GitHub Action

# .github/workflows/gemini-review.yml
name: Gemini Code Review

on:
  pull_request:
    types: [opened, synchronize]

jobs:
  review:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write

    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '20'

      - name: Install Gemini CLI
        run: npm install -g @google/gemini-cli

      - name: Run Review
        env:
          GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
        run: |
          # Get diff
          git diff origin/${{ github.base_ref }}...HEAD > diff.txt

          # Run Gemini review
          gemini -p "Review this pull request diff for bugs, security issues, and code quality problems. Be specific about file names and line numbers.

          $(cat diff.txt)" > review.md

      - name: Post Review Comment
        uses: actions/github-script@v7
        with:
          script: |
            const fs = require('fs');
            const review = fs.readFileSync('review.md', 'utf8');
            github.rest.issues.createComment({
              owner: context.repo.owner,
              repo: context.repo.repo,
              issue_number: context.issue.number,
              body: `## 🤖 Gemini Code Review\n\n${review}`
            });

Option 3: Official GitHub Action

# .github/workflows/gemini-review.yml
name: Gemini Code Review

on:
  pull_request:
    types: [opened, synchronize]
  issue_comment:
    types: [created]

jobs:
  review:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
      issues: write

    steps:
      - uses: actions/checkout@v4

      - name: Run Gemini CLI
        uses: google-github-actions/run-gemini-cli@v1
        with:
          gemini_api_key: ${{ secrets.GEMINI_API_KEY }}
          prompt: "Review this pull request for code quality, security issues, and potential bugs."

On-demand commands in comments:

@gemini-cli /review
@gemini-cli explain this code change
@gemini-cli write unit tests for this component

GitLab CI/CD

# .gitlab-ci.yml
gemini-review:
  image: node:20
  stage: review
  script:
    - npm install -g @google/gemini-cli
    - |
      gemini -p "Review the merge request changes for bugs, security issues, and code quality" > review.md
    - cat review.md
  artifacts:
    paths:
      - review.md
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
  variables:
    GEMINI_API_KEY: $GEMINI_API_KEY

Configuration

Global Config

# ~/.gemini/settings.json
{
  "model": "gemini-2.5-pro",
  "theme": "dark",
  "sandbox": true
}

Project Config (GEMINI.md)

Create a GEMINI.md file in your project root for project-specific context:

# Project Context for Gemini

## Tech Stack
- TypeScript with strict mode
- React 18 with hooks
- FastAPI backend
- PostgreSQL database

## Code Review Focus Areas
1. Type safety - ensure proper TypeScript types
2. React hooks rules - check for dependency array issues
3. SQL injection - verify parameterized queries
4. Authentication - check all endpoints have proper auth

## Conventions
- Use camelCase for variables
- Use PascalCase for components
- All API errors should use AppError class

CLI Quick Reference

# Interactive
gemini                          # Start interactive mode
/code-review                    # Run code review extension

# Headless
gemini -p "prompt"              # Single prompt, exit
gemini -p "prompt" --output-format json   # JSON output
gemini -m gemini-2.5-flash -p "prompt"    # Use faster model

# Extensions
gemini extensions list          # List installed
gemini extensions install URL   # Install extension
gemini extensions update        # Update all

# Key Flags
--output-format json            # Structured output
--output-format stream-json     # Real-time events
--session-summary FILE          # Track metrics
-m MODEL                        # Select model

Comparison: Claude vs Codex vs Gemini

AspectClaudeCodex CLIGemini CLI
SetupNone (built-in)npm + OpenAI APInpm + Google Account
ModelClaudeGPT-5.2-CodexGemini 2.5 Pro
ContextConversationFresh per review1M tokens (huge!)
Free TierN/ALimited1,000/day
Best ForQuick reviewsHigh accuracyLarge codebases
GitHub NativeNo@codexGemini Code Assist

When to Use Each

ScenarioRecommended Engine
Quick in-flow reviewClaude
Critical security reviewCodex (88% detection)
Large codebase (100+ files)Gemini (1M context)
Free automated reviewsGemini
Multiple perspectivesAll three (dual/triple engine)

Troubleshooting

IssueSolution
gemini: command not foundnpm install -g @google/gemini-cli
Node.js version errorUpgrade to Node.js 20+
Authentication failedRe-run gemini and login again
Extension not foundgemini extensions install https://github.com/gemini-cli-extensions/code-review
Rate limitedWait or upgrade to Vertex AI
Hangs in CI

Content truncated.

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

9521,094

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

846846

ui-ux-pro-max

nextlevelbuilder

"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."

571700

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

548492

nano-banana-pro

garg-aayush

Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.

673466

fastapi-templates

wshobson

Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.

514280

Stay ahead of the MCP ecosystem

Get weekly updates on new skills and servers.