csag-extractionlisted
Install: claude install-skill fmschulz/omics-skills
# CSAG extraction skill
## Goal
Convert a manuscript into a **CSAG `PaperExtraction`** instance that is:
- **Schema-valid** (LinkML: `assets/csag.yaml`)
- **Evidence-grounded** (TextSpans for key objects)
- **Canonical** (support/refute only via `EvidenceLink`, chains via `InferenceStep`)
- **Conditional** (every Assertion has ≥1 Context)
## Files in this skill
- `assets/csag.yaml` — authoritative schema
- `assets/csag_qa_templates.yaml` — QA template catalog
- `references/CSAG_PLAYBOOK.md` — detailed extraction guide + edge cases
## Quick Reference
| Task | Action |
|------|--------|
| Extract paper | Build one `PaperExtraction` per manuscript, not per search hit. |
| Ground claims | Attach important assertions, evidence, and links to TextSpans. |
| Validate schema | Run `scripts/validate_paper_extraction.py` before finalizing. |
| Review quality | Run `scripts/csag_quality_report.py --strict` and resolve issues. |
## Non‑negotiable invariants
1) **Every Assertion MUST have ≥1 Context** (schema-enforced).
2) **Support/refute polarity ONLY in `EvidenceLink`**.
3) **Contradictions/qualification ONLY in `AssertionRelation`**.
4) **Reasoning chains ONLY as `InferenceStep`**.
5) Ground important objects to TextSpans.
6) Every Assertion MUST have `normalization_status`:
- `raw` / `partially_normalized` / `fully_normalized`
## Extraction scope
The extraction scope is the **full manuscript**: title, abstract, introduction, methods, results, discussion, conclusion, and