
Asreview Screening
Screen papers for systematic reviews using ASReview active learning.
Install
npx skills add beita6969/ScienceClaw --skill asreview-screening -g -a claude-code -y- Repository
- beita6969/ScienceClaw1k
- Category
- Engineering
- Updated
- 5d ago
- License
- MIT
- Context cost
- Mediumabout 1,568 tokens
- Runs scripts
- No, instructions only
What it does
Screen papers for systematic reviews using ASReview active learning. Use when: user has a large set of papers to screen for inclusion/exclusion, wants to prioritize relevant papers, or needs to reduce manual screening workload. NOT for: searching papers (use literature-search) or meta-analysis (use meta-analysis).
ASReview Screening
Use active learning to prioritize and screen papers for systematic reviews, reducing manual workload by up to 95%. ASReview uses machine learning to learn from your screening decisions and prioritize the most likely relevant papers.
When to Use
- "I have 500 papers to screen for my systematic review"
- "Help me prioritize papers for inclusion"
- "Set up active learning screening for my review"
- "How many papers do I need to screen manually?"
When NOT to Use
- Searching for papers (use literature-search)
- Performing meta-analysis (use meta-analysis)
- Writing the review (use systematic-review + paper-writing)
- Small sets (< 50 papers), manual screening is faster
Setup
Install ASReview
pip install asreview asreview-insights asreview-datatools
Prepare Input Data
ASReview accepts RIS, CSV, TSV, or Excel files with at minimum:
title: Paper titleabstract: Paper abstract
Optional but recommended:
doi,authors,year,keywords,label(if some are pre-labeled)
Export from Search Results
# Convert Semantic Scholar / OpenAlex results to ASReview format
import csv
def export_for_asreview(papers: list[dict], output_path: str):
"""Export papers to CSV for ASReview."""
with open(output_path, 'w', newline='', encoding='utf-8') as f:
writer = csv.DictWriter(f, fieldnames=[
'title', 'abstract', 'authors', 'year', 'doi', 'keywords'
])
writer.writeheader()
for p in papers:
writer.writerow({
'title': p.get('title', ''),
'abstract': p.get('abstract', ''),
'authors': '; '.join(a.get('name', '') for a in p.get('authors', [])),
'year': p.get('year', ''),
'doi': p.get('externalIds', {}).get('DOI', ''),
'keywords': '; '.join(p.get('fieldsOfStudy', []))
})
print(f"Exported {len(papers)} papers to {output_path}")
