Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
assafelovic avatar

Gpt Researcher

  • 1.6k installs
  • 28.8k repo stars
  • Updated July 18, 2026
  • assafelovic/gpt-researcher

gpt-researcher is an agent skill that gpt researcher is an autonomous deep research agent that conducts web and local research, producing detailed reports with citations. use this skill when helping developers understand

About

gpt-researcher is an agent skill from assafelovic/gpt-researcher that gpt researcher is an autonomous deep research agent that conducts web and local research, producing detailed reports with citations. use this skill when helping developers understand, extend, debug, o. # GPT Researcher Development Skill GPT Researcher is an LLM-based autonomous agent using a planner-executor-publisher pattern with parallelized agent work for speed and reliability. ## Quick Start ### Basic Python Usage ```python from gpt_researcher import GPTResearcher import asyncio async def main(): researcher = GPTResearcher( q Developers invoke gpt-researcher during build/backend work for backend & apis tasks. The skill documents triggers, prerequisites, and step-by-step workflows grounded in SKILL.md. Compatible with Claude Code, Cursor, and Codex agent runtimes that load marketplace skills. Review the Security Audits panel on this listing before installing in production environments.

  • GPT Researcher Development Skill
  • GPT Researcher is an LLM-based autonomous agent using a planner-executor-publisher pattern with parallelized agent work
  • from gpt_researcher import GPTResearcher
  • researcher = GPTResearcher(
  • query="What are the latest AI developments?",

Gpt Researcher by the numbers

  • 1,599 all-time installs (skills.sh)
  • +46 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #312 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Security screen: HIGH risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

gpt-researcher capabilities & compatibility

Capabilities
gpt researcher development skill · gpt researcher is an llm based autonomous agent · from gpt_researcher import gptresearcher · researcher = gptresearcher( · query="what are the latest ai developments?",
Use cases
orchestration
From the docs

What gpt-researcher says it does

GPT Researcher is an LLM-based autonomous agent using a planner-executor-publisher pattern with parallelized agent work for speed and reliability.
SKILL.md
query="What are the latest AI developments?",
SKILL.md
report_type="research_report", # or detailed_report, deep, outline_report
SKILL.md
npx skills add https://github.com/assafelovic/gpt-researcher --skill gpt-researcher

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1.6k
repo stars28.8k
Security audit1 / 3 scanners passed
Last updatedJuly 18, 2026
Repositoryassafelovic/gpt-researcher

What it does

GPT Researcher is an autonomous deep research agent that conducts web and local research, producing detailed reports with citations. Use this skill when helping developers understand, extend, debug, o

Who is it for?

Developers working on backend & apis during build tasks.

Skip if: Tasks outside Backend & APIs scope described in SKILL.md.

When should I use this skill?

GPT Researcher is an autonomous deep research agent that conducts web and local research, producing detailed reports with citations. Use this skill when helping developers understand, extend, debug, o

What you get

Completed backend & apis workflow aligned with SKILL.md steps.

  • Feature modules
  • Config variables
  • Docs and tests for new capability

By the numbers

  • Defines an 8-step architecture from CONFIG through DOCS
  • Includes image generation case study and dedicated testing section

Files

SKILL.mdMarkdownGitHub ↗

GPT Researcher Development Skill

GPT Researcher is an LLM-based autonomous agent using a planner-executor-publisher pattern with parallelized agent work for speed and reliability.

Quick Start

Basic Python Usage

from gpt_researcher import GPTResearcher
import asyncio

async def main():
    researcher = GPTResearcher(
        query="What are the latest AI developments?",
        report_type="research_report",  # or detailed_report, deep, outline_report
        report_source="web",            # or local, hybrid
    )
    await researcher.conduct_research()
    report = await researcher.write_report()
    print(report)

asyncio.run(main())

Run Servers

# Backend
python -m uvicorn backend.server.server:app --reload --port 8000

# Frontend
cd frontend/nextjs && npm install && npm run dev

---

Key File Locations

NeedPrimary FileKey Classes
Main orchestratorgpt_researcher/agent.pyGPTResearcher
Research logicgpt_researcher/skills/researcher.pyResearchConductor
Report writinggpt_researcher/skills/writer.pyReportGenerator
All promptsgpt_researcher/prompts.pyPromptFamily
Configurationgpt_researcher/config/config.pyConfig
Config defaultsgpt_researcher/config/variables/default.pyDEFAULT_CONFIG
API serverbackend/server/app.pyFastAPI app
Search enginesgpt_researcher/retrievers/Various retrievers

---

Architecture Overview

User Query → GPTResearcher.__init__()
                │
                ▼
         choose_agent() → (agent_type, role_prompt)
                │
                ▼
         ResearchConductor.conduct_research()
           ├── plan_research() → sub_queries
           ├── For each sub_query:
           │     └── _process_sub_query() → context
           └── Aggregate contexts
                │
                ▼
         [Optional] ImageGenerator.plan_and_generate_images()
                │
                ▼
         ReportGenerator.write_report() → Markdown report

For detailed architecture diagrams: See references/architecture.md

---

Core Patterns

Adding a New Feature (8-Step Pattern)

1. Config → Add to gpt_researcher/config/variables/default.py 2. Provider → Create in gpt_researcher/llm_provider/my_feature/ 3. Skill → Create in gpt_researcher/skills/my_feature.py 4. Agent → Integrate in gpt_researcher/agent.py 5. Prompts → Update gpt_researcher/prompts.py 6. WebSocket → Events via stream_output() 7. Frontend → Handle events in useWebSocket.ts 8. Docs → Create docs/docs/gpt-researcher/gptr/my_feature.md

For complete feature addition guide with Image Generation case study: See references/adding-features.md

Adding a New Retriever

# 1. Create: gpt_researcher/retrievers/my_retriever/my_retriever.py
class MyRetriever:
    def __init__(self, query: str, headers: dict = None):
        self.query = query
    
    async def search(self, max_results: int = 10) -> list[dict]:
        # Return: [{"title": str, "href": str, "body": str}]
        pass

# 2. Register in gpt_researcher/actions/retriever.py
case "my_retriever":
    from gpt_researcher.retrievers.my_retriever import MyRetriever
    return MyRetriever

# 3. Export in gpt_researcher/retrievers/__init__.py

For complete retriever documentation: See references/retrievers.md

---

Configuration

Config keys are lowercased when accessed:

# In default.py: "SMART_LLM": "gpt-4o"
# Access as: self.cfg.smart_llm  # lowercase!

Priority: Environment Variables → JSON Config File → Default Values

For complete configuration reference: See references/config-reference.md

---

Common Integration Points

WebSocket Streaming

class WebSocketHandler:
    async def send_json(self, data):
        print(f"[{data['type']}] {data.get('output', '')}")

researcher = GPTResearcher(query="...", websocket=WebSocketHandler())

MCP Data Sources

researcher = GPTResearcher(
    query="Open source AI projects",
    mcp_configs=[{
        "name": "github",
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-github"],
        "env": {"GITHUB_TOKEN": os.getenv("GITHUB_TOKEN")}
    }],
    mcp_strategy="deep",  # or "fast", "disabled"
)

For MCP integration details: See references/mcp.md

Deep Research Mode

researcher = GPTResearcher(
    query="Comprehensive analysis of quantum computing",
    report_type="deep",  # Triggers recursive tree-like exploration
)

For deep research configuration: See references/deep-research.md

---

Error Handling

Always use graceful degradation in skills:

async def execute(self, ...):
    if not self.is_enabled():
        return []  # Don't crash
    
    try:
        result = await self.provider.execute(...)
        return result
    except Exception as e:
        await stream_output("logs", "error", f"⚠️ {e}", self.websocket)
        return []  # Graceful degradation

---

Critical Gotchas

❌ Mistake✅ Correct
config.MY_VARconfig.my_var (lowercased)
Editing pip-installed packagepip install -e .
Forgetting async/awaitAll research methods are async
websocket.send_json() on NoneCheck if websocket: first
Not registering retrieverAdd to retriever.py match statement

---

Reference Documentation

TopicFile
System architecture & diagramsreferences/architecture.md
Core components & signaturesreferences/components.md
Research flow & data flowreferences/flows.md
Prompt systemreferences/prompts.md
Retriever systemreferences/retrievers.md
MCP integrationreferences/mcp.md
Deep research modereferences/deep-research.md
Multi-agent systemreferences/multi-agents.md
Adding features guidereferences/adding-features.md
Advanced patternsreferences/advanced-patterns.md
REST & WebSocket APIreferences/api-reference.md
Configuration variablesreferences/config-reference.md

Related skills

How it compares

Use gpt-researcher over generic agent-building guides when changes must match GPT Researcher's layered repo layout and websocket frontend contract.

FAQ

What does gpt-researcher do?

GPT Researcher is an autonomous deep research agent that conducts web and local research, producing detailed reports with citations. Use this skill when helping developers understand, extend, debug, o

When should I use gpt-researcher?

During build backend work for backend & apis.

Is gpt-researcher safe to install?

Review the Security Audits panel on this listing before production use.

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.