gemini-critic
Ask Gemini's most powerful model for an independent second opinion - critique code with fresh eyes, evaluate an article, challenge a plan.
Skill by Ability.ai
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/abilityai-gemini-critic
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/gemini-critic
Tools it pre-approves 5
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Read,Glob,Bash,Write,mcp__aistudio__generate_content
What's inside
- Skill name
gemini-critic- Description
- Ask Gemini's most powerful model for an independent second opinion - critique code with fresh eyes, evaluate an article, challenge a plan. The calling agent controls the exact question and material; this skill just executes the call and returns Gemini's answer verbatim.
- License
- Apache-2.0
- Allowed tools
- Read,, Glob,, Bash,, Write,, mcp__aistudio__generate_content
- Metadata
- author: Ability.ai · created: 2026-07-27 · updated: 2026-08-04 · version: 1.3
- Instructions
- 93 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Pre-approves some shell commands
Files (2)
- SKILL.md
- ask_gemini.py · scripts/
SKILL.md (first lines)
# Gemini Critic
> ℹ️ **First, set expectations:** before anything else, print one short line with this skill's version and its most recent change - the top entry of `metadata.changelog` above - e.g. `gemini-critic vX.Y — recent: <summary>`. Then proceed.
## Purpose
Get a genuinely independent second opinion from a different frontier model. The caller (Eugene or another agent/skill) decides what to ask and what material to send - review this diff, tear apart this article, find holes in this plan. This skill is a **pure executor**: assemble the payload, call Gemini, return the answer verbatim. It never answers the question itself, never softens or summarizes the critique, and never acts on the critique's suggestions.
## State Dependencies
| Source | Location | Read | Write |
|--------|----------|------|-------|
| Gemini API (primary) | bundled `scripts/ask_gemini.py` (direct REST call) | - | sends prompt + material |
| API key | `GEMINI_API_KEY` env var | yes | never |
| Gemini API (fallback) | `mcp__aistudio__generate_content` MCP tool, if connected | - | sends prompt + material |
| Input material | file paths supplied by the caller | yes | never |
The skill is **self-contained**: the bundled script + key file work in any project on this machine, with no MCP server configured. Only transient prompt files are written (to the session scratchpad). No state persists between invocations.
## The Executor Contract
These rules are what make the second opinion worth having - breaking them defeats the skill's purpose:
1. **The caller's framing wins.** Send the caller's question/instruction as given. Do not rephrase it, add your own concerns to it, or narrow its scope.
2. **Return the answer verbatim.** No summarizing, no filtering, no "Gemini mostly agrees with me". The calling agent judges the critique, not you.
3. **Do not act on the critique.** No edits, no fixes, no follow-up calls. Deliver the answer; your job ends there.
4. **Fail loud, never degrade silently.** If the MCP tool is unavailable, a file is missing, or the material is too large - stop and say exactly what's wrong. Never send a partial payload without flagging it.
## Process
### Step 1: Parse the request
From the arguments (or the calling context), extract:
- **The question/instruction** - required. If genuinely absent, stop and ask what to send.
- **Material** - file paths, globs, or inline text. Optional (pure questions are fine).
- **Model override** - a `model=...` token. Default: `gemini-pro-latest` (an alias that always resolves to Google's newest flagship pro model - never pin a versioned model as default; if the caller names a specific model, trust them and pass it through).
- **Optional flags the caller may request in plain words:** grounding via Google Search ("check against current sources"), a temperature, or a custom system prompt.
### Step 2: Assemble the material
- **Text and source code** (any code file, .md, .txt, config, diffs): Read each file and inline it into the `user_prompt` inside fenced blocks, each labeled with its path. This is MIME-independent and most reliable for code. Preserve content exactly.
- **Binary/media** (PDF, images, video, audio): pass as attachments in Step 3 (script `--file`, or MCP `files` on the fallback path); MIME auto-detected from extension.
- **Globs**: expand with Glob, then treat as above.
- **Missing paths**: stop and list them - do not send a payload the caller didn't intend.
- **Size guard**: if inlined text exceeds ~500K characters, stop and report the total with a per-file breakdown so the caller can narrow the selection. Never truncate silently.
### Step 3: Call Gemini (bundled script - primary transport)
Write the assembled prompt (question + inlined material) to a temp file in the session scratchpad, then run:
```bash
python3 ~/.claude/skills/gemini-critic/scripts/ask_gemini.py \
--prompt-file <scratchpad>/gemini_prompt.md \
[--system-file <scratchpad>/gemini_system.md] \
[--model <override>] [--search] [--temperature T] \
[--file <binary/media path>]...
```
- **Model**: script defaults to `gemini-pro-latest` (auto-tracks the newest flagship pro); pass `--model` only on caller override. Never pass `--thinking-budget 0` - pro-tier models require thinking mode, and the default `-1` = unlimited/dynamic thinking is the point of this skill.
- **System prompt**: if the caller supplied framing (persona, rubric, role), write theirs exactly to the system file. Only if they gave a bare ask like "look at this with fresh eyes" use the default critic prompt:
> You are an independent expert reviewer seeing this material for the first time. Be candid and specific. Lead with the most serious problems, ranked by severity. Point to exact locations. Say what is genuinely good only where it's load-bearing. No flattery, no hedging.
- `--search`: only if the caller asked for grounding/fact-checking.
- `--temperature`: only if the caller specified one.
- **Binary/media** (PDF, images, audio, video): pass each via `--file` (inline limit ~20MB total).
The script resolves the key itself from the `GEMINI_API_KEY` env var - never inline the key in the command.
If the call fails transiently (timeout, 5xx), retry once. If it fails again, report the exact error. **Fallback**: if `python3` or the script is unavailable but the `aistudio` MCP is connected, call `mcp__aistudio__generate_content` with the same prompt/system/model and `thinking_budget: -1`.
### Step 4: Return the answer
Output exactly:
1. One header line: model used, what was sent (file count/names or "question only"), and whether search grounding was on.
2. Gemini's response, verbatim and clearly delimited.
Nothing else - no commentary, no agreement/disagreement, no action items. If the calling agent wants your view afterward, that's its next question, outside this skill.
## Outputs
- Gemini's verbatim response with a one-line provenance header, returned inline to the caller.
- Nothing persistent written to disk (prompt temp files go to the session scratchpad).
## Error Recovery
| Failure | Action |
|---------|--------|
| Key missing (script exits) | Stop. Report: `GEMINI_API_KEY` not set — add it to this agent's credentials. Do not hunt for keys elsewhere. |
| Script fails AND `aistudio` MCP not connected | Stop. Report both failures (user can check `/mcp`). Do not invent alternate access paths. |
| File path missing / unreadable | Stop. List the exact paths that failed. |
| Payload too large | Stop. Report total size + per-file breakdown; let the caller narrow. |
| API error after one retry | Stop. Report the exact error message and the model requested. |From Abilityai/trinity-skills, Apache-2.0.
More from Abilityai/trinity-skills
- 0.570score
explain-visually
Ability.ai
Explain a complex topic back to you with visuals - the right diagram for each facet (flowchart, timeline, sequence, schema/ER, state machine, chart…
SkillAFreshness: AClaude Code - 0.570score
animated-explainer
Ability.ai
Build an animated, data-driven explainer film for a real system — a canvas film that renders live from the product's own data and cannot drift, not an…
SkillAFreshness: AClaude Code - 0.570score
file-indexer
Abilityai
Generate a comprehensive file system index with directory tree, file sizes, and modification dates.
SkillAFreshness: AClaude Code +9 - 0.566score
agent-fleet-analysis
Ability.ai
Scan one or more directories of agents in ANY paradigm — Claude Code, n8n workflow exports, framework apps (LangChain/CrewAI/AutoGen), or freeform-coded…
SkillAFreshness: AClaude Code +9 - 0.565score
add-pipeline
Ability.ai
Scaffold a Trinity-compatible long-running pipeline inside any agent — creates projects/<slug>/{project.md, pipeline.yaml, instances/}, copies…
SkillAFreshness: AClaude Code - 0.565score
document-extractor
Abilityai
Extracts key information from documents (PDFs, images, text files) in a folder and creates structured markdown summaries with the same filename but .md…
SkillAFreshness: AClaude Code +9 - 0.561score
create-playbook
Ability.ai
Create a new skill or playbook.
SkillAFreshness: AClaude Code +9 - 0.561score
close
Ability.ai
Close the current issue without a git commit — adds summary comment and marks done.
SkillAFreshness: AClaude Code +9 - 0.561score
create-explanatory-image
Ruby
Generate explanatory diagrams and infographics that visually communicate concepts.
SkillAFreshness: AClaude Code +9 - 0.561score
autoplan
Ability.ai
Analyze a skill issue before implementing — reads the affected SKILL.md, identifies what changes are needed and any risks
SkillAFreshness: AClaude Code +9 - 0.561score
add-git-sync
Ability.ai
Add git-as-state hooks to an agent — auto-commits on Stop, rebases on SessionStart, snapshots on PreCompact.
SkillAFreshness: AClaude Code +9 - 0.561score
commit
Ability.ai
Commit changed skill files and close the in-progress issue — writes a traceability commit message referencing the issue number
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 1
- Open issues
- 1
- Last commit (this folder)
- Aug 4, 2026 (2 months ago)
- Last release
- Oct 21, 2026 (6 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.3
- License
- Apache-2.0
- Repository
- github.com/Abilityai/trinity-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Ability.ai
- 0.570score
animated-explainer
Ability.ai
Build an animated, data-driven explainer film for a real system — a canvas film that renders live from the product's own data and cannot drift, not an…
SkillAFreshness: AClaude Code - 0.570score
explain-visually
Ability.ai
Explain a complex topic back to you with visuals - the right diagram for each facet (flowchart, timeline, sequence, schema/ER, state machine, chart…
SkillAFreshness: AClaude Code - 0.566score
agent-fleet-analysis
Ability.ai
Scan one or more directories of agents in ANY paradigm — Claude Code, n8n workflow exports, framework apps (LangChain/CrewAI/AutoGen), or freeform-coded…
SkillAFreshness: AClaude Code +9 - 0.565score
add-pipeline
Ability.ai
Scaffold a Trinity-compatible long-running pipeline inside any agent — creates projects/<slug>/{project.md, pipeline.yaml, instances/}, copies…
SkillAFreshness: AClaude Code - 0.561score
autoplan
Ability.ai
Analyze a skill issue before implementing — reads the affected SKILL.md, identifies what changes are needed and any risks
SkillAFreshness: AClaude Code +9 - 0.561score
close
Ability.ai
Close the current issue without a git commit — adds summary comment and marks done.
SkillAFreshness: AClaude Code +9
Cite this page
gemini-critic skill. Agent Mart. https://agentmart.dev/skills/abilityai-gemini-critic (last updated 2026-10-24)