skills/oimiragieo/agent-studio/omega-gemini-cli

omega-gemini-cli

SKILL.md

Gemini CLI Skill

Headless wrapper for Google Gemini CLI. Sends prompts via stdin to gemini -p "" --yolo. Free tier available — no API key required (Google OAuth only).

When to Use

  • Get a Google Gemini perspective on any question
  • Free-tier AI consultation (no API key costs)
  • Code review from Gemini's model
  • Brainstorming and analysis tasks
  • Cross-validation of Claude's own responses
  • Large files or codebases that benefit from Gemini's context window
  • Sandbox execution (run/test code via Gemini)

Response Times

Gemini CLI runs as a subprocess and includes model startup time:

  • Simple Q&A / news query: ~2 minutes
  • Codebase or large-file review: ~5–10 minutes

Set expectations with the user before running long tasks.

Usage

Ask a question

node .claude/skills/omega-gemini-cli/scripts/ask-gemini.mjs "What is the best caching strategy for a Node.js API?"

Specify model (short or long flag)

node .claude/skills/omega-gemini-cli/scripts/ask-gemini.mjs "Explain async/await" --model gemini-2.5-flash
node .claude/skills/omega-gemini-cli/scripts/ask-gemini.mjs "Explain async/await" -m gemini-2.5-flash

JSON output

node .claude/skills/omega-gemini-cli/scripts/ask-gemini.mjs "List 5 design patterns" --json
# Returns: {"response":"..."} on success, {"error":"...","raw":"..."} on parse failure

Code sandbox (short or long flag)

node .claude/skills/omega-gemini-cli/scripts/ask-gemini.mjs "Write and run a fibonacci function" --sandbox
node .claude/skills/omega-gemini-cli/scripts/ask-gemini.mjs "Write and run a fibonacci function" -s

Stdin usage

echo "Explain recursion" | node .claude/skills/omega-gemini-cli/scripts/ask-gemini.mjs

File review (embed content in prompt)

node .claude/skills/omega-gemini-cli/scripts/ask-gemini.mjs "Review this code: $(cat src/auth.ts)"

Availability Check

node .claude/skills/omega-gemini-cli/scripts/verify-setup.mjs
# Exit 0 = available (Node 18+ and Gemini CLI found)
# Exit 1 = not installed or too old

Scripts

Script Purpose
ask-gemini.mjs Core headless wrapper — sends prompt via stdin
parse-args.mjs Argument parser (--model/-m, --json, --sandbox/-s)
verify-setup.mjs Availability check (Node 18+, Gemini CLI via PATH or npx)
format-output.mjs Output normalization (JSON envelope handling)

Flags

Flag Short Description
--model MODEL -m Gemini model (e.g., gemini-2.5-flash, gemini-2.5-pro)
--json Machine-readable JSON output: {"response":"..."} envelope
--sandbox -s Code execution sandbox mode

Models (2026)

Model ID Notes
gemini-3-pro-preview Latest (2026), highest capability
gemini-3-flash-preview Latest (2026), faster
gemini-2.5-pro Stable, high capability
gemini-2.5-flash Recommended: lower quota/latency
gemini-2.5-flash-lite Lightest, fastest, lowest quota usage

Exit Codes

Code Meaning
0 Success
1 Error (CLI failure, auth issue, JSON parse failure with --json)
9009 Windows: command not found (falls back to npx automatically)

Slash Commands (when installed in a project with .claude/commands/)

Command Purpose
/analyze Run headless script with user's prompt (and any @ file refs)
/sandbox Run with --sandbox; execute or test code
/omega-gemini Alias: run headless for analysis, sandbox, or brainstorm as appropriate
/brainstorm Brainstorm mode (build prompt with challenge + optional methodology)
/omega-gemini-setup Verify Node and Gemini CLI; guide user to install and auth. No MCP.

Anti-Patterns & Iron Laws

  1. ALWAYS use verify-setup.mjs before first use
  2. NEVER pass prompt as positional arg to raw gemini CLI — use ask-gemini.mjs wrapper
  3. ALWAYS validate model parameter (wrapper validates via regex ^[a-zA-Z0-9._-]+$ on Windows)
  4. NEVER assume gemini is on PATH — wrapper handles npx @google/gemini-cli fallback automatically
  5. ALWAYS handle exit code 1 and 9009 gracefully
  6. ALWAYS set user expectations about response time before running (2–10 minutes typical)

Integration Notes

  • Auth: One-time Google OAuth via gemini interactive session (run gemini once to sign in)
  • Rate limits: Governed by Gemini API quotas (generous for personal use on free tier)
  • Platform: Full cross-platform; Windows uses shell: true with model validation; non-Windows uses array args (no shell)
  • npx fallback: On PATH miss, automatically retries with npx -y @google/gemini-cli
  • No timeout flag: Unlike other omega wrappers, gemini wrapper has no --timeout-ms
  • Stdin delivery: Prompt always sent via stdin to avoid shell argument length limits (8191-char cmd.exe limit on Windows, ARG_MAX on Linux/macOS)
  • JSON envelope: --json wraps output as {"response":"..."} on success or {"error":"...","raw":"..."} on failure

Requirements

  • Node.js 18+ to run the scripts
  • Google Gemini CLI (npm install -g @google/gemini-cli) with one-time Google sign-in

Memory Protocol

Before work: Read .claude/context/memory/learnings.md After work: Append findings to learnings or issues as needed.

Note: Use pnpm search:code to discover references to this skill codebase-wide.

Weekly Installs
21
GitHub Stars
16
First Seen
Feb 25, 2026
Installed on
github-copilot21
codex21
kimi-cli21
gemini-cli21
cursor21
opencode21