Open researcher guide
🔬 A curated collection of 23,000+ agent skills for empirical research across 8 social science disciplines. | 精选 23,000+ AI Agent 技能库,覆盖8大社会科学学科的实证研究。CoPaper.AI 20分钟完成一篇可复现的规范实证论文,并支持用户上传 Skills。-- Maintained by CoPaper.AI from Stanford REAP.
npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill open-researcher-guideAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
What its author says it does
Copied from the file, not written here
Open pipeline for generating deep research trajectories with LLMs
SKILL.md
4.0 KB, as published. Nobody here has run it
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
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
# 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
# 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
# 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
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
# 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
- Literature surveys: Comprehensive multi-round research
- Research proposals: Evidence gathering for grant applications
- State-of-the-art reports: Current landscape analysis
- Tutorial generation: Deep topic explanations with citations