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.
How this skill is triggered — by the user, by Claude, or both
Slash command
/vibe-extras:research-webThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Research request**: $ARGUMENTS
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 |
npx claudepluginhub doodledood/claude-code-plugins --plugin vibe-extrasRuns structured multi-step web research with source synthesis, citations, skeptical evaluation, and confidence/gap analysis. Supports native and dense/frontier modes.
Executes multi-agent research pipeline on any topic with Scout, Investigators, Deep Diver, Verifier, Synthesizer, and Critic reviews to produce verified, sourced reports.
Instructs Claude to conduct thorough, multi-angle research on any topic before answering, synthesizing diverse sources and perspectives.