web-research

Searches multiple web sources, synthesizes findings, and produces cited research reports using delegated subagents. Use when the user asks to research a topic…

npx skills add https://github.com/langchain-ai/deepagents --skill web-research

Web Research Skill

Research Process

Step 1: Create and Save Research Plan

Before delegating to subagents, you MUST:

  1. Create a research folder - Organize all research files in a dedicated folder relative to the current working directory:

    mkdir research_[topic_name]
    

    This keeps files organized and prevents clutter in the working directory.

  2. Analyze the research question - Break it down into distinct, non-overlapping subtopics

  3. Write a research plan file - Use the write_file tool to create research_[topic_name]/research_plan.md containing:

    • The main research question
    • 2-5 specific subtopics to investigate
    • Expected information from each subtopic
    • How results will be synthesized

Planning Guidelines:

  • Simple fact-finding: 1-2 subtopics
  • Comparative analysis: 1 subtopic per comparison element (max 3)
  • Complex investigations: 3-5 subtopics

Step 2: Delegate to Research Subagents

For each subtopic in your plan:

  1. Use the task tool to spawn a research subagent with:

    • Clear, specific research question (no acronyms)
    • Instructions to write findings to a file: research_[topic_name]/findings_[subtopic].md
    • Budget: 3-5 web searches maximum
  2. Run up to 3 subagents in parallel for efficient research

Subagent Instructions Template:

Research [SPECIFIC TOPIC]. Use the web_search tool to gather information.
After completing your research, use write_file to save your findings to research_[topic_name]/findings_[subtopic].md.
Include key facts, relevant quotes, and source URLs.
Use 3-5 web searches maximum.

Step 3: Synthesize Findings

After all subagents complete:

  1. Review the findings files that were saved locally:

    • First run list_files research_[topic_name] to see what files were created
    • Then use read_file with the file paths (e.g., research_[topic_name]/findings_*.md)
    • Important: Use read_file for LOCAL files only, not URLs
  2. Synthesize the information - Create a comprehensive response that:

    • Directly answers the original question
    • Integrates insights from all subtopics
    • Cites specific sources with URLs (from the findings files)
    • Identifies any gaps or limitations
  3. Write final report (optional) - Use write_file to create research_[topic_name]/research_report.md if requested

Note: If you need to fetch additional information from URLs, use the fetch_url tool, not read_file.

Best Practices

  • Plan before delegating - Always write research_plan.md first
  • Clear subtopics - Ensure each subagent has distinct, non-overlapping scope
  • File-based communication - Have subagents save findings to files, not return them directly
  • Systematic synthesis - Read all findings files before creating final response
  • Stop appropriately - Don't over-research; 3-5 searches per subtopic is usually sufficient

More skills from langchain-ai

langgraph-docs
langchain-ai
Access LangGraph documentation to build stateful agents and multi-agent workflows. Fetches official LangGraph Python docs covering state machines, graph-based agent design, and human-in-the-loop patterns Prioritizes relevant documentation by query type: implementation guides for how-to questions, concept pages for theory, tutorials for end-to-end examples, and API references for technical details Automatically selects 2–4 most relevant documentation URLs and retrieves their content to answer...
official
langgraph-human-in-the-loop
langchain-ai
Pause graph execution for human review, approval, or validation, then resume with their input. Requires three components: a checkpointer (InMemorySaver or PostgresSaver), a thread ID in config, and JSON-serializable interrupt payloads interrupt(value) pauses and surfaces data; Command(resume=value) resumes and returns that value to the paused node All code before interrupt() re-executes on resume, so side effects must be idempotent (use upsert, not insert) Supports approval workflows,...
official
web-research
langchain-ai
Use this skill for requests related to web research; it provides a structured approach to conducting comprehensive web research
official
langchain-oss-primer
langchain-ai
ALWAYS START HERE for any LangChain, Deep Agents, or LangGraph agent building project. Required starting point before choosing other skills or writing any…
official
skill-creator
langchain-ai
Guide for creating effective skills that extend agent capabilities with specialized knowledge, workflows, or tool integrations. Use this skill when the user…
official
social-media
langchain-ai
Drafts platform-specific social media posts with research-backed content and generated companion images. Supports LinkedIn posts (1,300 characters with professional tone) and Twitter/X threads (280 characters per tweet with 1/🧵 format) Requires delegating research to a subagent before writing, then reading findings to ensure accuracy and relevance Generates eye-catching social images automatically using generate_social_image tool with bold, high-contrast compositions optimized for small...
official
deep-agents-memory
langchain-ai
Pluggable memory and file backends for Deep Agents with ephemeral, persistent, and hybrid routing options. Four backend types: StateBackend (thread-scoped, ephemeral), StoreBackend (cross-session persistent), FilesystemBackend (real disk access for local dev), and CompositeBackend (route different paths to different backends) FilesystemMiddleware provides six file operation tools: ls , read_file , write_file , edit_file , glob , grep CompositeBackend uses longest-prefix matching to route...
official
deep-agents-orchestration
langchain-ai
Orchestrate subagents, plan multi-step tasks, and require human approval for sensitive operations. Delegate work to specialized subagents via the task tool; custom subagents support isolated tool sets and system prompts, while the default "general-purpose" subagent inherits main agent configuration Plan and track complex workflows with write_todos , organizing tasks across pending, in-progress, and completed states; requires a thread_id for persistence across invocations Implement...
official