# Traceability Review

Use when the user asks to review, verify, or audit a report, manuscript, or analysis in...

- Repository: https://github.com/ai4s-research/open-science (2069 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add ai4s-research/open-science --skill traceability-review -g -a claude-code -y`
Codex: `npx skills add ai4s-research/open-science --skill traceability-review -g -a codex -y`
Cursor: `npx skills add ai4s-research/open-science --skill traceability-review -g -a cursor -y`
Gemini CLI: `npx skills add ai4s-research/open-science --skill traceability-review -g -a gemini-cli -y`

## Description

Use when the user asks to review, verify, or audit a report, manuscript, or analysis in the workspace for traceability, resolving citations, flagging numbers with no source, and checking figures against the code that generated them. Emits a structured review block the app renders as reviewer findings. Verifies traceability, never "correctness".

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Traceability Review

Audit a workspace document (report, manuscript, or notebook) with three checks.
You verify **traceability**, that claims trace to sources, data, and code, not truth. Never state or imply that the document is error-free.

## PDF manuscripts, extract first, never guess

If the document is a **PDF**, do not read the raw bytes or infer its contents.
Run the bundled extractor first, it pulls the text plus the concrete citation
identifiers and quantitative claims deterministically, so you audit real
identifiers, not ones recalled from memory:

```bash
python "$XDG_CONFIG_HOME/opencode/skills/traceability-review/pdf_extract.py" MANUSCRIPT.pdf
```

It prints JSON: `{backend, pages, chars, citations:{dois,arxiv,pmids},
claims:[{kind,text,context}], text}`. Use `citations` as the input to Check 1,
`claims` as the input to Check 2, and `text` to locate figure references for
Check 3. If it returns `{"error": …}` (no PDF backend installed), say so plainly
and fall back to whatever text you can read, do not fabricate identifiers.

## Check 1 · Citation audit

1. Extract every citation identifier from the document: DOI (`10.xxxx/…`),
   arXiv id, PMID, or title + year when no identifier is given.
2. Resolve each against a public registry (no API key needed):
   - DOI: `curl -s "https://api.crossref.org/works/<doi>"`
   - arXiv: `curl -s "http://export.arxiv.org/api/query?id_list=<id>"`
   - PMID: `curl -s "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=pubmed&id=<pmid>&retmode=json"`
3. Findings:
   - `error`, the identifier does not resolve (HTTP 404 / empty result).
   - `warn`, it resolves, but the registry's title/authors/year clearly
     disagree with how the document cites it.
   - `warn`, network unavailable: report "could not verify (offline)" rather
     than skipping silently.

## Check 2 · Untraceable numbers

The rest: https://github.com/ai4s-research/open-science/blob/HEAD/runtime/skills/core/traceability-review/SKILL.md
