Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 44% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 46% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 96% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 83% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 35% | 0% |
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 generationyamlRequired: - research_question: "string" - domain: "string" Optional: - project_type: "enum[knowledge_repository, systematic_review]" - databases: "list[string]" - year_range: "list[int, int]" - language: "string"
yamlmain_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:
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. """ )
| 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:
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
yamlrequires: [] 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:
TeamCreate(team_name="scholarag-pipeline", description="PRISMA 2020 systematic review pipeline")
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
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/")
TeamDelete() after pipeline completion or on errorIf 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.
Other measured skills in the registry, with their headline benchmark lift.