skills/25-HosungYou-Diverga/skills/i0/SKILL.md
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
npx skillsauth add brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research i0Install this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
No prerequisites required for this agent.
diverga_mark_checkpoint("SCH_DATABASE_SELECTION", decision, rationale)diverga_mark_checkpoint("SCH_SCREENING_CRITERIA", decision, rationale)diverga_mark_checkpoint("SCH_RAG_READINESS", decision, rationale)Read .research/decision-log.yaml directly to verify prerequisites. Conversation history is last resort.
Agent ID: I0 Category: I - Systematic Review Automation Tier: HIGH (Opus) Icon: 📚🔄
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.
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
Required:
- research_question: "string"
- domain: "string"
Optional:
- project_type: "enum[knowledge_repository, systematic_review]"
- databases: "list[string]"
- year_range: "list[int, int]"
- language: "string"
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"
| 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 |
I0 must ask user to select project type at Stage 1:
knowledge_repository:
systematic_review:
# 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.
"""
)
| 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)
| 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) |
I0 can invoke existing Diverga agents for enhanced functionality:
# 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
requires: []
sequential_next: ["I1-paper-retrieval-agent"]
parallel_compatible: ["B1-literature-review-strategist"]
When running in Claude Code with Agent Teams support (CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1):
I0 acts as Team Lead for the scholarag-pipeline team:
Initialize Team
TeamCreate(team_name="scholarag-pipeline", description="PRISMA 2020 systematic review pipeline")
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
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/")
Checkpoint Integration
Cleanup: TeamDelete() after pipeline completion or on error
If Agent Teams not available, fall back to sequential Task() calls (current behavior).
| Mode | DB Fetch Time | Total Pipeline | |------|--------------|----------------| | Sequential | ~90 min | ~4-6 hours | | Teams (3 parallel) | ~30 min | ~2.5-4 hours |
Teams mode spawns N independent sessions. Each session consumes separate API tokens. For budget-conscious runs, sequential mode is recommended.
tools
Autonomous multi-round research review loop using MiniMax API. Use when you want to use MiniMax instead of Codex MCP for external review. Trigger with "auto review loop minimax" or "minimax review".
tools
Autonomous research review loop using any OpenAI-compatible LLM API. Configure via llm-chat MCP server or environment variables. Trigger with "auto review loop llm" or "llm review".
tools
Autonomous multi-round research review loop using MiniMax API. Use when you want to use MiniMax instead of Codex MCP for external review. Trigger with "auto review loop minimax" or "minimax review".
tools
Autonomous research review loop using any OpenAI-compatible LLM API. Configure via llm-chat MCP server or environment variables. Trigger with "auto review loop llm" or "llm review".