Multi-round research with explicit methodology, evidence tracking, and citation-tagged synthesis. Trigger on 'deep dive', 'research report', 'literature review', 'investigate X across sources', 'multi-round investigation'. Distinct from the `summarize` skill, which is a single-pass condensation; this skill maintains a state file across iterations, tracks coverage, and produces a long-form report with per-claim citations. Three execution stages: plan (scope into sub-questions), iterate (record evidence per round), compile (synthesize report). The skill itself does not fetch the web — it tells the host agent which fetches to perform via OpenSquilla's existing web tools, and records what comes back.
76
96%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Investigate a question by walking it through three explicit stages with a
persisted state file. Use this when a single-pass summarize would lose too
much, or when the user asks for a "research report" / "literature review".
The host agent does the web fetching; this skill structures the work and
keeps a paper trail.
| Need | Use |
|---|---|
| One-line summary of an article | summarize |
| Multi-round investigation with citations | this skill |
| Quick lookup, single source | direct web search |
| Continuous monitoring of a topic | a digest/cron skill |
Scope → Plan → Iterate (×N) → Compile → DeliverState persists in a single JSON file you pass between stages. The file is the contract; if you can describe the file, you can resume the research at any point.
python {baseDir}/scripts/plan.py \
--question "How did Manus differentiate from competing AI agents in 2025?" \
--depth thorough \
--out plan.json--depth choices:
overview — 3-5 sub-questions, target 1 source per sub-questionthorough — 6-10 sub-questions, target 2-3 sources per sub-questionexhaustive — 12-20 sub-questions, target 5+ sources per sub-questionThe plan is a pydantic model serialized to JSON; see
references/methodology.md for the schema and
the system-review approach the depth choices implement.
Each round: read the plan, decide which sub-questions need attention, print the fetch list for the host agent to execute, and (after the agent returns results) record evidence back into the plan.
# Show the host what to fetch this round
python {baseDir}/scripts/iterate.py --plan plan.json --round 1 --print-fetches
# After the host fetches, record results back
python {baseDir}/scripts/iterate.py --plan plan.json --round 1 \
--record evidence_round_1.jsonevidence_round_1.json:
[
{
"subquestion_id": "sq-002",
"url": "https://...",
"title": "...",
"excerpt": "...",
"relevance": 0.85,
"fetched_at": "2026-05-06T10:14:00Z"
}
]The script updates per-sub-question coverage estimates. When all
sub-questions reach the depth-target coverage, the plan's done flag flips
to true and the iteration loop terminates.
See references/sources.md for the 5-axis source evaluation (Authority, Recency, Evidence, Bias, Corroboration) you should apply when judging relevance.
python {baseDir}/scripts/compile.py --plan plan.json --out report.mdOutput is markdown with:
[^N]Citations link to the references block. The compile step never invents
sources — every [^N] in the body must correspond to an entry recorded in
stage 2.
summarizesummarize takes one document and produces a shorter version. This skill
takes one question and produces a researched report drawing on many
documents, with explicit evidence tracking. They share no trigger words by
design — summarize triggers on "summarize", "shorten", "tl;dr"; this
skill triggers on "research", "investigate", "literature review", "deep
dive".
94ac35e
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.