.claude/skills/gemini-cli/SKILL.md
Google Gemini CLI orchestration (v0.22.0+) for AI-assisted development. Capabilities: second opinion/cross-validation, real-time Google Search grounding, codebase architecture analysis with codebase_investigator, Gemini 3 model access, extensions support (Conductor, Endor Labs), parallel code generation, code review from different perspective. INTEGRATED WITH TASK PRIMITIVE - creates traceable tasks in claude-task-viewer. Actions: query, search, analyze, generate, review with Gemini. Keywords: Gemini CLI, Gemini 3, google_web_search, codebase_investigator, second opinion, cross-validation, web research, current information, parallel AI, code review, architecture analysis, gemini prompt, AI comparison, real-time search, alternative perspective, extensions, Conductor. Use when: needing second AI opinion, searching current web information, analyzing codebase architecture, generating code in parallel, getting alternative code review, researching current events/docs, using Gemini extensions.
npx skillsauth add alfredolopez80/multi-agent-ralph-loop gemini-cliInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
~/.claude/settings.json or CLI/env varsANTHROPIC_DEFAULT_*_MODEL env varsThis skill enables Claude Code to orchestrate Google Gemini CLI (v0.22.0+) with Gemini 3 Pro for code generation, review, analysis, and specialized tasks including real-time web search.
/stats shows all model usage@ prefix handling for multiple filesSecond Opinion / Cross-Validation
Google Search Grounding
Codebase Architecture Analysis
codebase_investigator toolParallel Processing
Extensions Workflows
# Verify installation
command -v gemini || which gemini
# Check version
gemini --version # Should show v0.22.0+
# Option 1: API Key
export GEMINI_API_KEY=your_key
# Option 2: OAuth (interactive, first run)
gemini # Prompts for auth
In interactive mode:
/settings
# Toggle "Preview Features" to true
# Human-readable output
gemini "your prompt" --yolo -o text 2>&1
# JSON structured output
gemini "your prompt" --yolo -o json 2>&1
# Faster model for simple tasks
gemini "your prompt" -m gemini-2.5-flash -o text 2>&1
| Flag | Short | Description |
|------|-------|-------------|
| --yolo | -y | Auto-approve all tool calls |
| --output-format | -o | Output: text, json, stream-json |
| --model | -m | Model selection |
| --resume | -r | Resume session by index |
| --sandbox | -s | Run in isolated sandbox |
| --debug | -d | Enable debug output |
YOLO Mode: Auto-approves tool calls but does NOT prevent planning prompts. Gemini may still ask "Does this plan look good?" Use forceful language:
Rate Limits: Free tier has 60 requests/min, 1000/day. CLI auto-retries with backoff.
| Model | Use Case | Context |
|-------|----------|---------|
| gemini-3-pro | Complex tasks (default) | 1M tokens |
| gemini-2.5-flash | Quick tasks, lower latency | Large |
| gemini-2.5-flash-lite | Fastest, simplest tasks | Medium |
# Default (Gemini 3 Pro)
gemini "complex analysis" -o text
# Flash for speed
gemini "simple task" -m gemini-2.5-flash -o text
Real-time internet search via Google:
gemini "What are the latest React 19 features? Use Google Search." -o text
gemini "What's new in TypeScript 5.5? Use Google Search." -o text
gemini "Best practices for Next.js 15 as of December 2025." -o text
Best for:
Deep codebase analysis:
gemini "Use the codebase_investigator tool to analyze this project" -o text
gemini "Use codebase_investigator to map the authentication flow" -o text
Output includes:
Cross-session persistence:
gemini "Remember that this project uses Zustand. Save to memory." -o text
Planning++ with context-driven development:
# Install
gemini extensions install https://github.com/gemini-cli-extensions/conductor
# Use for detailed planning
gemini "Use Conductor to plan the implementation of user authentication" -o text
Conductor workflow: Plan → Pull details → Create guardrails → Implement
Security analysis and dependency checks:
# Install
gemini extensions install https://github.com/endorlabs/gemini-extension
# Use for security scanning
gemini "Use Endor Labs to check for vulnerabilities in this project" -o text
gemini --list-extensions
# or
gemini -l
# 1. Generate
gemini "Create a user auth module with bcrypt and JWT" --yolo -o text
# 2. Review (Gemini reviews its own work)
gemini "Review auth.js for security vulnerabilities" -o text
# 3. Fix identified issues
gemini "Fix in auth.js: XSS risk, add input validation. Apply now." --yolo -o text
For long tasks, run in background:
gemini "Generate comprehensive tests" --yolo -o text 2>&1 &
echo $! # Get PID
# Multiple parallel tasks
gemini "Create frontend" --yolo -o text 2>&1 &
gemini "Create backend" --yolo -o text 2>&1 &
gemini "Create tests" --yolo -o text 2>&1 &
wait
# Claude generates → Gemini reviews
# (After Claude writes code)
gemini "Review this code for bugs and security issues: [paste code]" -o text
# Gemini generates → Claude reviews
gemini "Create [code]" --yolo -o text
# Then Claude reviews the output
# Initial task
gemini "Analyze this codebase architecture" -o text
# List sessions
gemini --list-sessions
# Resume for follow-up
echo "What patterns did you find?" | gemini -r 1 -o text
# Further refinement
echo "Focus on authentication flow" | gemini -r 1 -o text
gemini "your prompt" -o json 2>&1
Response structure:
{
"response": "The actual response content",
"stats": {
"models": {
"gemini-3-pro": {
"tokens": {
"prompt": 1500,
"candidates": 500,
"total": 2000,
"cached": 800
}
}
},
"tools": {
"totalCalls": 2,
"byName": {
"google_web_search": {"count": 1, "success": 1}
}
}
}
}
Priority order:
/etc/gemini-cli/settings.json (system)~/.gemini/settings.json (user).gemini/settings.json (project)Create .gemini/GEMINI.md in project root:
# Project Context
This is a TypeScript React app.
## Coding Standards
- Use functional components
- Prefer hooks over classes
- All functions need JSDoc
node_modules/
dist/
*.log
.env
| Task | Command |
|------|---------|
| Basic query | gemini "prompt" --yolo -o text |
| Web search | gemini "prompt. Use Google Search." -o text |
| Architecture | gemini "Use codebase_investigator..." -o text |
| Fast model | gemini "prompt" -m gemini-2.5-flash -o text |
| JSON output | gemini "prompt" -o json |
| Resume session | echo "follow-up" \| gemini -r 1 -o text |
| List sessions | gemini --list-sessions |
| List extensions | gemini --list-extensions |
sleep 2 between calls in scripts| Issue | Solution |
|-------|----------|
| "API key not found" | Set GEMINI_API_KEY env var |
| "Rate limit exceeded" | Wait for auto-retry or use Flash |
| "Context too large" | Use .geminiignore or be specific |
| "Tool call failed" | Check JSON stats for details |
gemini "prompt" --debug -o text
Always verify Gemini's output:
references/command_reference.md - Complete CLI flagsreferences/tools.md - Built-in tools documentationreferences/patterns.md - Advanced integration patternsreferences/templates.md - Reusable prompt templatesGemini CLI is now fully integrated with Claude Code Task Primitive. Every Gemini execution creates a traceable task in ~/.claude/tasks/<session>/tasks.json, making it visible in claude-task-viewer.
User: /gemini-cli "Analyze authentication flow"
↓
Claude: TaskCreate → Task (subagent: gemini-cli)
↓
Hook: task-project-tracker.sh (PostToolUse)
↓
Task gets: project metadata, tool="gemini", session_id
↓
Global Sync: global-task-sync.sh → ~/.claude/tasks/<session>/tasks.json
↓
claude-task-viewer: Shows task with project filter
Tasks are created automatically via hooks when you invoke /gemini-cli:
| Component | Role |
|-----------|------|
| task-project-tracker.sh | Adds project and tool fields to tasks |
| global-task-sync.sh | Syncs tasks to global ~/.claude/tasks/ |
| project-backup-metadata.sh | Tracks session by project |
{
"id": "1",
"subject": "Gemini analysis: authentication flow",
"description": "Use codebase_investigator to map auth dependencies",
"activeForm": "Running Gemini analysis...",
"status": "in_progress",
"project": {
"path": "/Users/.../my-repo",
"repo": "owner/my-repo",
"branch": "main"
},
"tool": "gemini",
"metadata": {
"model": "gemini-3-pro",
"capabilities": ["google_web_search", "codebase_investigator"]
}
}
# Open claude-task-viewer
npx claude-task-viewer --open
# Filter by project
# → Shows all gemini tasks with project metadata
# List tasks from CLI
ls -la ~/.claude/tasks/*/tasks.json
cat ~/.claude/tasks/ralph-*/tasks.json | jq '.tasks[] | select(.tool == "gemini")'
Gemini works seamlessly with adversarial:
# 1. Create adversarial task
/adversarial --council "Design rate limiter"
# 2. Gemini runs as one of the council members
# → Task shows: tool="adversarial", metadata.council_mode="council"
# 3. Both adversarial and gemini tasks are tracked
# → Full visibility in claude-task-viewer
Gemini provides excellent second opinion when combined with Claude:
# Claude writes code
# Then Gemini reviews
/gemini-cli "Review the auth module for security issues"
# Both executions tracked separately
# → Full audit trail in claude-task-viewer
Gemini sessions are preserved across Claude Code sessions:
# Session stored in: ~/.claude/tasks/<session>/tasks.json
# List previous sessions
gemini --list-sessions
# Resume with task update
echo "continue analysis" | gemini -r 1
# Task automatically updated with new session_id
Gemini's web search is also tracked:
/gemini-cli "What are the latest React 19 features? Use Google Search."
# Task includes:
# metadata.capabilities: ["google_web_search"]
# → Visible in task viewer
| Issue | Solution |
|-------|----------|
| Task not appearing in viewer | Check task-project-tracker.sh is registered in settings.json |
| Missing project metadata | Verify project-backup-metadata.sh ran on session start |
| Task sync failed | Check ~/.ralph/logs/global-task-sync.log |
| Gemini session not tracked | Ensure tool: "gemini" is added by hook |
development
Living knowledge base management. Actions: search (query vault), save (store learning), index (update indices), compile (raw->wiki->rules graduation), init (create vault structure). Follows Karpathy pipeline: ingest->compile->query. Use when: (1) searching accumulated knowledge, (2) saving learnings, (3) compiling raw notes into wiki, (4) initializing a new vault. Triggers: /vault, 'vault search', 'knowledge base', 'save learning'.
testing
Produce a verifiable technical specification before coding. 6 mandatory sections: Interfaces, Behaviors, Invariants (from Aristotle Phase 2), File Plan, Test Plan, Exit Criteria (executable bash commands + expected results). Use when: (1) before implementing features with complexity > 4, (2) as Step 1.5 in orchestrator workflow, (3) when requirements need formalization. Triggers: /spec, 'create spec', 'write specification', 'technical spec'.
testing
Pre-launch shipping checklist orchestrating /gates, /security, /browser-test, /perf. Ensures nothing ships without passing all quality checks. Use when: (1) before deploying, (2) before merging to main, (3) before release. Triggers: /ship, 'ship it', 'ready to deploy', 'pre-launch check'.
development
Performance optimization skill. Core Web Vitals via Lighthouse, bundle size analysis, metrics tracking over time. Use when: (1) optimizing frontend performance, (2) analyzing bundle size, (3) tracking metrics regression. Triggers: /perf, 'performance audit', 'core web vitals', 'bundle size'.