- Home
- Skills
- Willoscar
- Research Units Pipeline Skills
- Extraction Form
extraction-form_skill
- Python
109
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill willoscar/research-units-pipeline-skills --skill extraction-form- SKILL.md2.6 KB
Overview
This skill extracts study-level data into a consistent, analysis-ready CSV at papers/extraction_table.csv using the protocol's extraction schema. It enforces one row per included paper, explicit provenance, and auditable notes for inferred values. The output is strictly extraction (no narrative synthesis) to support downstream synthesis tasks.
How this skill works
It reads papers/screening_log.csv to collect included studies and loads the extraction fields defined in output/PROTOCOL.md. For each included paper it fills the required provenance columns (paper_id, title, year, url) and populates each protocol-defined field, using papers/paper_notes.jsonl when available as supporting evidence. The process marks inferred values in notes, leaves unknowns as empty cells with a notes entry, and performs quick QA to ensure 1:1 coverage between included papers and extraction rows.
When to use it
- After screening is complete and you have papers/screening_log.csv with decision=include
- When output/PROTOCOL.md contains a locked extraction schema
- Before any narrative synthesis or meta-analysis work begins
- When you want a reproducible, auditable source table for downstream analysis
Best practices
- Do not proceed if output/PROTOCOL.md lacks extraction fields; update the protocol first
- Strictly follow protocol field names and units; avoid ad-hoc columns unless protocol is updated
- Include provenance columns (paper_id, title, year, url) for every row
- Record inferred values in a notes column and keep unknown values as empty cells with explanatory notes
- Spot-check several rows against source PDFs or paper_notes.jsonl to confirm accuracy
Example use cases
- Populate a CSV of study characteristics for a systematic review after screening
- Convert structured paper notes (paper_notes.jsonl) into a protocol-governed extraction table
- Prepare an auditable input table for a synthesis-writer or meta-analysis script
- Detect missing protocol fields early by attempting extraction and failing fast
FAQ
Stop and update output/PROTOCOL.md with the required fields before running extraction; the skill will not invent fields.
How are unknown or inferred values represented?
Leave unknowns as empty cells and document the reason in the notes column; mark inferred values in notes and cite supporting provenance.