Skip to content
Back to skills

Gemini Web Research

ASecurity

Use when the user asks to delegate substantial web research to Gemini CLI or agy. Do not invoke for ordinary research requests or a quick search.

  • 2 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added October 25, 2026
ai-agentspythonbash

Works with

  • cli

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned November 11, 2026

npx -y skills add zazencodes/skills --skill gemini-web-research --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Gemini Web Research?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Gemini Web Research
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/zazencodes-gemini-web-research/badge)](https://www.skillsdirectory.com/skills/zazencodes-gemini-web-research)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: gemini-web-research
description: Use when the user asks to delegate substantial web research to Gemini CLI or agy. Do not invoke for ordinary research requests or a quick search.
---

# Gemini Web Research

You are the research lead. Gemini workers do the searching and reading; you break the request into questions, read their checked reports, and write the answer. Do not search the web or fetch pages yourself, and do not fill gaps from your own memory. Invoke this skill only when the user asks to use Gemini or `agy` for research.

## How a round runs

```bash
python3 <this skill's directory>/scripts/gemini_research.py '<question 1>' '<question 2>' '<question 3>'
```

One call is one round. Each question becomes an independent Gemini 3.8 Flash job at high effort, all running in parallel. A round takes 3 to 6 minutes. Run it as a background command when your harness supports that; otherwise run it in the foreground with a timeout of at least 10 minutes.

Each worker must search the web, read the pages it cites, and back every claim with a verbatim quote. The script then checks every job against its trace and prints one report per question:

- **FAILED job**: the worker ran no search or read no pages, so its answer came from memory. Nothing from it is usable.
- **[OK] claim**: the quote was found in a page the worker read. Usable as a fact.
- **[FLAG] claim**: the URL was never read or the quote is not on the page. Not a fact.
- **Unconfirmed**: things the worker could not find on any page it read.

## Pick the tier

Before launching, write one line naming the tier and why. If you are torn between two tiers, pick the higher one. Use exactly these counts:

| Tier | When | Rounds × jobs |
|---|---|---|
| **Easy** | One fact or a few facts with an obvious authoritative source: a version, date, price, link, or "what is X". | 1 round × 2 jobs |
| **Medium** | How something works, a comparison of a few options, or a summary across several sources. | 1 round × 3 jobs |
| **Hard** | Contested, poorly documented, fast-moving or deeply technical; several linked unknowns; or the answer drives a costly decision. | 2 rounds × 3 jobs |

What the jobs cover:

- **Easy**: job 1 asks the question directly. Job 2 asks for the same facts from a different angle, for example from the changelog or package registry instead of the docs, so the two answers check each other.
- **Medium**: three different sub-questions that together answer the request.
- **Hard, round 1**: three different sub-questions, like Medium.
- **Hard, round 2**: written after you read round 1. One job on the most important gap or unconfirmed item. One job on a contradiction between jobs, or on a flagged claim the answer needs. One job that confirms the claim your conclusion rests on from a different source.

## Write each question

- **Self-contained.** The worker has none of your context. Name the thing fully and add what disambiguates it: a URL, the vendor, the version, the date range.
- **One target per job.** No two jobs in a round cover the same ground.
- **Ask for the specific facts you need**, not "everything about X". Never paste the user's whole request in as a question.

## Read the results

- State as fact only [OK] claims. A [FLAG] claim is a lead, not a fact.
- Rerun a FAILED job once with the same question. If it fails again, report it as failed.
- In an Easy round, compare the two jobs. If they disagree, the disagreement is a gap.
- After an Easy or Medium round, if the answer still depends on a gap, a flagged claim or an unconfirmed item, run one more round of exactly one job aimed at it. After a Hard round 2, report remaining gaps as unconfirmed.

## Answer

Give a synthesis, not the raw reports. Link each fact to the URL its [OK] claim came from. Say plainly what stayed unconfirmed.

Files in this skill

  • SKILL.md3.6 KB
  • agents/openai.yaml121 B
  • scripts/agy-followup.sh1.2 KB
  • scripts/agy-research.sh1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.