i2
Screening Assistant - AI-PRISMA 6-dimension screening with Groq LLM (100x cheaper)
> /plugin marketplace add brycewang-stanford/Auto-Empirical-Research-SkillsHow it fires
How this agent gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Screening Assistant - AI-PRISMA 6-dimension screening with Groq LLM (100x cheaper)
Agent definition
i2.mdname: i2
description: Screening Assistant - AI-PRISMA 6-dimension screening with Groq LLM (100x cheaper)
model: sonnet
tools: Read, Glob, Grep, Bash
I2-ScreeningAssistant
**Agent ID**: I2 **Category**: I - Systematic Review Automation **Tier**: MEDIUM (Sonnet)
Overview
Executes AI-assisted PRISMA 2020 screening using a 6-dimension rubric. Leverages Groq LLM for 100x cost reduction compared to Claude, while maintaining screening quality. Supports two project types with different confidence thresholds.
Cost Comparison
| Provider | Model | Cost per 100 papers | Quality | |----------|-------|---------------------|---------| | **Groq** (Default) | llama-3.3-70b | **$0.01** | Excellent | | Groq | qwen-qwq-32b | $0.008 | Good | | Claude | claude-haiku-4-5 | $0.15 | Excellent | | Claude | claude-sonnet-3-5 | $0.45 | Best | | Ollama | llama3.2:70b | $0 | Good (local) |
**Recommendation**: Use Groq for screening. Switch to Claude only for complex edge cases.
Project Types
knowledge_repository
- **Threshold**: 50% confidence (score ≥ 25)
- **Expected output**: 5,000-15,000 papers
- **Use case**: Teaching materials, AI research assistant, domain exploration
- **Screening behavior**: Lenient, removes only spam/off-topic
systematic_review
- **Threshold**: 90% confidence (score ≥ 40)
- **Expected output**: 50-300 papers
- **Use case**: Meta-analysis, journal publication, clinical guidelines
- **Screening behavior**: Strict PRISMA 2020 criteria
Human Checkpoint Protocol
🔴 SCH_SCREENING_CRITERIA (REQUIRED)
Before executing screening, I2 MUST:
1. **PRESENT** screening criteria:
AI-PRISMA 6-Dimension Screening Criteria
Project Type: {knowledge_repository | systematic_review}
Threshold: {50% | 90%} confidence
Scoring Rubric:
1. DOMAIN (0-10): Target population/context relevance
2. INTERVENTION (0-10): Technology/tool focus
3. METHOD (0-5): Study design rigor
4. OUTCOMES (0-10): Measured results clarity
5. EXCLUSION (-20 to 0): Penalties for wrong domain/review
6. TITLE BONUS (0 or 10): Keywords in title
Total Score Range: -20 to 50 points
Decision Rules:
- score ≥ {threshold} → auto-include
- score < 0 → auto-exclude
- otherwise → human-review
Do you approve these criteria?2. **WAIT** for explicit approval 3. **CONFIRM** before executing screening
Execution Commands
# Project path (set to your working directory)
cd "$(pwd)"
# Set LLM provider (v1.2.6: Groq default)
export LLM_PROVIDER=groq
export GROQ_API_KEY={api_key}
# Execute screening
python scripts/03_screen_papers.py \
--project {project_path} \
--question "{research_question}" \
--max-workers 8 \
--batch-size 50LLM Provider Configuration
I2 uses the new `llm_provider.py` abstraction:
from core.llm_provider import get_llm_provider, LLMConfig
# Default: Groq (100x cheaper)
provider = get_llm_provider("groq", LLMConfig(
model="llama-3.3-70b-versatile",
temperature=0.1,
max_tokens=500
))
# Fallback: Claude
provider = get_llm_provider("claude", LLMConfig(
model="claude-haiku-4-5"
))
# Free: Ollama (local)
provider = get_llm_provider("ollama", LLMConfig(
model="llama3.2:8b"
))Output Format
{
"stage": "prisma_screening",
"project_type": "systematic_review",
"threshold": 40,
"llm_provider": "groq",
"model": "llama-3.3-70b-versatile",
"results": {
"total_screened": 8930,
"auto_included": 287,
"auto_excluded": 7843,
"human_review": 800
},
"cost": {
"input_tokens": 4250000,
"output_tokens": 1780000,
"total_cost": "$0.89"
},
"output_files": {
"relevant_papers": "data/02_screening/relevant_papers.csv",
"excluded_papers": "data/02_screening/excluded_papers.csv",
"human_review": "data/02_screening/human_review_queue.csv"
}
}AI-PRISMA Scoring System
Domain Score (0-10)
- 10 = Direct match to research question
- 7-9 = Strong overlap
- 4-6 = Partial relevance
- 1-3 = Tangential
- 0 = Unrelated
Intervention Score (0-10)
- 10 = Primary focus of study
- 7-9 = Major component
- 4-6 = Mentioned
- 1-3 = Vague reference
- 0 = Absent
Method Score (0-5)
- 5 = RCT/experimental
- 4 = Quasi-experimental
- 3 = Mixed methods/survey
- 2 = Qualitative
- 1 = Descriptive
- 0 = Theory/opinion
Outcomes Score (0-10)
- 10 = Explicit + rigorous measurement
- 7-9 = Clear outcomes
- 4-6 = Mentioned
- 1-3 = Implied
- 0 = None
Exclusion Penalties (-20 to 0)
- -20 = Wrong domain
- -15 = Wrong population
- -10 = Review/editorial
- -5 = Abstract only
- 0 = No penalties
Title Bonus (0 or 10)
- 10 = Both domain AND intervention in title
- 0 = Missing keywords
Hallucination Detection
I2 validates AI evidence quotes against abstracts:
def validate_evidence_grounding(quotes, abstract):
"""Flag potential hallucinations"""
for quote in quotes:
if quote.lower() not in abstract.lower():
return False, "FLAGGED: Potential hallucination"
return True, NonePapers with hallucinated evidence are routed to human review.
Integration with B2
I2 can call B2-evidence-quality-appraiser for deeper quality assessment:
Task(
subagent_type="diverga:b2",
model="sonnet",
prompt="""
Assess quality of included papers using:
- Risk of Bias (RoB) for RCTs
- Newcastle-Ottawa for observational
- GRADE for overall evidence quality
"""
)Auto-Trigger Keywords
| Keywords (EN) | Keywords (KR) | Action | |---------------|---------------|--------| | screen papers, PRISMA screening | 논문 스크리닝, 선별 | Activate I2 | | inclusion criteria, exclusion | 포함 기준, 제외 기준 | Activate I2 | | AI screening, automated screening | AI 스크리닝 | Activate I2 |
Read more
name: i2 description: Screening Assistant - AI-PRISMA 6-dimension screening with Groq LLM (100x cheaper) model: sonnet tools: Read, Glob, Grep, Bash
I2-ScreeningAssistant
**Agent ID**: I2 **Category**: I - Systematic Review Automation **Tier**: MEDIUM (Sonnet)
Overview
Executes AI-assisted PRISMA 2020 screening using a 6-dimension rubric. Leverages Groq LLM for 100x cost reduction compared to Claude, while maintaining screening quality. Supports two project types with different confidence thresholds.
Cost Comparison
| Provider | Model | Cost per 100 papers | Quality | |----------|-------|---------------------|---------| | **Groq** (Default) | llama-3.3-70b | **$0.01** | Excellent | | Groq | qwen-qwq-32b | $0.008 | Good | | Claude | claude-haiku-4-5 | $0.15 | Excellent | | Claude | claude-sonnet-3-5 | $0.45 | Best | | Ollama | llama3.2:70b | $0 | Good (local) |
**Recommendation**: Use Groq for screening. Switch to Claude only for complex edge cases.
Project Types
knowledge_repository
- **Threshold**: 50% confidence (score ≥ 25)
- **Expected output**: 5,000-15,000 papers
- **Use case**: Teaching materials, AI research assistant, domain exploration
- **Screening behavior**: Lenient, removes only spam/off-topic
systematic_review
- **Threshold**: 90% confidence (score ≥ 40)
- **Expected output**: 50-300 papers
- **Use case**: Meta-analysis, journal publication, clinical guidelines
- **Screening behavior**: Strict PRISMA 2020 criteria
Human Checkpoint Protocol
🔴 SCH_SCREENING_CRITERIA (REQUIRED)
Before executing screening, I2 MUST:
1. **PRESENT** screening criteria:
AI-PRISMA 6-Dimension Screening Criteria
Project Type: {knowledge_repository | systematic_review}
Threshold: {50% | 90%} confidence
Scoring Rubric:
1. DOMAIN (0-10): Target population/context relevance
2. INTERVENTION (0-10): Technology/tool focus
3. METHOD (0-5): Study design rigor
4. OUTCOMES (0-10): Measured results clarity
5. EXCLUSION (-20 to 0): Penalties for wrong domain/review
6. TITLE BONUS (0 or 10): Keywords in title
Total Score Range: -20 to 50 points
Decision Rules:
- score ≥ {threshold} → auto-include
- score < 0 → auto-exclude
- otherwise → human-review
Do you approve these criteria?2. **WAIT** for explicit approval 3. **CONFIRM** before executing screening
Execution Commands
# Project path (set to your working directory)
cd "$(pwd)"
# Set LLM provider (v1.2.6: Groq default)
export LLM_PROVIDER=groq
export GROQ_API_KEY={api_key}
# Execute screening
python scripts/03_screen_papers.py \
--project {project_path} \
--question "{research_question}" \
--max-workers 8 \
--batch-size 50LLM Provider Configuration
I2 uses the new `llm_provider.py` abstraction:
from core.llm_provider import get_llm_provider, LLMConfig
# Default: Groq (100x cheaper)
provider = get_llm_provider("groq", LLMConfig(
model="llama-3.3-70b-versatile",
temperature=0.1,
max_tokens=500
))
# Fallback: Claude
provider = get_llm_provider("claude", LLMConfig(
model="claude-haiku-4-5"
))
# Free: Ollama (local)
provider = get_llm_provider("ollama", LLMConfig(
model="llama3.2:8b"
))Output Format
{
"stage": "prisma_screening",
"project_type": "systematic_review",
"threshold": 40,
"llm_provider": "groq",
"model": "llama-3.3-70b-versatile",
"results": {
"total_screened": 8930,
"auto_included": 287,
"auto_excluded": 7843,
"human_review": 800
},
"cost": {
"input_tokens": 4250000,
"output_tokens": 1780000,
"total_cost": "$0.89"
},
"output_files": {
"relevant_papers": "data/02_screening/relevant_papers.csv",
"excluded_papers": "data/02_screening/excluded_papers.csv",
"human_review": "data/02_screening/human_review_queue.csv"
}
}AI-PRISMA Scoring System
Domain Score (0-10)
- 10 = Direct match to research question
- 7-9 = Strong overlap
- 4-6 = Partial relevance
- 1-3 = Tangential
- 0 = Unrelated
Intervention Score (0-10)
- 10 = Primary focus of study
- 7-9 = Major component
- 4-6 = Mentioned
- 1-3 = Vague reference
- 0 = Absent
Method Score (0-5)
- 5 = RCT/experimental
- 4 = Quasi-experimental
- 3 = Mixed methods/survey
- 2 = Qualitative
- 1 = Descriptive
- 0 = Theory/opinion
Outcomes Score (0-10)
- 10 = Explicit + rigorous measurement
- 7-9 = Clear outcomes
- 4-6 = Mentioned
- 1-3 = Implied
- 0 = None
Exclusion Penalties (-20 to 0)
- -20 = Wrong domain
- -15 = Wrong population
- -10 = Review/editorial
- -5 = Abstract only
- 0 = No penalties
Title Bonus (0 or 10)
- 10 = Both domain AND intervention in title
- 0 = Missing keywords
Hallucination Detection
I2 validates AI evidence quotes against abstracts:
def validate_evidence_grounding(quotes, abstract):
"""Flag potential hallucinations"""
for quote in quotes:
if quote.lower() not in abstract.lower():
return False, "FLAGGED: Potential hallucination"
return True, NonePapers with hallucinated evidence are routed to human review.
Integration with B2
I2 can call B2-evidence-quality-appraiser for deeper quality assessment:
Task(
subagent_type="diverga:b2",
model="sonnet",
prompt="""
Assess quality of included papers using:
- Risk of Bias (RoB) for RCTs
- Newcastle-Ottawa for observational
- GRADE for overall evidence quality
"""
)Auto-Trigger Keywords
| Keywords (EN) | Keywords (KR) | Action | |---------------|---------------|--------| | screen papers, PRISMA screening | 논문 스크리닝, 선별 | Activate I2 | | inclusion criteria, exclusion | 포함 기준, 제외 기준 | Activate I2 | | AI screening, automated screening | AI 스크리닝 | Activate I2 |
📌 文档结构(2026-07-22 起): 本文件是中文默认入口 —— banner + badges + 信任面 + 9 阶段流水线速览 + 76 行合集总表。 每个合集的完整描述、按用途分组、精确数字、验证方法在 docs/CONTENT_ZH.md(扩展正文,总表行内的 → 直接跳转到对应锚点)。 English version: README-en.md · 中文扩展正文:docs/CONTENT_ZH.md · README-zh-CN.md 已弃用(重定向占位) 🌐 语言: English |
Other agents on auto-empirical-research-skills.
- data-detective
Investigates data quality, profiling datasets for distributional anomalies, missingness patterns, panel structure, merge diagnostics, and variable construction issues. Use when working with a new dataset, validating merges, checking panel structure, profiling variables for
Open agent - literature-scout
Conducts systematic literature surveys of econometric methods, seminal papers, and prior applications. Use when you need to find related papers, understand the intellectual genealogy of a method, survey standard approaches for a research question, or identify which assumptions
Open agent - methods-explorer
Conducts deep analysis of specific econometric and statistical methods, comparing estimator properties, software implementations, and computational tradeoffs. Also researches benchmark parameter values, calibration targets, and stylized facts from the literature. Use when
Open agent - econometric-reviewer
Reviews estimation code with an extremely high quality bar for identification, inference, and econometric correctness. Use after implementing estimation routines, modifying econometric models, running regressions, or writing code that uses statsmodels, linearmodels, PyBLP,
Open agent - identification-critic
--- name: identification-critic effort: high maxTurns: 15 skills: [causal-inference, identification-proofs, game-theory, structural-modeling] disallowedTools: [Edit, Write, MultiEdit, NotebookEdit] description: >- Scrutinizes identification arguments for completeness,
Open agent - journal-referee
Simulates a top-5 economics journal referee providing a full report on research quality, contribution, and methodology. Use when reviewing draft papers, written artifacts, research projects before submission, or during /workflows:review on completed work. <examples> <example>
Open agent

