Skill

gemini-analyze

Send a file to Gemini CLI for structured code analysis. Use when you need security audits, performance reviews, architecture analysis, or bug detection.

From google-ecosystem
Install
1
Run in your terminal
$
npx claudepluginhub melodic-software/claude-code-plugins --plugin google-ecosystem
Tool Access

This skill is limited to using the following tools:

ReadBash
Skill Content

Gemini Analyze Command

Send a file to Gemini CLI for structured analysis.

Prerequisites

  • Gemini CLI installed and configured (npm install -g @google/gemini-cli or brew install gemini-cli)
  • Valid Google AI API key configured in environment

Usage

/google-ecosystem:gemini-analyze <file-path> [analysis-type]

Arguments

  • $1 (required): File path to analyze
  • $2 (optional): Analysis type - defaults to "general"
    • security - Security vulnerabilities and risks
    • performance - Performance issues and optimizations
    • architecture - Design patterns and structure
    • bugs - Potential bugs and edge cases
    • general - Overall code review

Examples

  • /google-ecosystem:gemini-analyze src/auth.ts security
  • /google-ecosystem:gemini-analyze lib/utils.py performance
  • /google-ecosystem:gemini-analyze app/main.go architecture
  • /google-ecosystem:gemini-analyze index.js bugs
  • /google-ecosystem:gemini-analyze config.yaml (defaults to general)

Execution

Step 1: Validate File

Check that the file exists and is readable:

if [ ! -f "$1" ]; then
  echo "Error: File not found: $1"
  exit 1
fi

Step 2: Determine Analysis Type

analysis_type="${2:-general}"

Step 3: Build Prompt

Create analysis-specific prompts:

case "$analysis_type" in
  security)
    prompt="Security audit this code. Identify:
1. Authentication/authorization vulnerabilities
2. Input validation issues
3. Injection vulnerabilities (SQL, XSS, command)
4. Sensitive data exposure
5. Cryptographic weaknesses

Rate each finding: CRITICAL, HIGH, MEDIUM, LOW"
    ;;
  performance)
    prompt="Performance review this code. Identify:
1. Algorithmic inefficiencies
2. Memory leaks or excessive allocation
3. Unnecessary operations
4. Missing caching opportunities
5. N+1 query patterns

Estimate impact: HIGH, MEDIUM, LOW"
    ;;
  architecture)
    prompt="Architecture review this code. Analyze:
1. Design patterns used
2. SOLID principles adherence
3. Separation of concerns
4. Dependency management
5. Extensibility and maintainability

Provide recommendations for improvement"
    ;;
  bugs)
    prompt="Bug hunt in this code. Look for:
1. Logic errors
2. Off-by-one errors
3. Null/undefined handling
4. Race conditions
5. Edge cases not handled
6. Type mismatches

Rate likelihood: LIKELY, POSSIBLE, UNLIKELY"
    ;;
  *)
    prompt="General code review. Evaluate:
1. Code quality and readability
2. Best practices adherence
3. Potential issues
4. Improvement suggestions"
    ;;
esac

Step 4: Execute Analysis

result=$(cat "$1" | gemini "$prompt" -m gemini-2.5-flash)

Step 5: Parse Results

Note: Gemini CLI outputs plain text by default, not JSON. The jq parsing below is for reference if using JSON output mode. For standard usage, treat the entire output as the response.

response=$(echo "$result" | jq -r '.response // "Analysis failed"')
tokens=$(echo "$result" | jq '.stats.models | to_entries | map(.value.tokens.total) | add // 0')
model=$(echo "$result" | jq -r '.stats.models | keys[0] // "unknown"')

Output Format

Present findings in structured format:

# Gemini Analysis: {filename}

**Type**: {analysis_type}
**Model**: {model}
**Tokens**: {tokens}

---

{response}

---
*Analysis by Gemini CLI*

Notes

  • Uses Flash model by default for cost efficiency
  • Supports multiple analysis types with specialized prompts
  • Structured findings with severity/impact ratings
  • Token usage reported for cost tracking
Stats
Parent Repo Stars40
Parent Repo Forks6
Last CommitMar 17, 2026