From vibe-extras
Conducts deep web research with parallel agents, multi-wave exploration for gaps, and structured synthesis. Activates for investigating topics, comparing options, best practices, or comprehensive web info.
npx claudepluginhub doodledood/claude-code-plugins --plugin vibe-extrasThis skill uses the workspace's default tool permissions.
**Research request**: $ARGUMENTS
Executes multi-agent research pipeline on any topic with Scout, Investigators, Deep Diver, Verifier, Synthesizer, and Critic reviews to produce verified, sourced reports.
Conducts AI-powered deep research on any topic via triggers like '/deep-research [topic]' or 'deep research on [topic]'. Uses interactive AskUserQuestion for focus, output, and audience selection.
Diagnoses research quality, guides systematic query expansion, and runs Tavily AI web searches via Deno CLI. Use when starting research, stuck, or unsure if complete.
Share bugs, ideas, or general feedback.
Research request: $ARGUMENTS
FIRST: Determine thoroughness before researching. Parse from natural language or auto-select.
Auto-selection logic:
Explicit user preference: Honor user-specified level regardless of other triggers.
Trigger conflicts (auto-selection only): Use highest level indicated.
| Level | Agents/Wave | Wave Policy | Behavior | Triggers |
|---|---|---|---|---|
| quick | 1 | Single wave | Single web-researcher, no orchestration file, direct answer | "what is", "when did", factual lookups, definitions |
| medium | 1-2 | Single wave | Orchestration file, focused research on 1-2 angles | specific how-to, single technology, focused question |
| thorough | 2-4 | Continue while critical gaps remain | Full logging, parallel agents, cross-reference, follow-up waves | "compare", "best options", "evaluate", "pros and cons" |
| very-thorough | 4-6 | Continue until comprehensive OR diminishing returns | Multi-wave until all significant gaps addressed | "comprehensive", "complete analysis", "all alternatives", "deep dive" |
Multi-wave: For thorough/very-thorough, waves continue until satisficing criteria are met. No hard maximum — waves continue as long as productive and gaps remain.
Agent count scaling: Match agent count to genuine research facets, not perceived thoroughness. Each agent should have a distinct domain justifying dedicated research. Over-spawning wastes resources; under-spawning misses facets.
| Task Complexity | Agents | Rationale |
|---|---|---|
| Simple fact-check | 1 | Single angle sufficient |
| Direct comparison (2-3 options) | 2-3 | One per option or dimension |
| Multi-facet evaluation | 3-5 | One per orthogonal facet |
| Comprehensive landscape | 5-7 | Cover all major dimensions |
Ambiguous queries: If thoroughness cannot be determined AND query is complex, ask:
I can research this at different depths:
- **medium**: Focused research on core aspects (~3-5 min)
- **thorough**: Multi-angle investigation with cross-referencing (~8-12 min)
- **very-thorough**: Comprehensive analysis covering all facets (~15-20 min)
Which level would you prefer?
State: **Thoroughness**: [level] — [reason] then proceed.
Orchestrate parallel web researchers through iterative waves, then synthesize findings.
Loop: Determine thoroughness → Decompose → Launch Wave 1 → Collect → Cross-reference → Evaluate gaps → [If gaps + productive: next wave] → Synthesize → Output
Orchestration file: /tmp/research-orchestration-{topic-slug}-{YYYYMMDD-HHMMSS}.md — external memory for tracking multi-wave progress.
YYYYMMDD-HHMMSS via date +%Y%m%d-%H%M%S.| Level | Continue When | Stop When (Satisficed) |
|---|---|---|
| quick | N/A | Always single wave |
| medium | N/A | Always single wave |
| thorough | Critical gaps remain AND previous wave productive AND ≤50% source overlap | No critical gaps OR diminishing returns OR >50% source overlap |
| very-thorough | Significant gaps remain AND previous wave productive AND ≤50% source overlap | No significant gaps OR diminishing returns OR >50% source overlap |
Source overlap: % of sources in current wave also cited in prior waves. >50% = cycling through same sources.
| Gap Type | Definition | Triggers New Wave? |
|---|---|---|
| Critical | Core question unanswered, major conflict unresolved, key comparison missing | Yes (thorough, very-thorough) |
| Significant | Important facet unexplored, partial answer needs depth, newly discovered area | Yes (very-thorough only) |
| Minor | Nice-to-have detail, edge case, tangential | No — note in limitations |
Definitions:
Satisficed when ANY true:
Continue when ALL true:
Run date +%Y%m%d-%H%M%S and date '+%Y-%m-%d %H:%M:%S'.
Todos = research areas + write-to-log operations. List grows during decomposition.
- [ ] Create orchestration file
- [ ] Topic decomposition→log
- [ ] (expand: research facets as decomposition reveals)
- [ ] Launch Wave 1 agents
- [ ] Collect Wave 1 findings→log
- [ ] Cross-reference→log
- [ ] Evaluate gaps→log
- [ ] (expand: Wave 2+ if continuing)
- [ ] Refresh: read full orchestration file
- [ ] Synthesize→final output
Critical todos (never skip): →log after each phase/agent; Refresh: before synthesis.
# Web Research Orchestration: {topic}
Timestamp: {YYYYMMDD-HHMMSS}
Started: {YYYY-MM-DD HH:MM:SS}
Thoroughness: {level}
Wave Policy: {single wave | continue while critical gaps | continue until comprehensive}
## Research Question
{Clear statement}
## Topic Decomposition
(populated in Phase 2)
## Wave Tracking
| Wave | Agents | Focus | Status | New Findings | Decision |
|------|--------|-------|--------|--------------|----------|
| 1 | {count} | Initial investigation | Pending | - | - |
## Research Assignments
(populated in Phase 2)
## Collected Findings
(populated as agents return)
## Cross-Reference Analysis
(populated after each wave)
## Gap Evaluation
(populated after each wave)
## Synthesis Notes
(populated in final phase)
Analyze the query to identify non-overlapping research angles. Each agent gets a distinct domain with clear boundaries.
Bad (overlapping): Agent 1 = "Research Firebase", Agent 2 = "Research real-time databases" Good (orthogonal): Agent 1 = "Firebase — features, pricing, limits", Agent 2 = "Non-Firebase alternatives: Supabase, Convex, PlanetScale"
Orthogonality strategies: by entity, by dimension, by time horizon, by perspective.
| Facet | Research Focus | Explicitly EXCLUDE |
|---|---|---|
| {facet 1} | "{scope}" | "{what others cover}" |
| {facet 2} | "{scope}" | "{what others cover}" |
If more facets than agents allow: prioritize by (1) directly answers core question, (2) enables comparison, (3) addresses user-specified concerns. Combine related facets. Schedule remaining for Wave 2.
Launch vibe-extras:web-researcher agents in parallel (single message with multiple invocations).
Wave 1 prompt template — uses neutral framing to avoid biasing agent findings:
Investigate the relationship between {topic} and {facet area}. Include evidence both supporting and contradicting common assumptions about {topic}.
YOUR ASSIGNED SCOPE:
- Focus areas: {specific aspect 1}, {specific aspect 2}, {specific aspect 3}
- This is YOUR domain — go deep on these topics
DO NOT RESEARCH (other agents cover these):
- {facet assigned to Agent 2}
- {facet assigned to Agent 3}
Current date context: {YYYY-MM-DD} — prioritize recent sources.
---
Research context:
- Wave: 1 (initial investigation)
- Mode: Broad exploration within your assigned scope
- Report gaps or conflicts for potential follow-up waves
Wave 2+ prompt template — targeted gap-filling with established context:
{Specific gap or conflict to resolve}
Context from previous waves:
- Previous findings: {summary of relevant findings}
- Gap being addressed: {specific gap}
- Established facts: {what Wave 1 found}
YOUR ASSIGNED SCOPE:
- Focus narrowly on: {targeted aspect 1}, {targeted aspect 2}
- This gap was identified because: {why previous research was insufficient}
DO NOT RESEARCH:
- Topics well-covered in Wave 1
- {areas other Wave 2 agents handle}
Current date context: {YYYY-MM-DD} — prioritize recent sources.
---
Research context:
- Wave: {N} (gap-filling)
- Mode: Targeted investigation — focus on the gap above
- Build on previous findings, don't repeat broad exploration
- Flag if gap cannot be resolved
Sycophancy guard: Agent prompts must avoid implying expected findings. Use "investigate the relationship between X and Y" not "research how X improves Y." Include "evidence both supporting and contradicting" to elicit balanced research.
Batching: thorough → all 2-4 agents in one batch. very-thorough → batches of 3-4 (5 agents: 3+2; 6 agents: 3+3). Wave 2+ → 1-3 focused agents.
Each agent returns a file path (not inline findings). After each agent completes:
If agent times out or returns incomplete:
Identify:
Disagreement classification — classify conflicts before resolution:
Record agreements, conflicts (with classification), gaps, and key insights.
After cross-referencing, surface hidden assumptions:
Common hidden assumptions: first authoritative source is reliable, topic boundaries correctly drawn, absence of contrary evidence means consensus, search results represent full landscape.
Identify 3-5 claims whose failure would collapse the most conclusions. Focus any adversarial or follow-up effort on these linchpin claims first — they have the highest verification ROI.
Classify each gap (critical/significant/minor). Assess wave productivity. Apply satisficing criteria.
## Gap Evaluation (Wave {N})
### Critical Gaps
- [ ] {Gap}: {Why critical}
### Significant Gaps
- [ ] {Gap}: {Why significant}
### Minor Gaps (note, don't pursue)
- {Gap}: {Why minor}
### Wave Productivity
- Substantive findings: {count}
- Confidence improvements: {which areas}
- New areas: {list or "none"}
- Diminishing returns: {yes/no}
### Decision
**{CONTINUE to Wave N+1 | SATISFICED}** — {reason}
vibe-extras:web-researcher agentsRead the FULL orchestration file AND all agent research files. Verify access to: all agent findings, cross-references, gap evaluations, wave tracking, all citations.
- [x] Refresh: read full orchestration file + all agent research files ← Must complete before synthesis
- [ ] Synthesize→final output
Before finalizing, apply reference class reasoning: "How often does research of this type produce reliable conclusions?" Consider whether the research domain is well-covered by high-quality web sources, or if it's a niche area where available evidence may be systematically incomplete.
Synthesize ALL agent findings. Use structural confidence — source agreement and evidence quality tiers, not verbal self-reports. Both overconfidence and underconfidence degrade quality.
## Research Findings: {Topic}
**Thoroughness**: {level} | **Waves**: {count} | **Researchers**: {total} | **Sources**: {aggregate}
**Overall Confidence**: High/Medium/Low
**Satisficing**: {why research concluded}
### Executive Summary
{4-8 sentences. Key takeaway for the user.}
### Detailed Findings
#### {Finding Area 1}
{Synthesized insights with inline citations from multiple agents}
{State warrant: reasoning connecting evidence to conclusion}
#### {Finding Area 2}
{...}
### Comparison/Evaluation (if applicable)
| Option | Pros | Cons | Best For |
|--------|------|------|----------|
| {opt 1} | {evidence} | {evidence} | {synthesis} |
### Recommendations
{Evidence-based suggestions. State conditions under which they would not hold.}
### Confidence Notes
- **High confidence**: {strong multi-source agreement}
- **Medium confidence**: {some support}
- **Contested**: {high-authority sources contradicted — both positions presented}
- **Inconclusive**: {couldn't determine despite searching}
- **Low confidence**: {single source or weak agreement}
### Key Assumptions
{Load-bearing assumptions that must hold for conclusions to be valid}
### Research Progression (multi-wave)
| Wave | Focus | Agents | Key Contribution |
|------|-------|--------|------------------|
| 1 | Initial investigation | {N} | {established} |
| 2 | {Gap focus} | {N} | {resolved} |
### Gaps & Limitations
- {Unanswered questions}
- {Areas needing more research}
- {Source biases}
- {Minor gaps not pursued}
- {Protocol deviations from initial plan}
### Source Summary
| Source | Authority | Confidence | Date | Used For | Wave |
|--------|-----------|------------|------|----------|------|
| {url} | High/Med | {GRADE-adjusted} | {date} | {finding} | 1 |
---
Orchestration file: {path}
Research completed: {timestamp}
For quick (single-fact) queries:
**Thoroughness**: quick — [reason]vibe-extras:web-researcher agent with the query| Principle | Rule |
|---|---|
| Thoroughness first | Determine level before any research |
| Facet-driven scaling | Match agent count to genuine orthogonal facets, not thoroughness level alone |
| Write after each phase | Update orchestration file after EVERY phase/agent |
| Parallel execution | Launch agents simultaneously when possible |
| Neutral framing | Agent prompts avoid implying expected findings |
| Cross-reference | Compare findings across agents; classify disagreements before resolving |
| Gap evaluation | Classify gaps (critical/significant/minor) after each wave |
| Key Assumptions Check | Surface hidden assumptions after cross-referencing |
| Linchpin focus | Target verification at claims whose failure collapses most conclusions |
| Outside view (thorough+) | Apply reference class reasoning before finalizing |
| Wave iteration | Continue until satisficed OR diminishing returns |
| Context refresh | Read full orchestration file BEFORE synthesis — non-negotiable |
| Source preservation | Maintain citations through synthesis |
| Structural confidence | Assess via source agreement and evidence tiers, not verbal reports |
| Gap honesty | State what couldn't be answered despite effort |