Install
$ agentstack add skill-wyattowalsh-agents-research ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Deep Research
General-purpose deep research with multi-source synthesis, confidence scoring, source-support auditing, and anti-hallucination verification. The design follows current deep-research patterns: plan before retrieval, start broad then narrow, coordinate parallel workers through a lead agent, audit whether cited sources actually support each claim, use perspective expansion for breadth, and synthesize into a report rather than a source dump.
Canonical Vocabulary
Use these canonical terms exactly in plans, journals, delegated task prompts, and final reports.
| Term | Definition | |------|-----------| | query | The user's research question or topic; the unit of investigation | | claim | A discrete assertion to be verified; extracted from sources or user input | | source | A specific origin of information: URL, document, database record, or API response | | evidence | A source-backed datum supporting or contradicting a claim; always has provenance | | provenance | The chain from evidence to source: tool used, URL, access timestamp, excerpt | | confidence | Score 0.0-1.0 per claim; based on evidence strength and cross-validation | | cross-validation | Verifying a claim across 2+ independent sources; the core anti-hallucination mechanism | | triangulation | Confirming a finding using 3+ methodologically diverse sources | | contradiction | When two credible sources assert incompatible claims; must be surfaced explicitly | | synthesis | The final research product: not a summary but a novel integration of evidence with analysis | | plan gate | A compact, reviewable research plan produced after triage and before substantial retrieval | | source-support audit | Statement-level check that each cited source actually supports the claim attached to it | | support matrix | Table mapping each claim to each cited source with supports, partial, contradicts, or irrelevant | | citation anchor | The specific excerpt, section, or data row used to connect a source to a claim | | support status | Per-claim/per-source classification: supports, partial, contradicts, or irrelevant | | effort budget | Bounded search/delegation plan covering expected workers, source count, depth, and stop conditions | | journal | The saved markdown record of a research session, stored in ~/.{gemini|copilot|codex|claude}/research/ | | sweep | Wave 1: broad parallel search across multiple tools and sources | | deep dive | Wave 2: targeted follow-up on specific leads from the sweep | | lead | A promising source or thread identified during the sweep, warranting deeper investigation | | tier | Complexity classification: Quick (0-2), Standard (3-5), Deep (6-8), Exhaustive (9-10) | | finding | A verified claim with evidence chain, confidence score, and provenance; the atomic unit of output | | gap | An identified area where evidence is insufficient, contradictory, or absent | | bias marker | An explicit flag on a finding indicating potential bias (recency, authority, LLM prior, etc.) | | degraded mode | Operation when research tools are unavailable; confidence ceilings applied | | capability | A research ability such as web search, docs lookup, extraction, or subagent delegation; tool names are preferred implementations, not guarantees |
Dispatch
| $ARGUMENTS | Action | |---|---| | Question or topic text (has verb or ?) | Investigate — classify complexity, execute wave pipeline | | Vague input ( or verify | **Fact-check** — verify claim against 3+ search engines | | compare vs [vs ...] | **Compare** — structured comparison with decision matrix output | | survey | **Survey** — landscape mapping, annotated bibliography | | track | **Track** — load prior journal, search for updates since last session | | resume [number or keyword] | **Resume** — resume a saved research session | | list [active, domain, tier] | **List** — show journal metadata table | | archive | **Archive** — move journals older than 90 days | | delete | **Delete** — delete journal N with confirmation | | export [N]` | Export — render HTML dashboard for journal N (default: current) | | Empty | Gallery — show topic examples + "ask me anything" prompt |
Auto-Detection Heuristic
If no mode keyword matches:
- Ends with
?or starts with question word (who/what/when/where/why/how/is/are/can/does/should/will) → Investigate - Contains
vs,versus,compared to,orbetween noun phrases → Compare - Declarative statement with factual claim, no question syntax → Fact-check
- Broad field name with no specific question → ask: "Investigate a specific question, or survey the entire field?"
- Ambiguous → ask: "Would you like me to investigate this question, verify this claim, or survey this field?"
Plan Gate
Produce a triage packet before substantial retrieval for Standard, Deep, and Exhaustive research:
- Restate the research question, audience, assumptions, constraints, and high-stakes or private-source risks.
- Show complexity score, tier, mode, source difficulty, verification complexity, and effort budget.
- List sub-questions, source families, planned worker lanes, retrieval/extraction capabilities, and degraded-mode limits.
- State the source-support audit strategy, including how citation anchors and support statuses will be checked.
- State whether execution continues immediately or pauses for user review.
Pause conditions override continue conditions. Pause for user input when the topic is high-stakes, ambiguous after triage, asks for private or credentialed sources, or the user explicitly requests plan review. When pause is due to user-pivotal scope or audience uncertainty, apply instructions/global.md Depth routing and invoke /grill-me before substantial retrieval. Factual or evidence gaps stay on the research Plan Gate, not grill-me. In noninteractive harnesses, emit the Plan Gate with blockers and stop before substantial retrieval for those pause cases. Continue without waiting only when the question is clear, non-sensitive, and has no pause condition. Quick tier may skip the formal gate but must include a short methodology note in the answer.
Gallery (Empty Arguments)
Present research examples spanning domains:
| # | Domain | Example | Likely Tier | |---|--------|---------|-------------| | 1 | Technology | "What are the current best practices for LLM agent architectures?" | Deep | | 2 | Academic | "What is the state of evidence on intermittent fasting for longevity?" | Standard | | 3 | Market | "How does the competitive landscape for vector databases compare?" | Deep | | 4 | Fact-check | "Is it true that 90% of startups fail within the first year?" | Standard | | 5 | Architecture | "When should you choose event sourcing over CRUD?" | Standard | | 6 | Trends | "What emerging programming languages gained traction in 2025-2026?" | Standard |
> Pick a number, paste your own question, or type guide me.
Skill Awareness
Before starting research, check if another skill is a better fit:
| Signal | Redirect | |--------|----------| | Code review, PR review, diff analysis | Suggest /review | | Strategic decision with adversaries, game theory | Suggest /wargame | | Multi-perspective expert debate | Suggest /host-panel | | Prompt optimization, model-specific prompting | Suggest /prompt-engineer |
If the user confirms they want general research, proceed.
For repo-owned CLI skill-first routing (/ffmpeg, /yt-dlp, /trafilatura, /pentest), see the Repo CLI skills table in references/source-selection.md.
Complexity Classification
Score the query on 5 dimensions (0-2 each, total 0-10):
| Dimension | 0 | 1 | 2 | |-----------|---|---|---| | Scope breadth | Single fact/definition | Multi-faceted, 2-3 domains | Cross-disciplinary, 4+ domains | | Source difficulty | Top search results suffice | Specialized databases or multiple source types | Paywalled, fragmented, or conflicting sources | | Temporal sensitivity | Stable/historical | Evolving field (months matter) | Fast-moving (days/weeks matter), active controversy | | Verification complexity | Easily verifiable (official docs) | 2-3 independent sources needed | Contested claims, expert disagreement, no consensus | | Synthesis demand | Answer is a fact or list | Compare/contrast viewpoints | Novel integration of conflicting threads |
| Total | Tier | Strategy | |-------|------|----------| | 0-2 | Quick | Inline, 1-2 searches, fire-and-forget | | 3-5 | Standard | Subagent wave, 3-5 parallel searchers, report delivered | | 6-8 | Deep | Agent team (TeamCreate), 3-5 teammates, interactive session | | 9-10 | Exhaustive | Agent team, 4-6 teammates + nested subagent waves, interactive |
Present the scoring through the Plan Gate for Standard, Deep, and Exhaustive work. User can override tier with --depth .
Scaling Strategy
Scale work by query complexity and available orchestration capabilities:
| Scope | Strategy | Delegation | |-------|----------|------------| | Quick (0-2) | Inline answer after 1-2 searches | No subagents | | Standard (3-5) | Parallel broad sweep across 2-5 sub-questions | Use available subagent primitive; otherwise batch sequentially | | Deep (6-8) | Lead-driven team workflow with perspective expansion | Use team/subagent primitives when present; otherwise bounded serial waves | | Exhaustive (9-10) | Deep workflow plus adversarial and nested waves | Use nested delegation when available; otherwise state degraded throughput explicitly |
Capability resolution: Treat named tools and orchestration APIs as preferred capabilities. Claude Code may use Task/TeamCreate; Codex may use dynamic subagents or parallel tool calls; other agents may use their native delegation or run the wave pipeline serially. If no delegation equivalent exists, use degraded orchestration: preserve wave order, reduce breadth, and report the limitation in methodology. Apply confidence ceilings only when source or retrieval capabilities are unavailable, per references/source-selection.md.
Effort budgeting: Bound every Standard+ run before retrieval. State target worker count, expected source count, search depth, extraction depth, and stop conditions. Start broad, then narrow: Wave 1 maximizes source and perspective coverage; Wave 2 spends depth only on high-value leads; Wave 3 spends verification budget on claims likely to survive synthesis.
Wave Pipeline
All non-Quick research follows this 5-wave pipeline. Quick merges Waves 0+1+4 inline.
Wave 0: Triage (always inline, never parallelized)
- Run
!uv run python scripts/research-scanner.py "$ARGUMENTS"for deterministic pre-scan - Decompose query into 2-5 sub-questions
- Score complexity on the 5-dimension rubric
- Check tool availability — probe key retrieval, extraction, and delegation capabilities; set degraded mode flags and confidence ceilings per
references/source-selection.md - Select tools per domain signals — read
references/source-selection.md - Check for existing journals — if
trackorresume, load prior state - Run the Plan Gate — show: complexity score, sub-questions, source families, worker lanes, support-audit strategy, effort budget, estimated tier, and whether execution continues immediately or pauses. User may override.
Wave 1: Broad Sweep (parallel)
Scale by tier:
Quick (inline): 1-2 tool calls sequentially. No subagents.
Standard (subagent wave): Dispatch 3-5 parallel subagents with the platform's available delegation primitive:
Subagent A → brave-search + duckduckgo-search for sub-question 1
Subagent B → exa + g-search for sub-question 2
Subagent C → context7 / deepwiki / arxiv / semantic-scholar for technical specifics
Subagent D → wikipedia / wikidata for factual grounding
[Subagent E → PubMed / openalex if academic domain detected]
Deep (agent team): Create a research team with the platform's available team primitive:
Lead: triage (Wave 0), orchestrate, judge reconcile (Wave 3), synthesize (Wave 4)
|-- web-researcher: brave-search, duckduckgo-search, ddgs, exa, g-search
|-- tech-researcher: context7, deepwiki, arxiv, semantic-scholar, package-version-check-mcp
|-- content-extractor: fetcher, trafilatura, docling, wikipedia, wayback
|-- [academic-researcher: arxiv, semantic-scholar, openalex, crossref, PubMed]
|-- [adversarial-reviewer: devil's advocate — counter-search all emerging findings]
Spawn academic-researcher if domain signals include academic/scientific. Spawn adversarial-reviewer for Exhaustive tier or if verification complexity >= 2.
Exhaustive: Deep team + each teammate runs nested subagent waves internally when supported; otherwise use serial batches and label the run "degraded orchestration."
Each subagent/teammate returns structured findings:
{
"sub_question": "...",
"findings": [{
"claim": "...",
"confidence": 0.6,
"evidence": [{"tool": "brave-search", "url": "https://...", "timestamp": "2026-04-24T12:00:00Z", "excerpt": "..."}],
"cross_validation": "unknown",
"source_support": [{"url": "https://...", "support_status": "supports|partial|contradicts|irrelevant", "citation_anchor": "...", "support_note": "..."}],
"bias_markers": [],
"gaps": []
}],
"leads": ["url1", "url2"],
"gaps": ["could not find data on X"]
}
Wave 1.5: Perspective Expansion (Deep/Exhaustive only)
STORM-style perspective-guided conversation. Spawn 2-4 perspective subagents:
| Perspective | Focus | Question Style | |-------------|-------|---------------| | Skeptic | What could be wrong? What's missing? | "What evidence would disprove this?" | | Domain Expert | Technical depth, nuance, edge cases | "What do practitioners actually encounter?" | | Practitioner | Real-world applicability, trade-offs | "What matters when you actually build this?" | | Theorist | First principles, abstractions, frameworks | "What underlying model explains this?" |
Each perspective agent reviews Wave 1 findings and generates 2-3 additional sub-questions from their viewpoint. These sub-questions feed into Wave 2.
Wave 2: Deep Dive (parallel, targeted)
- Rank leads from Wave 1 by potential value (citation frequency, source authority, relevance)
- Dispatch deep-read subagents — prefer
/trafilaturaon shell harnesses, else fetcher/trafilatura MCP/docling to extract full content from top leads - Follow citation chains — if a source cites another, fetch the original
- Fill gaps — for each gap identified in Wave 1, dispatch targeted searches
- Build preliminary claim-to-source support rows for each source-backed finding
- Use thinking MCPs:
cascade-thinkingfor multi-perspective analysis of complex findingsstructured-thinkingfor tracking evidence chains and contradictionsthink-strategiesfor complex question decomposition (Standard+ only)
Wave 3: Cross-Validation and Source-Support Audit (parallel)
The anti-hallucination wave. Read references/evidence-chain.md, references/confidence-rubric.md, and references/self-verification.md.
For every claim surviving Waves 1-2:
- Independence check — are supporting sources truly independent? Sources citing each other are NOT independent.
- Counter-search — explicitly search for evidence AGAINST each major claim using a different search engine
- Freshness check — verify sources are current (flag if >1 year old for time-sensitive topics)
- Contradiction scan — read
references/contradiction-protocol.md, identify and classify disagreements - Source-support audit — classify each claim/source pair as
supports,partial,contradicts, orirrelevant - Citation anchor verification — fetch cited URLs when possible and confirm the cited
…
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: wyattowalsh
- Source: wyattowalsh/agents
- License: MIT
- Homepage: https://agents.w4w.dev
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.