plugins/google-ecosystem/skills/gemini-cli-execution/SKILL.md
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.
npx skillsauth add melodic-software/claude-code-plugins gemini-cli-executionInstall 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.
STOP - Before executing ANY Gemini CLI command:
- INVOKE
gemini-cli-docsskill- QUERY for the specific CLI command syntax (e.g., "headless mode", "piping input")
- BASE all execution patterns EXCLUSIVELY on official documentation loaded
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.
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
Keywords: run gemini, execute gemini, gemini cli command, headless gemini, pipe to gemini, automated planning, gemini prompt, interactive shell
Use this skill when:
gemini-planner)gemini "prompt"cat file.js | gemini "refactor this"vim or topUse 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
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
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')
Run commands in isolated environment:
gemini -s "Run: npm install untrusted-package" --yolo --output-format json
Enable interactive shell for commands requiring user input (e.g., vim, git rebase).
tools.shell.enableInteractiveShell: true in settings.json.gemini "run vim file.txt" (User must handle input).| Flag | Description |
| --- | --- |
| --output-format json | Return structured JSON (essential for automation) |
| -m, --model | Select model (gemini-2.5-flash, gemini-2.5-pro) |
| -s, --sandbox | Run in sandbox isolation |
| -y, --yolo | Auto-approve all tool calls |
| -r, --resume | Resume previous session |
| -i, --prompt-interactive | Start interactive mode after prompt |
| Topic | Query Keywords |
| :--- | :--- |
| Basic Query | cli prompt syntax, positional prompt |
| Headless/Scripting | headless mode, non-interactive, scripting gemini |
| Output Formatting | json output, output-format, stream-json |
| Sandbox | sandbox, -s flag, docker sandbox |
| Interactive Shell | interactive shell tool, enableInteractiveShell, interactive commands |
What do you want to do?
gemini "Question"cat file | gemini "Analyze"gemini "Plan for X"gemini "run vim file.txt" (with enableInteractiveShell)--output-format json and use jqIssue: 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"
Query: "Run a Gemini query to analyze this code" Expected Behavior:
gemini "prompt" syntaxQuery: "How do I send file contents to Gemini CLI?" Expected Behavior:
cat file | gemini "prompt" pattern
Success Criteria: User receives working piping exampleQuery: "How do I get JSON output from Gemini for automation?" Expected Behavior:
--output-format json flag usage
Success Criteria: User receives parseable JSON output patternOfficial Documentation:
Query gemini-cli-docs for:
development
Search Milan Jovanovic's .NET blog for Clean Architecture, DDD, CQRS, EF Core, and ASP.NET Core patterns. Use for finding applicable patterns, code examples, and architecture guidance. Invoke when working with .NET projects that could benefit from proven architectural patterns.
tools
Install and configure Data API Builder (DAB) for production SQL Server MCP access with RBAC
tools
Manage MssqlMcp servers - status, rebuild, and upstream updates
tools
Developer environment setup guides for Windows, macOS, Linux, and WSL. Use when setting up development machines, installing tools, configuring environments, or following platform-specific setup guides. Covers package management, shell/terminal, code editors, AI tooling, containerization, databases, and more.