Deep Research

SkillAI & models

Builds repeatable deep-research workflows for verified synthesis. Use when producing evidence-backed briefs, comparisons, dossiers, or research pipelines.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Deep Research skill

What this skill tells your AI

The instructions your AI receives, as published by vasilyu1983/ai-agents-public in frameworks/shared-skills/skills/ai-deep-research/SKILL.md and read by ahel’s review.

Use this skill to design and run repeatable research workflows that gather evidence across many sources, preserve provenance, and synthesize results into decision-ready outputs.

This skill covers both native deep-research agents (ChatGPT Deep Research, Gemini Deep Research, Perplexity Deep Research, Claude with web search) and custom agentic research pipelines (planner / searcher / verifier / synthesizer split).

ASCII Flow

research question
  |
  v
research plan
  scope + source targets + queries + stop criteria + freshness window
  |
  v
evidence gathering
  primary sources first + source ledger + hostile-source checks
  |
  v
verification
  isolated verifier checks claims against ledger, not researcher context
  |
  v
synthesis
  evidence-tiered answer + citations + contradictions + unknowns

Quick Reference

QuestionDefault
When to use a native agent vs custom pipeline?Native for ad-hoc, open-ended questions. Custom for repeatable, auditable, or multi-source workflows.
What is the first artifact of any research task?The source ledger — never the synthesis.
When is a source trustworthy?When it is a primary document with a stable URL, author attribution, and a verifiable date.
What stops an unbounded research loop?An explicit stop criterion defined before the loop starts (saturation condition or max iterations).
How to handle contradictory sources?Separate them into evidence tiers; do not resolve by averaging.

Use This Skill When

  • You need to produce a sourced comparison, brief, memo, or research dossier.
  • You need to choose between a native deep-research agent and a custom pipeline.
  • You want to build a repeatable, auditable research workflow with provenance.
  • You need to detect hostile sources, citation laundering, or model-output-as-source.
  • You need to run a verifier subagent that has not seen the researcher's context.

Do Not Use This Skill For

  • Single-lookup current facts — use ordinary browsing or direct tools.
  • Long-lived retrieval serving — use ai-rag.
  • Local note-vault packaging — use docs-notes-retrieval.

Current Stance

The durable pattern is not "send a single query and summarize the top results."

The default architecture (as of last_validated date above):

  1. Plan before searching: emit a structured research plan with queries, source targets, and success criteria before any tool call.
  2. Ledger as contract: the source ledger is the primary artifact — synthesis is derived from it, not the other way around.
  3. Verifier isolation: the verifier subagent must not share context with the researcher — it reads only the ledger and checks claims independently.
  4. Evidence tier separation: primary sources (original docs, filings, specs) are never mixed with secondary commentary or model-generated summaries in the same evidence bucket.
  5. Saturation-first synthesis: synthesize only after the research loop has reached saturation (new queries return no novel facts), not on a time budget.
  6. Freshness windows are explicit: every claim in the final output carries a date anchor and a freshness class (stable / volatile / unknown).
  7. Hostile source detection is mandatory for public-web research: adversarial SEO, AI-generated content farms, and citation-laundering chains are real threats.

Patterns

Full catalog → references/patterns-catalog.md

IDNameWhen to reach for it
P1Source-ledger-as-contractAlways — every research task
P2Plan-then-execute loopMulti-query or multi-source tasks
P3Multi-agent research swarmLarge corpora with parallel query paths
P4Verifier subagentAny claim that will reach a user or decision
P5Freshness-window sourcingTime-sensitive domains (AI, market, regulatory)
P6Evidence-tier separationWhen primary and secondary sources both exist
P7Citation back-pointerEvery synthesis sentence that makes a factual claim
P8Stop-criterion-as-evalTo prevent unbounded research loops
P9Hostile-source detectionPublic-web research, vendor comparisons
P10Synthesis-after-saturationAll multi-pass research tasks

Anti-Patterns

Full catalog → references/anti-patterns-catalog.md

