Skip to content
Back to skills

Open Researcher Guide

ASecurity

Open pipeline for generating deep research trajectories with LLMs

  • 3,639 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 6, 2026
researchpythongonodegitbackend

Security analysis

A100/100

Scanned June 6, 2026

npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill open-researcher-guide --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Open Researcher Guide?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Open Researcher Guide
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/brycewang-stanford-open-researcher-guide/badge)](https://www.skillsdirectory.com/skills/brycewang-stanford-open-researcher-guide)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: open-researcher-guide
description: "Open pipeline for generating deep research trajectories with LLMs"
metadata:
  openclaw:
    emoji: "πŸ”¬"
    category: "research"
    subcategory: "deep-research"
    keywords: ["OpenResearcher", "deep research", "research trajectory", "open pipeline", "literature synthesis", "LLM research"]
    source: "https://github.com/GAIR-NLP/OpenResearcher"
---

# OpenResearcher Guide

## Overview

OpenResearcher is a fully open pipeline for long-horizon deep research trajectory synthesis. It breaks complex research questions into sub-questions, iteratively searches and reads literature, builds internal knowledge representations, and synthesizes comprehensive answers. Unlike single-shot approaches, it models the researcher's thought process β€” reading, questioning, connecting, and refining understanding over multiple rounds.

## Pipeline Stages

### 1. Question Decomposition

```python
from open_researcher import OpenResearcher

researcher = OpenResearcher(llm_provider="anthropic")

# Complex research question
result = researcher.research(
    "How do retrieval-augmented generation systems handle "
    "knowledge conflicts between parametric and retrieved knowledge, "
    "and what are the current mitigation strategies?"
)

# Automatically decomposes into sub-questions:
# SQ1: What types of knowledge conflicts occur in RAG?
# SQ2: How are conflicts detected?
# SQ3: What resolution strategies exist?
# SQ4: How effective are these strategies?
```

### 2. Iterative Search and Reading

```python
# Each sub-question triggers:
# - Academic search (OpenAlex, arXiv)
# - Paper reading (abstract + key sections)
# - Evidence extraction
# - Follow-up question generation

# Configuration
researcher = OpenResearcher(
    search_backends=["openalex", "arxiv"],
    max_iterations=5,           # Research rounds per sub-question
    papers_per_iteration=10,    # Papers to read per round
    follow_up_questions=True,   # Generate follow-up questions
)
```

### 3. Knowledge Graph Building

```python
# Internally builds a knowledge representation:
# - Claims linked to source papers
# - Relationships between concepts
# - Contradictions flagged

# Access the knowledge graph
kg = result.knowledge_graph
print(f"Concepts: {len(kg.nodes)}")
print(f"Relations: {len(kg.edges)}")
print(f"Contradictions: {len(kg.contradictions)}")
```

### 4. Synthesis and Report

```python
# Multi-section synthesis
report = result.report

# Sections:
# 1. Introduction and scope
# 2. Sub-question answers with evidence
# 3. Cross-cutting themes
# 4. Open questions and future directions
# 5. Full bibliography

report.save("research_report.md")
report.export_bibliography("refs.bib")
```

## Configuration

```python
researcher = OpenResearcher(
    llm_provider="anthropic",
    model="claude-sonnet-4-20250514",
    search_config={
        "backends": ["openalex", "arxiv"],
        "max_results_per_query": 20,
    },
    reading_config={
        "sections": ["abstract", "introduction", "methods", "conclusion"],
        "max_tokens_per_paper": 3000,
    },
    synthesis_config={
        "style": "academic",           # academic, technical, accessible
        "include_contradictions": True,
        "cite_inline": True,
    },
)
```

## Trajectory Inspection

```python
# Inspect the research trajectory
trajectory = result.trajectory

for step in trajectory:
    print(f"Round {step.round}: {step.action}")
    print(f"  Query: {step.query}")
    print(f"  Papers read: {step.papers_read}")
    print(f"  Key findings: {step.findings[:100]}...")
    print(f"  Follow-ups: {step.follow_up_questions}")
```

## Use Cases

1. **Literature surveys**: Comprehensive multi-round research
2. **Research proposals**: Evidence gathering for grant applications
3. **State-of-the-art reports**: Current landscape analysis
4. **Tutorial generation**: Deep topic explanations with citations

## References

- [OpenResearcher GitHub](https://github.com/GAIR-NLP/OpenResearcher)
- [GAIR-NLP Lab](https://github.com/GAIR-NLP)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.