lit-screenlisted
Install: claude install-skill kennethkhoocy/legal-scholarship-skills
# lit-screen (Stage 6 -- Abstract Screening)
Screen every paper's abstract against the original research prompt. In the
orchestrator's agent-driven flow the relevance judgment is produced by **Opus
subagents** through the `--emit-tasks` / `--ingest-results` seam (no API key); a
standalone run uses the in-script Claude Sonnet API path instead. Produces a
relevance score (1-10), rationale, and structured tags for each paper.
## Usage
```bash
python ~/.claude/skills/lit-screen/scripts/lit_screen.py \
--input stage5_merged.json \
--query "your research prompt here" \
-o stage6_screened.json
```
## CLI Flags
| Flag | Default | Description |
|------|---------|-------------|
| `--input` | (required) | Input JSON from Stage 5 (dedup output) |
| `--query` | (required) | Research query/prompt to screen against |
| `-o, --output` | `stage6_screened.json` | Output JSON path |
| `--model` | `claude-sonnet-4-6` | Anthropic model ID (autonomous fallback) |
| `--concurrency` | `5` | Max simultaneous API requests (autonomous fallback) |
| `--emit-tasks PATH` | — | Agent-driven: write per-paper screening tasks and stop (no API) |
| `--ingest-results PATH` | — | Agent-driven: merge Opus screening results and write all outputs (no API) |
## Output Schema
Each paper gets these fields added:
```json
{
"screening_score": 8,
"screening_rationale": "Directly examines board composition changes...",
"paper_type": "empirical",
"identification_strategy": "DiD",
"relationship": "di