Gemini Skill: Run Google's AI CLI From Within Claude
With over 17,000 downloads and 35 stars, the gemini skill by @steipete is ClawHub's most popular AI model integration — a skill that lets Claude call Google's Gemini CLI directly. It's one of three AI CLI skills steipete maintains on ClawHub (alongside wacli and discord), and it represents an intriguing use case: one AI agent delegating specific tasks to another.
The Problem It Solves
Claude and Gemini have different strengths, and for some tasks, routing to Gemini makes sense from inside a Claude workflow:
- Free rate limits: Gemini 2.5 Pro offers 60 requests/minute and 1,000 requests/day at no cost — significantly more headroom than paid Claude API tiers for high-volume workflows.
- 1M token context window: Processing a very long document, an entire codebase, or a complex set of logs in a single pass is where Gemini's context advantage is most useful.
- Google Search grounding: Gemini can query Google Search as part of its response, giving access to real-time information without a separate search skill.
- Second opinion: In agent workflows, getting an independent model's perspective on a Claude-generated answer can surface blind spots.
The gemini skill makes all of this callable from Claude in one line.
Architecture
The skill wraps the gemini binary (Google's open-source CLI) in one-shot mode:
gemini "Your prompt here"One-shot mode sends a prompt, gets a response, and exits — no interactive session, no state. This is the pattern the skill enforces: Claude composes the prompt, calls gemini, reads the output.
Installation
Via Homebrew:
brew install gemini-cliOr via NPX (no installation):
npx @google/gemini-cliThen install the skill:
clawdbot install geminiFirst run: authenticate by running gemini once interactively and following the Google login flow. After that, all calls work non-interactively.
Basic Usage
# One-shot Q&A
gemini "What is the difference between TCP and UDP?"
# Use a specific model
gemini --model gemini-2.5-flash "Summarize this in 3 bullet points: ..."
# Request JSON output
gemini --output-format json "Return a JSON object with keys: name, age, role for a fictional user"
# Stream JSON for scripting
gemini --output-format stream-json "Generate 5 product descriptions"Why --output-format json Matters
When Claude needs to parse Gemini's output programmatically — extract structured data, feed results into another step, or validate schema — --output-format json guarantees machine-readable output:
gemini --output-format json \
"Extract the company name, CEO, and founding year from this text: [text]"Returns:
{
"company_name": "Acme Corp",
"ceo": "Jane Smith",
"founding_year": 2015
}This is significantly more reliable than asking for JSON in a plain prompt and hoping the model complies with the format.
Model Selection
# Gemini 2.5 Pro — 1M token context, highest capability
gemini --model gemini-2.5-pro "..."
# Gemini 2.5 Flash — faster, lower cost, still 1M context
gemini --model gemini-2.5-flash "..."The free tier covers both models: 60 requests/minute, 1,000 requests/day, no charge.
Extensions
Gemini CLI supports extensions that add capabilities:
# List available extensions
gemini --list-extensions
# Manage extensions
gemini extensions <command>Extensions can include Google Search integration, code execution, file system access, and MCP (Model Context Protocol) server connections. Extensions that are enabled persist across sessions.
Practical Use Cases From Claude
Large Document Processing
# Process a document that exceeds Claude's current context
gemini "Summarize the key findings and action items from this report: $(cat large_report.txt)"Gemini's 1M token context means it can handle documents that would overflow Claude's context window.
Second-Opinion Check
When Claude produces an analysis or decision, verify it independently:
gemini "Evaluate this SQL query for potential performance issues: $(cat query.sql)"Two models catching different issues is more reliable than one.
Real-Time Information
Gemini with Google Search grounding can answer questions about recent events:
gemini "What is the current Gemini 2.5 Pro pricing as of today?"For time-sensitive queries where Claude's training cutoff matters, routing to Gemini's Search-grounded mode fills the gap.
Structured Data Extraction
gemini --output-format json \
"Extract all email addresses and names from this text and return as a JSON array: $(cat contacts.txt)"Code Generation with Large Context
gemini --model gemini-2.5-pro \
"Given this entire codebase context, suggest where to add error handling: $(find . -name '*.ts' -exec cat {} \;)"gemini vs. Other AI Skills on ClawHub
| Feature | gemini skill | Direct Claude | Tavily search |
|---|---|---|---|
| Cost for high volume | ✅ free tier generous | API costs | API costs |
| Context window | ✅ 1M tokens | 200K tokens | N/A |
| Google Search grounding | ✅ (with extension) | ❌ | ✅ |
| JSON output mode | ✅ native | manual prompting | N/A |
| Real-time information | ✅ via Search | ❌ | ✅ |
| Code understanding | ✅ | ✅ | ❌ |
| Latency | one extra hop | native | API call |
One-Shot Only — By Design
The skill explicitly specifies "avoid interactive mode." This is intentional:
- Interactive mode creates a persistent session that doesn't fit Claude's tool-call pattern
- One-shot calls are predictable, have defined inputs and outputs, and can be composed
- Interactive sessions would require state management between calls, adding complexity
If you need multi-turn Gemini conversations, that's a different use case — and one better handled by calling the Gemini API directly rather than the CLI.
How to Install
clawdbot install geminiPre-requisite: install Gemini CLI:
# macOS / Linux
brew install gemini-cli
# Or via NPX (no install)
npx @google/gemini-cliAuthenticate on first use:
gemini # Follow the Google login flowAfter authentication, all subsequent calls work without interaction.
Practical Tips
-
Use
--model gemini-2.5-flashfor speed. Flash is 3–5x faster than Pro at comparable quality for most tasks. Use Pro only when you need maximum reasoning depth or the full 1M context. -
Compose prompts carefully for one-shot. Unlike an interactive session, the model has no memory between calls. Include all context the model needs in a single prompt.
-
Pipe file content directly. Shell command substitution (
$(cat file.txt)) is the fastest way to include file content in a gemini prompt from Claude. Works well for documents under the context limit. -
Use
--output-format jsonwhenever parsing output. Even if the plain text answer would work, JSON output is more reliable for Claude to parse downstream. It eliminates formatting variation in the model's responses. -
Authenticate once, then it persists. The Gemini CLI stores auth tokens locally. You only need the interactive login flow once — not before every use.
-
Avoid
--yolo. The skill's instructions explicitly note "avoid--yolofor safety." This flag disables confirmation prompts for file system operations — keep it off.
Considerations
- Requires local Gemini CLI binary: Unlike web API skills, this requires
geminiinstalled on the machine running Claude. On systems without Homebrew or Node.js, setup requires more steps. - Auth token expiry: Google auth tokens expire periodically. If calls start failing with auth errors, run
geminiinteractively to re-authenticate. - Free tier rate limits: 60 requests/minute and 1,000 requests/day sound generous, but high-volume automated workflows can exhaust daily limits. Monitor usage for batch processing scenarios.
- One-shot only: No conversation history, no context carryover between calls. Each call is independent. For tasks requiring multi-turn reasoning, Claude itself is better suited.
- Privacy considerations: Prompts sent to Gemini go to Google's servers. Avoid including sensitive personal data, credentials, or proprietary code in Gemini prompts.
The Bigger Picture
The gemini skill represents a new pattern in AI agent design: AI-to-AI delegation. Rather than treating a single model as the universal answer, workflows can route specific subtasks to the model best suited for them — Claude for reasoning and code, Gemini for long-context processing and Google-grounded real-time answers, specialized models for domain-specific tasks.
Steipete's consistent presence in ClawHub's top downloads (gemini, wacli, discord) reflects a broader philosophy: build thin wrappers around powerful CLI tools with clean semantics, let the AI compose them. The gemini skill is the purest expression of this — one binary, one flag, one output format.
View the skill on ClawHub: gemini