Proposal: add sr-screener, a protocol-driven study screening skill
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.
- The default reviewer models are
haikufor 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 tosonnet, or can a per-role, user-confirmed config stay as an exception? - Routing: I added CLAUDE.md routing rule 8 (screening vs
deep-researchsystematic-review) but noissue_133_routingfixtures yet. Do you want fixtures in the same PR? - 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