Skip to content
Development
Skill

/research

Runs a deep-research query on Google Gemini's deep-research managed agent and returns a cited report. This skill should be used when the user asks to "deep research with Gemini", "run Gemini deep research", "have Antigravity research X", or wants a thorough, multi-source web

BOOST
From plugin
dotclaude
59683 skills7 agents4 commands3 MCP
Install
$ npx -y skills add FradSer/dotclaude --skill research --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/research

Context preview

The summary Claude sees to decide when to auto-load this skill.

Runs a deep-research query on Google Gemini's deep-research managed agent and returns a cited report. This skill should be used when the user asks to "deep research with Gemini", "run Gemini deep research", "have Antigravity research X", or wants a thorough, multi-source web

SKILL.md

research.SKILL.md
name: research
description: Runs a deep-research query on Google Gemini's deep-research managed agent and returns a cited report. This skill should be used when the user asks to "deep research with Gemini", "run Gemini deep research", "have Antigravity research X", or wants a thorough, multi-source web research report produced by a remote Gemini agent. Invoked via "/antigravity:research". Supports a higher-effort max mode via "--max".
argument-hint: "<research question> [--max] [--collaborative-planning] [--visualization off|auto] [--thinking-summaries auto|none] [--bigquery] [--system TEXT] [--tier flex|standard|priority|deferred] [--label k=v]"
allowed-tools: ["Bash(uv:*)", "Monitor", "Read"]
user-invocable: true

Antigravity Deep Research

Run `$ARGUMENTS` as a deep-research query on Gemini's deep-research managed agent, wait for it to finish, and report the cited result. Two models are available: `deep-research-preview-04-2026` (default) and `deep-research-max-preview-04-2026` (max mode — slower, higher effort), selected with `--max`.

The script is at `${CLAUDE_PLUGIN_ROOT}/scripts/antigravity.py`. It is self-daemonizing: `research` returns immediately with a `run_id`, a detached worker runs the research, and a `status` file flips to `completed` / `failed` when done. Requires credentials and `uv` on PATH. Two credential paths are supported: Vertex AI via ADC plus `ANTIGRAVITY_PROJECT` / `ANTIGRAVITY_LOCATION`, or an API key (`GEMINI_API_KEY` / `GOOGLE_API_KEY`); see the Authentication section of `../delegate/references/usage.md`. Deep research can take several minutes.

Phase 1: Frame the query

**Goal**: Turn `$ARGUMENTS` into a clear research question.

**Actions**: 1. Use the full `$ARGUMENTS` text (minus a `--max` flag) as the research question. Pass `--max` through to the script when the user wants max mode (deeper, slower). 2. If it is empty or too vague to research (no subject, scope, or constraints), ask the user one or two clarifying questions, then proceed.

Phase 2: Launch the run

**Goal**: Start the detached research worker.

**Actions**: 1. Run the script:

   uv run "${CLAUDE_PLUGIN_ROOT}/scripts/antigravity.py" research --query "<question>" [--max]

2. Capture `run_id`, `output_file`, and `wait_command` from stdout. 3. If stdout reports an error (for example no credentials configured, or a forced `ANTIGRAVITY_AUTH` path that is incomplete), surface it and stop. Note: deep research has **no** token cap (`DeepResearchAgentConfig` accepts no `max_total_tokens`), so `--max-tokens` is deliberately absent here — never imply to the user that a research run is bounded.

Phase 3: Wait for completion

**Goal**: Block until the research finishes without busy-looping the model.

**Actions**: 1. Start a Monitor on the captured `wait_command`. It emits one line — `antigravity run <id>: completed` / `failed` / `timeout` — then exits:

   uv run "${CLAUDE_PLUGIN_ROOT}/scripts/antigravity.py" wait --run <run_id> --timeout 1800

Deep research is slow: set the Monitor `timeout_ms` to 3600000 (60 min, 2x the wait timeout) and pass `--timeout 1800` to the wait command. Use a clear description like "antigravity research <run_id>". 2. When the Monitor event arrives, check if the line contains `: completed`, `: failed`, or `: timeout`:

  • Contains `: completed` or `: failed` → proceed to Phase 4.
  • Contains `: timeout` → the research is still running (the worker keeps polling up to ~2h).

Start the Monitor on the same `wait_command` again to keep waiting. After **four** consecutive timeouts (4 hours total), tell the user it is still running and give them the full command to fetch it later:

     uv run "${CLAUDE_PLUGIN_ROOT}/scripts/antigravity.py" status --run <run_id> --full

then stop. Never present a `timeout` / still-running state as the report.

Phase 4: Report the result

**Goal**: Present the research report.

**Actions**: 1. Fetch the full result:

   uv run "${CLAUDE_PLUGIN_ROOT}/scripts/antigravity.py" status --run <run_id> --full

Or read the rendered `output_file` directly. 2. Present the report text to the user, preserving any citations and sources. 3. If the status is `failed`, report the recorded error and likely cause.

Notes

  • This uses Gemini's managed deep-research agent; it manages its own search and

browsing. No sandbox tools or network flags apply here.

  • See `../delegate/references/usage.md` for the shared API surface and limits.
Read more
Ships withdotclaude

A curated collection of 22 plugins for Claude Code, providing specialized agents, skills, and automation tools for development and productivity workflows.

Get the whole plugin

Other skills on dotclaude.