willoscar/pipeline-auditor
|
npx skills add https://github.com/WILLOSCAR/research-units-pipeline-skills --skill pipeline-auditor
Purpose: a deterministic “regression test” for the writing stage.
It answers:
This skill is analysis-only. It does not edit content. For all survey-family profiles, style/citation-shape violations are blocking by default.
output/DRAFT.mdoutline/outline.ymloutline/evidence_bindings.jsonlcitations/ref.biboutput/AUDIT_REPORT.mdoutput/TEMPLATE_RESIDUE_SCORECARD.jsonA150++ citation targets (used by the auditor):
Course-paper targets:
..., …), TODO markers, scaffold tags.outline/outline.yml.course_paper, >=2 for survey/deep (inserted by section-merger from outline/tables_appendix.md; index tables remain internal).This subsection ..., In this subsection ...)Next, we move ..., We now turn to ...)this run, this workspace)this pipeline, this stage, and quality gateblock only when the same sentence contains a Harness anchor such as a
checkpoint, Unit ID, Harness lock, attempt ledger, or template residue;
ordinary subject-matter uses remain non-blocking warnings
survey synthesis/comparisons should ....Taken together, ... and similar high-signal generator stems.citations/ref.bib exists): undefined keys, duplicates, basic formatting red flags.[@a] [@b]) and no duplicate keys inside one block ([@a; @a]). Mid-sentence citation ratio is >=20% for course_paper and >=30% for survey/deep.outline/evidence_bindings.jsonl exists): citations used per H3 should stay within the bound evidence set.output/FRONT_MATTER_CONTEXT.json to record the selected front-matter assets and hashes, then require the three template-owning Skill implementations to match .harness/harness.lock.json; missing provenance, legacy locks, and repository drift block acceptance.The JSON scorecard records the measured ratio, counts, threshold, selected asset
hashes, heading-aware examples, and implementation-lock result. During normal
Harness execution, Completion projects its verdict and dimensions into
.harness/evaluations/ledger.jsonl, including failed Attempts, so Run Audit can
expose the latest measurement instead of reducing it to PASS/FAIL. The scorecard
file remains the complete evidence object; the ledger is intentionally smaller.
The current 10% limit is an initial policy target. The published Survey replay
completes the current 31-check contract at 0/226 residue, establishing
attainability for one retained Artifact set. Clean from-scratch execution,
unrelated topics, and cross-profile calibration remain open.
Treat output/AUDIT_REPORT.md as a “what to fix next” router.
Common FAIL families -> responsible stage/skill:
subsection-briefs / evidence-draft / writer-context-pack, then rewrite affected sections.table-schema + appendix-table-writer produced outline/tables_appendix.md (>=1 course-paper table; >=2 survey/deep tables; citation-backed, no placeholders), then rerun section-merger.transition-weaver (and ensure briefs include bridge_terms / contrast_hook), then re-merge.sections/S*.md via writer-selfloop (local, section-level) or subsection-polisher.draft-polisher or local section rewrites).section-mapper → evidence-binder) and regenerate packs.citation-diversifier → citation-injector (NO NEW FACTS), then draft-polisher.sections/S<sec_id>.md front-matter file via writer-selfloop (front-matter path) using dense positioning + method paragraph.If you want the auditor to PASS *without* a heavy polish loop:
uv run python .codex/skills/pipeline-auditor/scripts/run.py --helpuv run python .codex/skills/pipeline-auditor/scripts/run.py --workspace <workspace>--workspace <dir>--unit-id <U###> (optional; for logs)--inputs <semicolon-separated> (rare override; prefer defaults)--outputs <semicolon-separated> (rare override; defaults write output/AUDIT_REPORT.md and output/TEMPLATE_RESIDUE_SCORECARD.json)--checkpoint <C#> (optional)global-reviewer and before LaTeX/PDF:uv run python .codex/skills/pipeline-auditor/scripts/run.py --workspace <workspace>Fix:
citation-verifier and ensure citations/ref.bib contains every cited key.Fix:
sections/* files, then re-merge.Fix:
citation-diversifier to produce output/CITATION_BUDGET_REPORT.md.citation-injector (edits output/DRAFT.md, writes output/CITATION_INJECTION_REPORT.md).draft-polisher → global-reviewer → auditor.Take willoscar/pipeline-auditor 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.