IDNameWhy it matters
A1Pre-synthesizing the answerFrames all subsequent evidence gathering; produces confirmation bias
A2Single-pass searchMisses contradictions, minority sources, and laterally relevant evidence
A3Mixing evidence tiersPrimary docs and blog summaries in the same bucket degrade citation quality
A4Model-output-as-sourceLLM summaries carry hallucination risk; they are working notes, not source truth
A5Unbounded research loopWithout a stop criterion, cost and time grow unboundedly with no quality signal
A6Citation launderingCiting a secondary article that in turn cites the primary — provenance chain breaks
A7Verifier-with-same-contextVerifier that read the same sources as researcher adds no independence
A8Vague consensus language"Multiple sources say" without naming them is unfalsifiable
A9Date-free volatile claimsTime-sensitive facts without date anchors decay silently
A10Retrofitting citationsWriting first, citing later consistently inflates confidence in unsupported claims
A11Overweighting recencyNewest is not most authoritative — prefer canonical primary sources
A12Storing evidence with synthesisMixed buckets cause RAG follow-on to cite derived text as original evidence
A13Treating the open-access corpus as the fieldPaywalled prior work and unpublished negative results are silently absent; output skews toward hypotheses that only look promising

Decision Matrix: Native Agent vs Custom Pipeline

See full decision guide → references/native-deep-research-agents.md

CriterionNative agentCustom pipeline
Setup timeMinutesHours to days
AuditabilityLimited (opaque search path)Full (ledger + traces)
RepeatabilityLow (non-deterministic)High (seeded, logged)
Source controlNoneFull
Freshness controlModel-dependentExplicit per query
Multi-step planningImplicitExplicit (P2)
Verifier isolationNot availableP4
Cost predictabilityLowHigh
Best forAd-hoc exploration, open questions, competitive overviewRepeatable workflows, regulated outputs, source-auditable deliverables

Decision rule: choose a native agent when speed matters and provenance does not. Choose a custom pipeline when the output will be cited, published, used in a product, or needs to be reproduced.

Native agents comparison

Full table with API surfaces and citation fidelity → references/native-deep-research-agents.md

AgentAPI model ID / toolStrengthsLimitations
ChatGPT Deep Research (OpenAI)o3-deep-research (depth) / o4-mini-deep-research (speed/cost) — Responses APIStrongest source diversity, long synthesis, strong multi-step reasoning (RL-post-trained)Sunset scheduled 2026-07-23 (recommended replacement: gpt-5.5-pro) — verify at developers.openai.com/api/docs/deprecations before starting new work, the feature guide page does not surface this. Slow (5–30 min), opaque search log, citations can go stale
Gemini Deep Research (Google)deep-research-preview-04-2026 / deep-research-max-preview-04-2026 (Interactions API)Explicit plan review before execution, Google index, async + streaming, MCP supportPreview model IDs include date suffix — will change; thinner synthesis depth than ChatGPT DR
Perplexity Deep Researchsonar-deep-research (Chat Completions API)Fastest (2–5 min), paragraph-level inline citations, real-time indexCitation laundering risk on SEO topics; shorter synthesis; model averages contradictions rather than flagging; multi-component pricing makes budgeting error-prone
Claude with web searchweb_search_20260318 (current: adds response-inclusion control) / web_search_20260209 (dynamic filtering, GA) / web_search_20250305 (basic)Full tool-call audit trail, structured output, P2/P4 composable, memory-tool-backed persistenceNo dedicated DR mode; needs P2 loop for DR-equivalent depth
Grok DeepSearch (xAI)web_search / x_search server-side tools (documented at docs.x.ai)Only agent with X/Twitter as a primary indexed source; now has a documented, API-invocable tool surfaceNo dedicated report-generating deep-research model or endpoint comparable to the other four; citation auditability less mature

Architecture, Workflow, and Contracts

Full depth — planner / searcher / verifier / synthesizer subagent split, canonical contract shapes (ResearchPlan, SourceLedger, EvidenceTier, VerifierReport, SynthesisArtifact), stop-criterion design, freshness window classes — in references/agentic-research-loop-architecture.md.

Default Workflow

  1. Frame the research question narrowly enough to be falsifiable.
  2. Emit a structured research plan — see assets/templates/research-plan.template.md.
  3. Execute the planner/searcher loop; record every source in the ledger before any synthesis.
  4. Run the verifier subagent (must not share context with the searcher).
  5. Separate evidence tiers: primary, secondary, and model-working-notes.
  6. Check freshness windows; date-stamp all volatile claims.
  7. Synthesize into the requested artifact; every factual claim carries a citation back-pointer.
  8. Archive the ledger separately — see assets/templates/source-ledger.template.md.

Hypothesis Generation: The Co-Scientist Role Taxonomy

The planner / searcher / verifier / synthesizer split above answers a question. A different split is needed when the task is to generate and rank candidate ideas — research directions, product hypotheses, competing explanations for an observed effect — where there is no single retrievable answer to converge on.

Google Research's AI co-scientist (2025) decomposes that job into six specialized roles under a supervisor agent, each a separate context:

