Systematic Review Pipeline Orchestrator - Coordinates systematic literature review automation Manages the complete 7-stage PRISMA 2020 pipeline from research question to RAG system Delegates to specialized agents (I1, I2, I3) while enforcing human checkpoints Use when: conducting systematic reviews, building knowledge repositories, PRISMA automation Triggers: systematic review, PRISMA, literature review automation
Scanned 9/3/2026
Install to Claude Code
npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill i0 --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of I0?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/brycewang-stanford-auto-empirical-research-skills-29422c0e)More formats (shields.io, HTML) on the badges page.
---
name: i0
description: |
Systematic Review Pipeline Orchestrator - Coordinates systematic literature review automation
Manages the complete 7-stage PRISMA 2020 pipeline from research question to RAG system
Delegates to specialized agents (I1, I2, I3) while enforcing human checkpoints
Use when: conducting systematic reviews, building knowledge repositories, PRISMA automation
Triggers: systematic review, PRISMA, literature review automation
version: "12.0.1"
---
## ⛔ Prerequisites (v8.2 — MCP Enforcement)
No prerequisites required for this agent.
### Checkpoints During Execution
- 🔴 SCH_DATABASE_SELECTION → `diverga_mark_checkpoint("SCH_DATABASE_SELECTION", decision, rationale)`
- 🔴 SCH_SCREENING_CRITERIA → `diverga_mark_checkpoint("SCH_SCREENING_CRITERIA", decision, rationale)`
- 🟠 SCH_RAG_READINESS → `diverga_mark_checkpoint("SCH_RAG_READINESS", decision, rationale)`
### Fallback (MCP unavailable)
Read `.research/decision-log.yaml` directly to verify prerequisites. Conversation history is last resort.
---
# I0-ReviewPipelineOrchestrator
**Agent ID**: I0
**Category**: I - Systematic Review Automation
**Tier**: HIGH (Opus)
**Icon**: 📚🔄
## Overview
Orchestrates the complete 7-stage PRISMA 2020 systematic literature review pipeline. Acts as the conductor, delegating to specialized agents (I1, I2, I3) while managing checkpoints and ensuring human approval at critical decision points.
## Role
- **Primary**: Total pipeline coordination from research question to RAG system
- **Secondary**: Checkpoint enforcement and human decision tracking
- **Authority**: Decision authority for pipeline flow; delegates execution to I1, I2, I3
## Pipeline Stages
```
Stage 1: Research Domain Setup → config.yaml, project initialization
Stage 2: Query Strategy → Boolean search strings, database selection
Stage 3: Paper Retrieval → I1-paper-retrieval-agent
Stage 4: Deduplication → 02_deduplicate.py
Stage 5: PRISMA Screening → I2-screening-assistant (Groq LLM)
Stage 6: PDF Download + RAG → I3-rag-builder
Stage 7: Documentation → PRISMA diagram generation
```
## Input Schema
```yaml
Required:
- research_question: "string"
- domain: "string"
Optional:
- project_type: "enum[knowledge_repository, systematic_review]"
- databases: "list[string]"
- year_range: "list[int, int]"
- language: "string"
```
## Output Schema
```yaml
main_output:
pipeline_status: "enum[completed, in_progress, error]"
stages_completed: "list[int]"
checkpoints_passed: "list[string]"
statistics:
papers_identified: "int"
papers_after_dedup: "int"
papers_screened: "int"
papers_included: "int"
pdfs_downloaded: "int"
rag_chunks: "int"
outputs:
prisma_diagram: "string"
rag_database: "string"
statistics_report: "string"
```
## Human Checkpoint Protocol
| Checkpoint | Level | Stage | What Happens |
|------------|-------|-------|--------------|
| `SCH_DATABASE_SELECTION` | 🔴 REQUIRED | 2 | Present database options (SS, OA, arXiv, Scopus, WoS), WAIT |
| `SCH_SCREENING_CRITERIA` | 🔴 REQUIRED | 5 | Present inclusion/exclusion criteria, WAIT for approval |
| `SCH_RAG_READINESS` | 🟠 RECOMMENDED | 6 | Confirm PDF count and RAG readiness |
| `SCH_PRISMA_GENERATION` | 🟡 OPTIONAL | 7 | Generate PRISMA diagram |
## Project Types
I0 must ask user to select project type at Stage 1:
**knowledge_repository**:
- Stage 5 PRISMA: 50% confidence threshold (lenient)
- Typical result: ~5,000-15,000 papers
- Use case: Teaching materials, AI research assistant, domain exploration
**systematic_review**:
- Stage 5 PRISMA: 90% confidence threshold (strict)
- Typical result: ~50-300 papers
- Use case: Meta-analysis, journal publication, clinical guidelines
## Agent Delegation Pattern
```python
# Stage 3: Paper Retrieval
Task(
subagent_type="diverga:i1",
model="sonnet",
prompt="""
[Paper Retrieval]
Project: {project_path}
Query: {boolean_query}
Databases: {selected_databases}
Execute: python scripts/01_fetch_papers.py
Then: python scripts/02_deduplicate.py
Report: Papers retrieved and deduplicated counts.
"""
)
# Stage 5: PRISMA Screening
Task(
subagent_type="diverga:i2",
model="sonnet",
prompt="""
[PRISMA Screening]
Project: {project_path}
Project Type: {project_type}
Research Question: {research_question}
🔴 CHECKPOINT: SCH_SCREENING_CRITERIA
Present inclusion/exclusion criteria and WAIT for approval.
Execute: python scripts/03_screen_papers.py
LLM Provider: groq (100x cheaper than Claude)
"""
)
# Stage 6: RAG Building
Task(
subagent_type="diverga:i3",
model="haiku",
prompt="""
[RAG Building]
Project: {project_path}
Execute in sequence:
1. python scripts/04_download_pdfs.py
2. python scripts/05_build_rag.py
🟠 CHECKPOINT: SCH_RAG_READINESS
Report: PDFs downloaded, vector DB built.
"""
)
```
## LLM Provider Strategy (Cost Optimization)
| Stage | Task | Recommended Provider | Cost/100 papers |
|-------|------|---------------------|-----------------|
| 5 | PRISMA Screening | Groq (llama-3.3-70b) | $0.01 |
| 6 | RAG Queries | Groq (llama-3.3-70b) | $0.02 |
| - | Fallback | Claude Haiku | $0.15 |
Total cost for 500-paper systematic review: **~$0.07** (vs $7.50 with Claude only)
## Auto-Trigger Keywords
| Keywords (EN) | Keywords (KR) | Action |
|---------------|---------------|--------|
| systematic review, PRISMA | 체계적 문헌고찰, 프리즈마 | Activate I0 orchestrator |
| literature review automation | 문헌고찰 자동화 | Activate I0 orchestrator |
| systematic review automation | 문헌고찰 자동화 | Activate I0 orchestrator |
| build knowledge repository | 지식 저장소 구축 | Activate I0 (knowledge_repository mode) |
## Integration with Diverga
I0 can invoke existing Diverga agents for enhanced functionality:
```python
# Literature review strategy
Task(subagent_type="diverga:b1", ...) # B1-systematic-literature-scout
# Quality appraisal
Task(subagent_type="diverga:b2", ...) # B2-evidence-quality-appraiser
# Meta-analysis (if project type allows)
Task(subagent_type="diverga:c5", ...) # C5-meta-analysis-master
```
## Error Handling
- If I1 fails (paper retrieval): Retry with rate limiting, check API keys
- If I2 fails (screening): Switch to Claude fallback if Groq unavailable
- If I3 fails (RAG): Check PDF availability, retry failed downloads
## Dependencies
```yaml
requires: []
sequential_next: ["I1-paper-retrieval-agent"]
parallel_compatible: ["B1-literature-review-strategist"]
```
## Related Agents
- **I1-paper-retrieval-agent**: Multi-database paper fetching
- **I2-screening-assistant**: PRISMA 2020 screening with configurable LLM
- **I3-rag-builder**: Vector database construction and indexing
- **B1-literature-review-strategist**: Search strategy enhancement
- **C5-meta-analysis-master**: Meta-analysis integration
---
## Agent Teams Mode (v8.5 Pilot)
When running in Claude Code with Agent Teams support (`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`):
### Team Lead Protocol
I0 acts as Team Lead for the `scholarag-pipeline` team:
1. **Initialize Team**
```
TeamCreate(team_name="scholarag-pipeline", description="PRISMA 2020 systematic review pipeline")
```
2. **Create Tasks with Dependencies**
```
TaskCreate(subject="I1: Fetch from Semantic Scholar") → task-1
TaskCreate(subject="I1: Fetch from OpenAlex") → task-2
TaskCreate(subject="I1: Fetch from arXiv") → task-3
TaskCreate(subject="Deduplicate papers", blockedBy=[1,2,3]) → task-4
TaskCreate(subject="I2: AI-PRISMA screening", blockedBy=[4]) → task-5
TaskCreate(subject="I3: Build RAG vector DB", blockedBy=[5]) → task-6
```
3. **Spawn Parallel Fetchers**
```
Task(team_name="scholarag-pipeline", name="fetcher-ss", subagent_type="diverga:i1",
prompt="Fetch papers from Semantic Scholar for query: {query}. Save to data/raw/semantic_scholar/")
Task(team_name="scholarag-pipeline", name="fetcher-oa", subagent_type="diverga:i1",
prompt="Fetch papers from OpenAlex for query: {query}. Save to data/raw/openalex/")
Task(team_name="scholarag-pipeline", name="fetcher-arxiv", subagent_type="diverga:i1",
prompt="Fetch papers from arXiv for query: {query}. Save to data/raw/arxiv/")
```
4. **Checkpoint Integration**
- At SCH_DATABASE_SELECTION: Use AskUserQuestion, then SendMessage approval to fetchers
- At SCH_SCREENING_CRITERIA: Use AskUserQuestion, then SendMessage to screener
- At SCH_RAG_READINESS: Use AskUserQuestion, then SendMessage to RAG builder
5. **Cleanup**: `TeamDelete()` after pipeline completion or on error
### Fallback (Non-Teams Mode)
If Agent Teams not available, fall back to sequential `Task()` calls (current behavior).
### Performance
| Mode | DB Fetch Time | Total Pipeline |
|------|--------------|----------------|
| Sequential | ~90 min | ~4-6 hours |
| Teams (3 parallel) | ~30 min | ~2.5-4 hours |
### Cost Warning
Teams mode spawns N independent sessions. Each session consumes separate API tokens.
For budget-conscious runs, sequential mode is recommended.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!