Proposal: add sr-screener, a protocol-driven study screening skill

Author: erfanz97Created Sep 30, 2026Updated Sep 30, 2026

CONTRIBUTING lists new skills under "Requires maintainer approval + discussion", so I am opening this before the PR.

What it is. sr-screener covers the study-selection step between deep-research (question, protocol, search) and academic-paper (writing the review). It turns a proposal or PROSPERO protocol into eligibility rules the user confirms. It then screens titles/abstracts and full texts with two blinded reviewer subagents (Read and Grep only) and a third reviewer who resolves their disagreements. Eight modes: protocol, quick, pilot, ta-screen, ft-screen, adjudicate, audit, report.

Why here. deep-research systematic-review mode produces the protocol and search, and academic-paper consumes literature_corpus[], but nothing in the suite makes and records the per-record screening decisions. sr-screener writes its output as literature_corpus[] entries that validate against literature_corpus_entry.schema.json. It also writes PRISMA 2020 counts and a methods draft for academic-paper.

Human-in-the-loop.

  • Nothing is screened before the user confirms the protocol.
  • Every batch of subagent calls waits for the user to approve the cost estimate.
  • A missing or malformed decision leaves the record pending; it never becomes a default "exclude".
  • The methods draft withholds numbers while anything is pending and leaves [TO COMPLETE] slots for the team's own verification.
  • The review team verifies decisions before any number is reported.

Evidence. It grew out of a lean screening agent I used for dual title/abstract screening of about 16,000 records in a diagnostic accuracy review. Screening accuracy has not been measured in this repository. A synthetic end-to-end test (scripts/test_sr_screener_pipeline.py) runs the skill's scripts.

Questions for the maintainer.

  1. The default reviewer models are haiku for Reviewers A/B, to keep costs down: a 10,000-record search is roughly 400-500 agent calls. CONTRIBUTING says ARS prompts are calibrated "never Haiku". Should the defaults move to sonnet, or can a per-role, user-confirmed config stay as an exception?
  2. Routing: I added CLAUDE.md routing rule 8 (screening vs deep-research systematic-review) but no issue_133_routing fixtures yet. Do you want fixtures in the same PR?
  3. The Pi wrapper does not package the skill; I left pi/ untouched as community-maintained.

Implementation is ready on my fork: https://github.com/erfanz97/academic-research-skills/tree/feat/sr-screener-skill

Source: Imbad0202/academic-research-skills