RoleJobWhy it is separate
GenerationProduce initial hypotheses from literature exploration plus simulated scientific debate between personasGeneration optimizes for coverage; mixing in evaluation collapses the candidate space early (see A1)
ReflectionPeer-review each hypothesis for correctness, novelty, and qualityA reviewer that also generated the idea cannot reject it — the same independence rule as P4
RankingRun an Elo-based tournament: hypotheses compete pairwise, ratings order the fieldPairwise comparison is more reliable than absolute scoring, and the rating is a live signal you can watch converge
EvolutionRefine the top-ranked hypotheses — simplify the concept, synthesize two ideas, or push into unconventional reasoningRefinement is a distinct move from generation; it operates on winners, not on a blank page
ProximityCompute a proximity graph clustering similar ideasSurfaces where the field is crowded vs unexplored; prevents the tournament from ranking ten paraphrases of one idea
Meta-reviewSynthesize patterns across all reviews and debates, feed them back as guidanceThe only role that improves the system rather than a hypothesis

The loop is generate → debate → evolve, run iteratively: new hypotheses enter the tournament, top-ranked ones are evolved and re-enter, meta-review tightens the criteria each pass. Termination is the same discipline as P8 — stop on rating saturation (no new hypothesis breaks into the top tier for N rounds), not on a fixed round count.

How this composes with the rest of this skill. Generation and Reflection both need a ledger (P1) — a hypothesis grounded in nothing is a guess, and Reflection's novelty check requires knowing what already exists. Ranking is where evidence tiers (P6) do the work: a hypothesis supported by primary sources should outrank one supported by commentary, so feed the tier into the tournament rather than letting fluency decide. Meta-review is the natural place to catch A1 and A8 across a whole run.

Scope caution. This is a hypothesis-generation architecture. It orders candidate ideas by plausibility; it does not establish that any of them are true. The output of a tournament is a ranked queue for verification, never a finding — and see A13 for the literature bias that shapes what enters the queue at all.

Sources: Google Research, "AI co-scientist" (2025); described in Gulli, Agentic Design Patterns (Springer, 2025), Ch. 21 — Exploration and Discovery.

Known Traps

TrapResolution
Starting with synthesis and backfilling sourcesFreeze the ledger first; emit no synthesis until the ledger passes a minimum source count and verifier check
Using model outputs as sources in the next research passStamp working notes with tier: model-output; the verifier rejects them as primary evidence
Verifier reads the same context as researcherGive the verifier only the ledger JSONL, not the search session
Research loop never terminatesDefine the stop criterion in the plan: saturation (no novel facts in N iterations) or hard cap (M total queries)
Citation laundering through secondary articlesTrace every citation to its primary document; reject chains longer than two hops
Mixing old and new evidence for fast-moving topicsApply P5 freshness-window sourcing; reject sources older than the window for volatile claims
Hostile SEO sources polluting vendor comparisonsApply P9 hostile-source detection before adding any URL to the ledger
S2S session-state loss on agentic research re-runsPersist the ledger and plan to disk before each iteration; resume from ledger state, not from conversation context
Trusting a vendor's feature guide as the source of truth for model availabilityA provider's "how to use X" guide and its deprecations/sunset page are maintained on different cadences and can disagree — the guide may still recommend a model days before its documented shutdown. Check the deprecations page separately before wiring a pipeline to any specific model ID

Navigation

References

Assets / Templates

Scripts

  • python3 scripts/citation_verifier.py --input claims.jsonl — Checks JSONL of {claim, source_url, supporting_quote} and reports unsupported claims

Data

Related Skills

Fact-Checking

  • Known bugs, regressions, framework/compiler/runtime footguns, and version-specific crash or workaround guidance must be verified against current primary web sources before being treated as current fact.
  • Start from data/sources.json for workflow and tool references.
  • Verify native deep-research agent capabilities and output formats before recommending them for specific use cases — features change frequently.
  • Check the provider's deprecations/sunset page, not just its feature guide, before committing a pipeline to a specific model ID — the two pages update on different cadences and the guide can lag behind an already-announced shutdown by days or weeks.
  • If live verification is unavailable, mark native-agent capability claims as unverified.

Learnings Loop

Before applying this skill on a non-trivial task, read learnings.consolidated.md in this directory (and learnings.md if present).

After applying it, if you encountered a pattern worth remembering, a mistake worth preventing, or a domain fact that surprised you, append one dated bullet to learnings.md via agents-skills-feedback-loop/scripts/append_learning.py. Do not modify SKILL.md itself.

Signals

GitHub stars
87
Forks
19
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
ai-deep-research
Source
github.com/vasilyu1983/ai-agents-public