This skill should be used when thorough, multi-perspective research with citations is needed. It performs comprehensive research using a diffusion research loop with domain specialization, supporting general web research and specialized domains (geopolitical with GDELT). Auto-detects domain from query or accepts an explicit --domain flag.
Execute deep, comprehensive research using a multi-agent diffusion loop with domain-aware specialization:
<essential_principles>
This skill implements Self-Balancing Test-Time Diffusion -- starting with a noisy/speculative understanding and iteratively refining through parallel, isolated research workers.
</essential_principles>
deep-research:core:research-worker, deep-research:core:gap-detectorIF query contains (conflict, war, military, sanctions, embargo, bilateral,
alliance, media coverage, sentiment, GDELT, CAMEO):
→ GEOPOLITICAL domain
ELSE:
→ GENERAL domain
Override: /deep-research --domain=geopolitical "query"
<available_workflows>
Load the appropriate workflow for the research mode:
| Workflow | When to Use |
|---|---|
| references/workflows/quick-research.md | Quick overview, 1 iteration |
| references/workflows/targeted-research.md | Focused research on specific dimensions |
| references/workflows/background-research.md | Autonomous background research |
| references/workflows/geopolitical/conflict-analysis.md | Conflict-specific geopolitical analysis |
| references/workflows/geopolitical/sanctions-research.md | Sanctions-focused research |
| references/workflows/geopolitical/narrative-analysis.md | Media narrative analysis |
</available_workflows>
PHASE 0: DOMAIN CLASSIFICATION & REFINEMENT
├── Parse query and detect domain
├── Load domain config from references/domains/
├── Generate draft research brief
├── Present brief to user via AskUserQuestion (domain, dimensions, depth)
├── Refine based on feedback
└── Proceed when confirmed
PHASE 1: INITIALIZATION
├── Finalize research brief
├── Select domain-appropriate agents
└── Generate initial speculative draft
PHASE 2: DIFFUSION LOOP (max 3 iterations)
├── SPAWN WORKERS: 2-5 domain-specific workers in PARALLEL (single message)
├── SYNTHESIZE: Merge findings, resolve contradictions, add citations
├── GAP DETECTION: Launch domain-specific gap-detector
└── Decision: CONTINUE (spawn more workers for gaps) or COMPLETE
PHASE 3: FINAL REPORT
├── Polish using domain output template from config
├── Compile all sources with descriptions
└── Add executive summary
Interactive (default): Orchestrate directly, can ask questions mid-research.
Background: Spawn deep-research:core:research-orchestrator for autonomous operation.
<execution_guide>
Analyze the query for domain signals. Present a draft research brief with detected domain, proposed dimensions, key questions, and specialist agents (if geopolitical). Validate with user via AskUserQuestion for domain, dimensions, and depth level.
Load worker prompt templates from the appropriate domain config file:
Critical: Spawn ALL workers in a SINGLE message with multiple Task tool calls for true parallel execution.
After workers return, merge findings into a structured draft with citations. Then launch the domain-specific gap-detector:
deep-research:core:gap-detectordeep-research:geo:gap-detector-geo (uses weighted coverage dimensions from domain config)If gaps found, spawn targeted workers for those specific gaps. Maximum 3 iterations.
Use domain-specific output template from the domain config file. Save to research_output/[topic-slug]_[date].md (or research_output/geo/ for geopolitical).
Required sections: Metadata header, Executive summary, Key findings with sources, Detailed analysis, Methodology note, Complete source list. Additional domain-specific sections are defined in each domain config.
</execution_guide>
<mid_research_steering>
| User Says | Action |
|---|---|
| "Focus more on X" | Add X-related topics to next worker batch |
| "Skip Y" | Remove Y from remaining work |
| "Go deeper on Z" | Spawn additional worker for Z |
| "That's enough" | Skip remaining iterations, produce final report |
| "Switch to geopolitical" | Reload domain config, adjust agents |
</mid_research_steering>
<success_criteria>
Research is complete when:
Research is NOT complete just because the draft reads well or workers stopped returning new information. Always use the domain-appropriate gap-detector for objective evaluation.
</success_criteria>