Claude-skill-registry gemini-cli-execution
Expert guide for executing the Google Gemini CLI in non-interactive and headless modes. Covers command syntax, piping input, output handling, and automation patterns. Use when running gemini commands, piping context to Gemini, scripting Gemini workflows, or using interactive shell mode. Delegates to gemini-cli-docs for official command references.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/gemini-cli-execution" ~/.claude/skills/majiayu000-claude-skill-registry-gemini-cli-execution && rm -rf "$T"
skills/data/gemini-cli-execution/SKILL.mdGemini CLI Execution
🚨 MANDATORY: Invoke gemini-cli-docs First
STOP - Before executing ANY Gemini CLI command:
- INVOKE
skillgemini-cli-docs- QUERY for the specific CLI command syntax (e.g., "headless mode", "piping input")
- BASE all execution patterns EXCLUSIVELY on official documentation loaded
Overview
This skill provides the operational knowledge to execute the
gemini binary effectively within scripts, sub-agents, and automation workflows. It focuses on non-interactive usage.
Command Syntax (v0.18+)
IMPORTANT: Gemini CLI uses positional prompts, not subcommands.
# Correct syntax (positional prompt): gemini "Your prompt here" # With options: gemini "Your prompt" --output-format json -m gemini-2.5-flash # DEPRECATED (will be removed): gemini -p "Your prompt" # -p flag is deprecated # WRONG (no 'query' subcommand exists): gemini query "Your prompt" # This does NOT work
When to Use This Skill
Keywords: run gemini, execute gemini, gemini cli command, headless gemini, pipe to gemini, automated planning, gemini prompt, interactive shell
Use this skill when:
- Invoking Gemini CLI from an agent (e.g.,
)gemini-planner - Running one-off queries:
gemini "prompt" - Piping context:
cat file.js | gemini "refactor this" - Using Interactive Shell for tools like
orvimtop - Scripting complex workflows involving Gemini
Execution Patterns
1. Single Shot Query (Non-Interactive)
Use positional prompt for direct queries:
gemini "Create a plan for a React app" # With JSON output for parsing: gemini "Create a plan for a React app" --output-format json
2. Piping Context
Pass file content or logs via stdin:
cat logs.txt | gemini "Analyze these error logs" # With model selection: cat src/*.ts | gemini "Review this code" -m gemini-2.5-flash
3. JSON Output for Automation
Always use
--output-format json for scripting:
result=$(gemini "What is 2+2?" --output-format json) response=$(echo "$result" | jq -r '.response') tokens=$(echo "$result" | jq '.stats.models | to_entries | map(.value.tokens.total) | add')
4. Sandbox Execution
Run commands in isolated environment:
gemini -s "Run: npm install untrusted-package" --yolo --output-format json
5. Interactive Shell Mode
Enable interactive shell for commands requiring user input (e.g.,
vim, git rebase).
- Enable: Set
intools.shell.enableInteractiveShell: true
.settings.json - Usage:
(User must handle input).gemini "run vim file.txt"
Key CLI Flags
| Flag | Description |
|---|---|
| Return structured JSON (essential for automation) |
| Select model (gemini-2.5-flash, gemini-2.5-pro) |
| Run in sandbox isolation |
| Auto-approve all tool calls |
| Resume previous session |
| Start interactive mode after prompt |
Keyword Registry (Delegates to gemini-cli-docs)
| Topic | Query Keywords |
|---|---|
| Basic Query | , |
| Headless/Scripting | , , |
| Output Formatting | , , |
| Sandbox | , , |
| Interactive Shell | , , |
Quick Decision Tree
What do you want to do?
- Ask a Question ->
gemini "Question" - Analyze a File ->
cat file | gemini "Analyze" - Generate a Plan ->
gemini "Plan for X" - Run Interactive Tool ->
(with enableInteractiveShell)gemini "run vim file.txt" - Parse Results -> Add
and use--output-format jsonjq
Troubleshooting
Issue: CLI hangs or waits for input. Fix: Ensure you are NOT using the interactive chat mode. Use positional prompt for one-shot queries.
Issue: Command not found:
gemini query
Fix: There is no query subcommand. Use positional prompt: gemini "your prompt"
Issue: Warning about deprecated
-p flag
Fix: Use positional syntax instead: gemini "prompt" not gemini -p "prompt"
Test Scenarios
Scenario 1: Single Shot Query
Query: "Run a Gemini query to analyze this code" Expected Behavior:
- Skill activates on "run gemini" keyword
- Delegates to gemini-cli-docs for command syntax
- Returns proper positional prompt syntax
Success Criteria: User receives correct
syntaxgemini "prompt"
Scenario 2: Piped Input
Query: "How do I send file contents to Gemini CLI?" Expected Behavior:
- Skill activates on "pipe to gemini"
- Provides
pattern Success Criteria: User receives working piping examplecat file | gemini "prompt"
Scenario 3: JSON Output Parsing
Query: "How do I get JSON output from Gemini for automation?" Expected Behavior:
- Skill activates on "automated" or "json output"
- Returns
flag usage Success Criteria: User receives parseable JSON output pattern--output-format json
References
Official Documentation: Query
gemini-cli-docs for:
- "cli commands"
- "headless usage"
- "output format"
Version History
- v1.1.0 (2025-12-01): Added Test Scenarios section
- v1.0.0 (2025-11-25): Initial release