CommunityResearch & Data Analysisgithub.com

tiensi/search-drill-iterate

Claude Code skill for deep, iterative web research. Structures multi-round, multi-pass research with Open Questions handoffs and UNFILLABLE markers so successive passes go deeper instead of re-discovering the same facts.

Works withClaude Code~Codex CLI~Cursor
npx add-skill tiensi/search-drill-iterate

name: search-drill-iterate description: Deep iterative research. Takes a topic, an optional existing research doc, and a number of iterations. Each iteration spawns a subagent that improves the doc by filling gaps and avoiding duplicate research. The doc has a defined schema (Findings, Investigated Paths, Decision Log, Open Questions) that each subagent knows how to parse and update.

search-drill-iterate

Iterative deep research via subagents. Each iteration builds on the prior by parsing the document's structured sections and targeting the highest-value gaps.

When to use

  • Deep / thorough / comprehensive research on a topic
  • Building or improving a research document
  • Running additional passes on an existing research file

Inputs

InputRequiredDescription
TopicYesWhat to research
Research docNoPath to existing doc (created if absent)
IterationsYesNumber of passes to run

How it works

  1. The orchestrator takes the inputs and fills the template at templates/pass.md
  2. For each iteration, a subagent is spawned with the filled template
  3. The subagent reads the doc, parses the schema sections, researches gaps, and updates the doc
  4. The next subagent picks up where the prior left off — the doc is the only handoff

Document schema

Every research doc follows this schema. The subagent template teaches each agent how to parse and update it.

---
title: ...
topic: ...
created: ...
last-updated: ...
pass: N
status: draft | complete
---

## Findings
The research content organized by subtopic. The core output. Subagents
add, expand, and refine — never delete prior findings.

## Investigated Paths
Log of what was searched and the outcome. Subagents check this before
every search to avoid re-research.
- `<query or approach>` → <outcome>

## Decision Log
Choices made during research and their rationale. Helps future passes
understand why things were prioritized or deprioritized.
- [pass N] <decision> — <rationale>

## Open Questions
Gaps to fill. Each entry has context on what was tried. Genuinely
unanswerable gaps are marked UNFILLABLE: <reason>.

Why these sections

SectionPurpose
FindingsThe actual research — what you'd read
Investigated PathsPrevents re-research — the #1 waste of rounds
Decision LogPreserves reasoning so future passes can make informed tradeoffs
Open QuestionsThe handoff — tells the next pass exactly where to focus

Placeholders in the template

PlaceholderDescription
<RESEARCH_FILE>Absolute path to the research document (created if it doesn't exist)
<TOPIC>Research topic in plain language
<SCOPE>What's in scope
<EXCLUSIONS>What's out of scope
<RESEARCH_QUESTIONS>Prioritized questions to investigate

Files

SKILL.md                       this file
templates/pass.md              subagent prompt template (one template, all iterations)
docs/anti-duplication.md       rules that prevent re-research
docs/logging-markers.md        structured markers for audit and calibration
examples/example-output.md     example showing the document schema in practice

Related Skills