deep-research
Multi-source deep research using firecrawl and exa MCPs. Searches the web, synthesizes findings, and delivers cited reports with source attribution. Use when the user wants thorough research on any topic with evidence and citations.
What this skill does
# Deep Research Produce thorough, cited research reports from multiple web sources using firecrawl and exa MCP tools. ## When to Activate - User asks to research any topic in depth - Competitive analysis, technology evaluation, or market sizing - Due diligence on companies, investors, or technologies - Any question requiring synthesis from multiple sources - User says "research", "deep dive", "investigate", or "what's the current state of" ## MCP Requirements At least one of: - **firecrawl** — `firecrawl_search`, `firecrawl_scrape`, `firecrawl_crawl` - **exa** — `web_search_exa`, `web_search_advanced_exa`, `crawling_exa` Both together give the best coverage. Configure in `~/.claude.json` or `~/.codex/config.toml`. ## Workflow ### Step 1: Understand the Goal Ask 1-2 quick clarifying questions: - "What's your goal — learning, making a decision, or writing something?" - "Any specific angle or depth you want?" If the user says "just research it" — skip ahead with reasonable defaults. ### Step 2: Plan the Research Break the topic into 3-5 research sub-questions. Example: - Topic: "Impact of AI on healthcare" - What are the main AI applications in healthcare today? - What clinical outcomes have been measured? - What are the regulatory challenges? - What companies are leading this space? - What's the market size and growth trajectory? ### Step 3: Execute Multi-Source Search For EACH sub-question, search using available MCP tools: **With firecrawl:** ``` firecrawl_search(query: "<sub-question keywords>", limit: 8) ``` **With exa:** ``` web_search_exa(query: "<sub-question keywords>", numResults: 8) web_search_advanced_exa(query: "<keywords>", numResults: 5, startPublishedDate: "2025-01-01") ``` **Search strategy:** - Use 2-3 different keyword variations per sub-question - Mix general and news-focused queries - Aim for 15-30 unique sources total - Prioritize: academic, official, reputable news > blogs > forums ### Step 4: Deep-Read Key Sources For the most promising URLs, fetch full content: **With firecrawl:** ``` firecrawl_scrape(url: "<url>") ``` **With exa:** ``` crawling_exa(url: "<url>", tokensNum: 5000) ``` Read 3-5 key sources in full for depth. Do not rely only on search snippets. ### Step 5: Synthesize and Write Report Structure the report: ```markdown # [Topic]: Research Report *Generated: [date] | Sources: [N] | Confidence: [High/Medium/Low]* ## Executive Summary [3-5 sentence overview of key findings] ## 1. [First Major Theme] [Findings with inline citations] - Key point ([Source Name](url)) - Supporting data ([Source Name](url)) ## 2. [Second Major Theme] ... ## 3. [Third Major Theme] ... ## Key Takeaways - [Actionable insight 1] - [Actionable insight 2] - [Actionable insight 3] ## Sources 1. [Title](url) — [one-line summary] 2. ... ## Methodology Searched [N] queries across web and news. Analyzed [M] sources. Sub-questions investigated: [list] ``` ### Step 6: Deliver - **Short topics**: Post the full report in chat - **Long reports**: Post the executive summary + key takeaways, save full report to a file ## Parallel Research with Subagents For broad topics, use Claude Code's Task tool to parallelize: ``` Launch 3 research agents in parallel: 1. Agent 1: Research sub-questions 1-2 2. Agent 2: Research sub-questions 3-4 3. Agent 3: Research sub-question 5 + cross-cutting themes ``` Each agent searches, reads sources, and returns findings. The main session synthesizes into the final report. ## Quality Rules 1. **Every claim needs a source.** No unsourced assertions. 2. **Cross-reference.** If only one source says it, flag it as unverified. 3. **Recency matters.** Prefer sources from the last 12 months. 4. **Acknowledge gaps.** If you couldn't find good info on a sub-question, say so. 5. **No hallucination.** If you don't know, say "insufficient data found." 6. **Separate fact from inference.** Label estimates, projections, and opinions clearly. ## Examples ``` "Research the current state of nuclear fusion energy" "Deep dive into Rust vs Go for backend services in 2026" "Research the best strategies for bootstrapping a SaaS business" "What's happening with the US housing market right now?" "Investigate the competitive landscape for AI code editors" ```
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.