Marketplace

gemini-cli

Google Gemini CLI fundamentals for code analysis, review, and validation. Use when (1) executing gemini commands for code review/analysis, (2) configuring models (gemini-3-flash-preview (default)/gemini-3-pro-preview (complex only)), output formats (text/json/stream-json), or sandbox modes, (3) managing Gemini sessions with /chat save/resume, (4) integrating Gemini into automation scripts and CI/CD pipelines. Do NOT use for orchestration patterns (use gemini-claude-loop instead).

$ インストール

git clone https://github.com/creator-hian/claude-code-plugins /tmp/claude-code-plugins && cp -r /tmp/claude-code-plugins/gemini-plugin/skills/gemini-cli ~/.claude/skills/claude-code-plugins

// tip: Run this command in your terminal to install the skill


name: gemini-cli description: Google Gemini CLI fundamentals for code analysis, review, and validation. Use when (1) executing gemini commands for code review/analysis, (2) configuring models (gemini-3-flash-preview (default)/gemini-3-pro-preview (complex only)), output formats (text/json/stream-json), or sandbox modes, (3) managing Gemini sessions with /chat save/resume, (4) integrating Gemini into automation scripts and CI/CD pipelines. Do NOT use for orchestration patterns (use gemini-claude-loop instead).

Gemini CLI Skill

⚠️ Environment Notice

EnvironmentCommand Format
Interactive terminalgemini (enters interactive mode)
Claude Code / CIgemini -p "prompt" (headless mode)
Scripting with JSONgemini -p "prompt" --output-format json
Stdin inputecho "prompt" | gemini or cat file | gemini -p "analyze"

Non-TTY environments (Claude Code, CI pipelines) require -p flag or stdin input.

Quick Start

Headless Mode (Claude Code/CI)

# Basic review
gemini -p "Review this code for bugs"

# With JSON output for parsing
gemini -p "Analyze this code" --output-format json

# With specific model and directories
gemini -m gemini-3-flash-preview --include-directories ./src,./lib -p "Code analysis"

# Stdin input with prompt
cat src/auth.py | gemini -p "Review for security issues"

JSON Output Parsing

result=$(gemini -p "Query" --output-format json)
response=$(echo "$result" | jq -r '.response')

Reference Documentation

Available Models

ModelDescriptionBest For
gemini-3-flash-previewFast and efficient (DEFAULT)Standard reviews, batch operations, general use
gemini-3-pro-previewFlagship modelComplex architecture analysis, security audits only

Output Formats

FormatDescriptionUse Case
(default)Human-readable textTerminal output
jsonStructured with statsScript parsing, automation
stream-jsonJSONL eventsReal-time monitoring

JSON Response Structure

Full schema: See Options Reference

Key fields: response (string), stats (object), error (optional object)

Key Options

OptionAliasDescription
--prompt-pRun in headless mode with prompt
--model-mModel selection
--output-formatOutput format (json, stream-json)
--include-directoriesAdditional context directories (comma-separated)
--yolo-yAuto-approve all actions
--sandbox-sSandbox mode (restrictive)
--approval-modeSet approval mode (auto_edit)

Common Patterns

Full examples: See Examples for detailed patterns

Essential Patterns

# Code review with output
cat src/auth.py | gemini -p "Review for security issues" > review.txt

# JSON output with jq parsing
result=$(gemini -p "Query" --output-format json)
echo "$result" | jq -r '.response'

# Cross-directory analysis
gemini --include-directories ./backend,./frontend -p "Review API integration"

Timeout Configuration

Task TypeRecommended TimeoutClaude Code Tool
Quick checks2 minutestimeout: 120000
Standard review5 minutestimeout: 300000
Deep analysis10 minutestimeout: 600000

Recommendation: Use timeout: 600000 for complex analysis with gemini-3-pro-preview.

Error Handling

Detailed error handling patterns: See Examples

ErrorCauseSolution
No outputMissing -p flagUse gemini -p "prompt"
Empty responseNo stdin/promptProvide via -p or stdin
Exit code 1General errorCheck JSON .error field
Context too largeToo many filesUse specific paths
Permission deniedSandbox restrictionsUse --yolo carefully

Best Practices

  1. Use -p flag in Claude Code and CI environments
  2. Use --output-format json for script parsing
  3. Parse with jq for reliable extraction
  4. Check .error in JSON response for error handling
  5. Use --include-directories for multi-directory context
  6. Match model to task: gemini-3-flash-preview for most tasks, gemini-3-pro-preview only for complex architecture/security
  7. Set 10-minute timeout for deep analysis (timeout: 600000)