Skill

i0

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

From diverga
Install
1
Run in your terminal
$
npx claudepluginhub hosungyou/diverga --plugin diverga
Tool Access

This skill uses the workspace's default tool permissions.

Skill Content

β›” 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

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

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

CheckpointLevelStageWhat Happens
SCH_DATABASE_SELECTIONπŸ”΄ REQUIRED2Present database options (SS, OA, arXiv, Scopus, WoS), WAIT
SCH_SCREENING_CRITERIAπŸ”΄ REQUIRED5Present inclusion/exclusion criteria, WAIT for approval
SCH_RAG_READINESS🟠 RECOMMENDED6Confirm PDF count and RAG readiness
SCH_PRISMA_GENERATION🟑 OPTIONAL7Generate 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

# 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)

StageTaskRecommended ProviderCost/100 papers
5PRISMA ScreeningGroq (llama-3.3-70b)$0.01
6RAG QueriesGroq (llama-3.3-70b)$0.02
-FallbackClaude 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:

# 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

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

ModeDB Fetch TimeTotal 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.

Stats
Stars1
Forks1
Last CommitMar 19, 2026