/figure-comparison¶
Build a self-contained HTML report (.lightcone/comparison.html) that
places paper reference artifacts on the left and reproduced artifacts
on the right, with red flags wherever a counterpart is missing. Images
are base64-embedded so the HTML is portable. Run from a project folder
containing astra.yaml.
Source: claude/lightcone/skills/figure-comparison/SKILL.md.
Argument hint: [path to paper reference dir, e.g. work/reference/].
Allowed tools¶
Read, Write, Glob, Grep,
Bash(ls:*), Bash(wc:*), Bash(grep:*), Bash(find:*), Bash(file:*),
Bash(python3:*), Bash(python:*), Bash(base64:*),
AskUserQuestion, Agent
Read-only over the build artifacts. The skill never invokes the
pipeline itself — if results/<universe>/ is empty, it tells the user
to run lc run first and stops.
Setup¶
- Confirm project root. Reads
astra.yamlin the cwd. If missing, asks the user tocdto the ASTRA project. - Confirm results exist. Default universe is
baseline, unlesscomparison-report.yamlnames another universe or the user supplied one. Checksls results/<universe>/. - Locate the paper reference substrate. In order: a path passed as
an argument, then
work/reference/from lc-from-paper's layout (source/for arXiv TeX,document.mdfor the Docling fallback, plus extractedfigures/andtables/). Legacy locations are tried only after lc-from-paper paths fail.
Scope resolution¶
The skill picks its target set in priority order:
comparison-report.yaml— the highest-priority scope when lc-from-paper has run COMPARE. Records exactly what to compare, includingtype,priority, paper/reproduced values, file paths, and match status.targets/targets.md— the SPECIFY-phase scope ledger, used when COMPARE hasn't run yet.- Default paper-driven flow — when neither scope file exists,
builds a best-effort report from
astra.yaml's narrative and findings pluswork/reference/.
Output¶
A single .lightcone/comparison.html with paper artifacts on the left
and reproduced artifacts on the right. Helper scripts and intermediate
manifests also live under .lightcone/ so they don't pollute the
baseline results.
The HTML embeds figure images as base64 — paste it into email, drop it on a shared drive, or send it through Slack without breaking links.
When to invoke¶
- From
/lc-from-paper's REVIEW close-out (mandatory). - Standalone, any time after
lc runsucceeds, to see how the reproduction stacks up against the paper.
Hard rules¶
- Read-only over build artifacts. Never run the pipeline; if outputs are missing, stop and ask the user to build first.
- Don't compare directly against a whole PDF. When only
work/reference/paper.pdfexists, ask the user to run paper extraction first. - Preserve scope ordering.
comparison-report.yamlwins overtargets/targets.mdwins over the default flow.
Related¶
/lc-from-paper— invokes/figure-comparisonduring REVIEW (mandatory)./paper-extraction— produces thework/reference/substrate this skill reads./check-sentence-by-sentence— the other REVIEW close-out, paper-vs-code rather than artifact-vs-artifact.