From gemini-as-tool
Use Google Gemini (3.x Pro and Flash) as a headless tool from Claude Code — a second opinion, a builder, or a judge — via a Google AI Pro OAuth subscription with no API key. Use when the user says "use Gemini", "ask Gemini", "get a second opinion", "have Gemini review/judge this", "cross-check with another model", or "orchestrate Gemini"; asks the literal question "how do I use Gemini from Claude Code?"; mentions Gemini 3 Pro/Flash, Antigravity, agy, or the Gemini CLI; or when you want to run Gemini headlessly or fan out prompts in parallel.
How this skill is triggered — by the user, by Claude, or both
Slash command
/gemini-as-tool:gemini-as-toolWhen to use
Reach for this for a second-model opinion, a builder→judge pipeline, or parallel Gemini calls from inside Claude Code. Trigger phrases — "use Gemini", "ask Gemini", "second opinion from Gemini", "have Gemini judge/review this", "cross-check with Gemini", "run this by another model", "orchestrate Gemini as a subagent".
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
A tested harness ships with this skill for calling subscription Gemini models headlessly:
A tested harness ships with this skill for calling subscription Gemini models headlessly:
python "$CLAUDE_PLUGIN_ROOT/skills/gemini-as-tool/gemini_tool.py" <ask|pipeline|parallel> ...
Use it. Do not rediscover the plumbing — the raw CLIs have traps (below).
Locating the script. When installed as a plugin, Claude Code sets
$CLAUDE_PLUGIN_ROOT, so the harness is$CLAUDE_PLUGIN_ROOT/skills/gemini-as-tool/gemini_tool.py. If that variable is not set (e.g. a plain clone), the script is in this skill's own directory — runpython gemini_tool.py ...from there. The commands below use the short form for brevity.
| Goal | Command |
|---|---|
| One answer (3.5 Flash) | python gemini_tool.py ask "prompt" |
| One answer (3.1 Pro) | python gemini_tool.py ask "prompt" --model pro |
| Builder→judge (Pro builds, Flash judges) | python gemini_tool.py pipeline "build task" |
| N prompts concurrently | python gemini_tool.py parallel "p1" "p2" "p3" |
(Python API: from gemini_tool import ask.)
Calls take 10–60s (agy startup ≈10s). Verified working 2026-06-04.
A proven pattern for delegating a full build to Gemini:
BUILD_BRIEF_<name>.md in the target
repo/worktree (read-these-files-first list, file ownership + do-not-touch, blocking
tsc/test gates, "write BUILD_REPORT_.md as your completion signal"). The ask prompt
is then just: "Read <abs path>\BUILD_BRIEF_<name>.md and execute it fully, step by step.
If you cannot edit files or run commands in this mode, say exactly that as your entire
reply." (The escape hatch catches permission failures honestly instead of a hallucinated
success story.)git worktree add _wt-<name> -b <branch>) when any other agent
touches the same repo.--timeout 2700 is MANDATORY for builds. The default 300s kills the run mid-build and
surfaces as agy run finished but conversation could not be located. Launch in background:
python gemini_tool.py ask "<pointer prompt>" --timeout 2700git log),
not the stdout text alone.git show <commit> --stat against the ownership list, review the diff.gemini CLI, gemini-3.5-flash → 404. Do NOT conclude it doesn't exist and silently substitute an older model — that fails the user's request. The harness's --model flash = real 3.5 Flash via agy.agy -p prints NOTHING to stdout on Windows (exit 0, empty pipe — antigravity-cli#115). It is not broken auth; the response is in ~/.gemini/antigravity-cli/brain/<conv-id>/.system_generated/logs/transcript.jsonl. The harness handles this; don't pipe agy directly.--model takes display labels ("Gemini 3.5 Flash (High)", "Gemini 3.1 Pro (High)"). Plain ids are silently ignored (falls back to default).gemini CLI sunsets for this account 2026-06-18. Don't build anything new on it; the harness's --backend gemini-cli is temporary.| Mistake | Fix |
|---|---|
Probing model names against gemini CLI to find 3.5 Flash | It's not there. Use the harness (agy backend). |
agy -p ... | <parse stdout> | Empty by bug. Use the harness, or read transcript.jsonl. |
| Asking a model to self-identify to verify version | Unreliable. Trust the harness's model labels (verified). |
| Treating exit 55 / trust errors as auth failure | Workspace trust: --skip-trust (gemini) or run under your home directory (%USERPROFILE%) (agy). |
| Launching a build with the default timeout | 300s default kills builds → "conversation could not be located". Pass --timeout 2700. |
Details/ops notes: see README.md in this repo.
Provides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.
npx claudepluginhub mariomagdy/gemini-as-tool --plugin gemini-as-tool