willoscar/citation-anchoring
| Regression-check citation anchoring (citations stay in the same subsection) to prevent “polish drift” that breaks claim→evidence alignment.
npx skills add https://github.com/WILLOSCAR/research-units-pipeline-skills --skill citation-anchoring
Purpose: prevent a common failure mode: polishing rewrites text and accidentally moves citation markers into a different ### subsection, breaking claim→evidence alignment.
output/DRAFT.mdoutput/citation_anchors.prepolish.jsonl (baseline; created by draft-polisher on first run)output/CITATION_ANCHORING_REPORT.md (PASS/FAIL + drift examples)draft-polisher captures a baseline once per run: output/citation_anchors.prepolish.jsonl.Role:
Steps:
1) Load the baseline anchors.
2) Parse the current output/DRAFT.md into ### subsections and extract citation keys per subsection.
3) Compare current sets to baseline sets:
4) Write output/CITATION_ANCHORING_REPORT.md:
- Status: PASS only if no drift is detected- Status: FAIL with a short diff table + examplesIf you intentionally restructure across subsections:
output/citation_anchors.prepolish.jsonl and regenerate a new baseline (then treat that as the new regression anchor).Fix:
draft-polisher once to generate output/citation_anchors.prepolish.jsonl, then rerun the anchoring check.Fix:
output/citation_anchors.prepolish.jsonl and regenerate a new baseline (then treat that as the new regression anchor).Take willoscar/citation-anchoring from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.