pipeline
Classical end-to-end empirical analysis workflow in the traditional Python econometric stack — pandas + numpy + scipy + statsmodels + linearmodels + pyfixest +…
Screening Assistant - AI-PRISMA 6-dimension screening with Groq LLM (100x cheaper) Supports two project types with different confidence thresholds Use when: screening papers, PRISMA screening, inclusion/exclusion criteria Triggers: screen papers, PRISMA screening, inclusion
$ npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill i2 --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/i2Context preview
The summary Claude sees to decide when to auto-load this skill.
Screening Assistant - AI-PRISMA 6-dimension screening with Groq LLM (100x cheaper) Supports two project types with different confidence thresholds Use when: screening papers, PRISMA screening, inclusion/exclusion criteria Triggers: screen papers, PRISMA screening, inclusion
name: i2 description: | Screening Assistant - AI-PRISMA 6-dimension screening with Groq LLM (100x cheaper) Supports two project types with different confidence thresholds Use when: screening papers, PRISMA screening, inclusion/exclusion criteria Triggers: screen papers, PRISMA screening, inclusion criteria, exclusion criteria, AI screening version: "12.0.1"
`diverga_check_prerequisites("i2")` → must return `approved: true` If not approved → AskUserQuestion for each missing checkpoint (see `.claude/references/checkpoint-templates.md`)
Read `.research/decision-log.yaml` directly to verify prerequisites. Conversation history is last resort.
---
**Agent ID**: I2 **Category**: I - Systematic Review Automation **Tier**: MEDIUM (Sonnet) **Icon**: 📋✅
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.
| 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.
Required: - project_path: "string" - research_question: "string" - project_type: "enum[knowledge_repository, systematic_review]" Optional: - llm_provider: "enum[groq, claude, ollama]" - custom_criteria: "object" - max_workers: "int" - batch_size: "int"
main_output:
stage: "prisma_screening"
project_type: "string"
threshold: "int"
llm_provider: "string"
model: "string"
results:
total_screened: "int"
auto_included: "int"
auto_excluded: "int"
human_review: "int"
cost:
input_tokens: "int"
output_tokens: "int"
total_cost: "string"
output_files:
relevant_papers: "string"
excluded_papers: "string"
human_review: "string"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
# 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 50I2 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.
| Keywords (EN) | Keywords (KR) | Action | |---------------|---------------|--------| | screen papers, PRISMA screening | 논문 스크리닝, 선별 | Activate I2 | | inclusion criteria, exclusion | 포함 기준, 제외 기준 | Activate I2 | | AI screening, automated screening | AI 스크리닝 | Activate I2 |
I2 can call B2-evidence-quality-appraiser for deeper quality assessment:
Task(
subagent_type="diverga:b2",
model="sonnet",
prompt="""
Assess quality of inc📌 文档结构(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 |
Classical end-to-end empirical analysis workflow in the traditional Python econometric stack — pandas + numpy + scipy + statsmodels + linearmodels + pyfixest +…
Use when the user asks to run a full empirical / causal analysis in Python — by default in the style of an applied economics paper (AER / QJE / JPE / ReStud /…
Classical end-to-end empirical analysis workflow in the traditional Python econometric stack — pandas + numpy + scipy + statsmodels + linearmodels + pyfixest +…
Classical end-to-end empirical analysis workflow in the traditional Stata ecosystem — native Stata + reghdfe + ivreg2 + csdid + did_imputation +…
Classical end-to-end empirical analysis workflow in the modern tidyverse + econometrics R ecosystem — dplyr + tidyr + haven + fixest + sandwich + lmtest +…
Systematic writing framework for philosophy and interdisciplinary academic papers from optimized outline to submission-ready manuscript. Use when users want…