Agent skill

pipeline-auditor

Audit/regression checks for the evidence-first survey pipeline: citation health, per-section coverage, placeholder leakage, and template repetition. **Trigger**: auditor, audit, regression test, quality report, 审计, 回归测试. **Use when**: `output/DRAFT.md` exists and you want a deterministic PASS/FAIL report before LaTeX/PDF. **Skip if**: you are still changing retrieval/outline/evidence packs heavily (audit later). **Network**: none. **Guardrail**: do not change content; only analyze and report.

Stars 377
Forks 25

Install this agent skill to your Project

npx add-skill https://github.com/WILLOSCAR/research-units-pipeline-skills/tree/main/.codex/skills/pipeline-auditor

SKILL.md

Pipeline Auditor (draft audit + regression)

Purpose: a deterministic “regression test” for the writing stage.

It answers:

  • did we leak placeholders or planner talk?
  • did citation scope drift?
  • did the draft fall back to generator voice (navigation/narration templates)?
  • is citation density/health sufficient for a survey-like draft?

This skill is analysis-only. It does not edit content. For survey/deep, style/citation-shape violations are blocking by default.

Inputs

  • output/DRAFT.md
  • outline/outline.yml
  • Optional (recommended):
    • outline/evidence_bindings.jsonl
    • citations/ref.bib

Outputs

  • output/AUDIT_REPORT.md

What it checks (deterministic)

A150++ citation targets (used by the auditor):

  • Per-H3: >=12 unique citations (deep: >=14).

  • Global: >=150 unique citations across the full draft (recommended target: 165; deep floor: 165).

  • Placeholder leakage: ellipsis (..., ), TODO markers, scaffold tags.

  • Outline alignment: section/subsection order vs outline/outline.yml.

  • Survey tables (survey deliverable): require >=2 Markdown tables in the merged draft (index tables live in outline/tables_index.md) (inserted by section-merger from outline/tables_appendix.md).

  • Paper voice anti-patterns:

    • narration templates (This subsection ..., In this subsection ...)
    • slide navigation (Next, we move ..., We now turn to ...)
    • pipeline voice (this run, “pipeline/stage/workspace” in prose)
  • Evidence-policy disclaimer spam: repeated “abstract-only/title-only/provisional” boilerplate inside H3 bodies.

  • Meta survey-guidance phrasing: survey synthesis/comparisons should ....

  • Synthesis stem repetition: repeated Taken together, ... and similar high-signal generator stems.

  • Numeric claim context: numbers without minimal evaluation context tokens (benchmark/dataset/metric/budget/cost).

  • Citation health (if citations/ref.bib exists): undefined keys, duplicates, basic formatting red flags.

  • Citation-shape hard gate (survey/deep): no adjacent citation blocks ([@a] [@b]), no duplicate keys inside one block ([@a; @a]), and per-H3 mid-sentence citation ratio >=30%.

  • Citation scope (if outline/evidence_bindings.jsonl exists): citations used per H3 should stay within the bound evidence set.

How to use the report (routing table)

Treat output/AUDIT_REPORT.md as a “what to fix next” router.

Common FAIL families -> responsible stage/skill:

  • Placeholders / leaked scaffolds

    • Fix: C2–C4 artifacts are not clean. Route to subsection-briefs / evidence-draft / writer-context-pack, then rewrite affected sections.
  • Missing overview tables (draft has <2 tables)

    • Fix: ensure table-schema + appendix-table-writer produced outline/tables_appendix.md (>=2 tables, citation-backed, no placeholders), then rerun section-merger (tables insert as an Appendix block by default).
  • Planner talk in transitions / narrator bridges

    • Fix: rerun transition-weaver (and ensure briefs include bridge_terms / contrast_hook), then re-merge.
  • Narration templates / slide navigation inside H3

    • Fix: rewrite the failing sections/S*.md via writer-selfloop (local, section-level) or subsection-polisher.
  • Evidence-policy disclaimer spam

    • Fix: keep evidence policy once in Intro/Related Work (front matter), delete repeats in H3 (use draft-polisher or local section rewrites).
  • Citation scope drift (out-of-scope bibkeys)

    • Fix: either (a) rewrite the subsection to stay in-scope, or (b) fix mapping/bindings (section-mapperevidence-binder) and regenerate packs.
  • Global unique citations too low

    • Fix: citation-diversifiercitation-injector (NO NEW FACTS), then draft-polisher.
  • Intro/Related Work too thin / too few cites

    • Fix: rewrite the corresponding sections/S<sec_id>.md front-matter file via writer-selfloop (front-matter path) using dense positioning + method paragraph.

Prevention guidance (what upstream writers should do)

If you want the auditor to PASS without a heavy polish loop:

  • Start each H3 with a content claim + thesis (avoid narration templates).
  • Use explicit contrasts and at least one evaluation anchor paragraph.
  • Embed citations per claim (avoid trailing cite dumps).
  • Put evidence-policy limitations once in the front matter, not in every H3.

Script

Quick Start

  • python .codex/skills/pipeline-auditor/scripts/run.py --help
  • python .codex/skills/pipeline-auditor/scripts/run.py --workspace workspaces/<ws>

All Options

  • --workspace <dir>
  • --unit-id <U###> (optional; for logs)
  • --inputs <semicolon-separated> (rare override; prefer defaults)
  • --outputs <semicolon-separated> (rare override; default writes output/AUDIT_REPORT.md)
  • --checkpoint <C#> (optional)

Examples

  • Run audit after global-reviewer and before LaTeX/PDF:
    • python .codex/skills/pipeline-auditor/scripts/run.py --workspace workspaces/<ws>

Troubleshooting

Issue: audit fails due to undefined citations

Fix:

  • Regenerate citations with citation-verifier and ensure citations/ref.bib contains every cited key.

Issue: audit fails due to narration-style navigation phrases

Fix:

  • Rewrite as argument bridges (content-bearing handoffs, no navigation commentary) in the failing sections/* files, then re-merge.

Issue: audit fails due to "unique citations too low"

Fix:

  • Run citation-diversifier to produce output/CITATION_BUDGET_REPORT.md.
  • Apply it via citation-injector (edits output/DRAFT.md, writes output/CITATION_INJECTION_REPORT.md).
  • Then run draft-polisherglobal-reviewer → auditor.

Expand your agent's capabilities with these related and highly-rated skills.

WILLOSCAR/research-units-pipeline-skills

thesis-compile-review

对中文毕业论文进行编译、warning 分级、模板模式检查、数据与引用复查,并把问题回写成可继续迭代的 review checklist。 **Trigger**: 毕业论文编译检查, thesis compile review, warning 分级, 终稿复查, main.pdf 检查. **Use when**: 论文已经回写到 TeX 交付层,需要确认是否真正达到“可提交”的质量,而不是只做到能编译。 **Skip if**: 还处于中间层重构阶段,`chapters/*.tex` 尚未形成稳定交付稿。 **Network**: none. **Guardrail**: 不在这里重构章节主线;如果发现结构问题,明确回退到上游修复。

377 25
Explore
WILLOSCAR/research-units-pipeline-skills

front-matter-writer

Write the survey's front matter files (Abstract, Introduction, Related Work, Discussion, Conclusion) in paper voice, with high citation density and a single evidence-policy paragraph. **Trigger**: front matter writer, introduction writer, related work writer, abstract writer, discussion writer, conclusion writer, 引言, 相关工作, 摘要, 讨论, 结论. **Use when**: you are in C5 (prose allowed) and need the paper-like shell to stop the draft reading like stitched subsections. **Skip if**: `Approve C2` is missing in `DECISIONS.md`, or `citations/ref.bib` is missing. **Network**: none. **Guardrail**: no invented facts/citations; no pipeline jargon in final prose; no repeated evidence disclaimers; only use keys present in `citations/ref.bib`.

377 25
Explore
WILLOSCAR/research-units-pipeline-skills

thesis-question-list

维护中文毕业论文的 `codex_md/question_list.md`:把本轮问题、边界、优先级、协作方案和验收口径结构化,作为整条 thesis pipeline 的控制面。 **Trigger**: 毕业论文问题清单, thesis question list, 论文修改清单, 本轮目标, 结构问题梳理, review问题整理. **Use when**: 你已经有一批材料或上一轮 review 结果,需要明确这一轮到底修什么、不修什么,并给后续重构与编译复查提供统一入口。 **Skip if**: 当前只是在做一次性局部措辞修改,且没有形成新一轮结构/证据/编译问题。 **Network**: none. **Guardrail**: 不在这里写正文;不把问题单写成长篇散文;每条问题必须可执行、可验收。

377 25
Explore
WILLOSCAR/research-units-pipeline-skills

novelty-matrix

Create a novelty/prior-work matrix comparing the submission’s contributions against related work (overlaps vs deltas). **Trigger**: novelty matrix, prior-work matrix, overlap/delta, 相关工作对比, 新颖性矩阵. **Use when**: peer review 中评估 novelty/positioning,需要把贡献与相关工作逐项对齐并写出差异点证据。 **Skip if**: 缺少 claims(先跑 `claims-extractor`)或你不打算做新颖性定位分析。 **Network**: none (retrieval of additional related work is out-of-scope unless provided). **Guardrail**: 明确 overlap 与 delta;尽量给出可追溯证据来源(来自稿件/引用/作者陈述)。

377 25
Explore
WILLOSCAR/research-units-pipeline-skills

protocol-writer

Write a systematic review protocol into `output/PROTOCOL.md` (databases, queries, inclusion/exclusion, time window, extraction fields). **Trigger**: protocol, PRISMA, systematic review, inclusion/exclusion, 检索式, 纳入排除. **Use when**: systematic review pipeline 的起点(C1),需要先锁定 protocol 再开始 screening/extraction。 **Skip if**: 不是做 systematic review(或 protocol 已经锁定且不允许修改)。 **Network**: none. **Guardrail**: protocol 必须包含可执行的检索与筛选规则;需要 HUMAN 签字后才能进入 screening。

377 25
Explore
WILLOSCAR/research-units-pipeline-skills

rubric-writer

Write a rubric-based peer review report (`output/REVIEW.md`) using extracted claims and evidence gaps (novelty/soundness/clarity/impact). **Trigger**: rubric review, referee report, peer review write-up, 审稿报告, REVIEW.md. **Use when**: peer-review pipeline 的最后阶段(C3),已有 `output/CLAIMS.md` + `output/MISSING_EVIDENCE.md`(以及可选 novelty matrix)。 **Skip if**: 上游产物未就绪(claims/evidence gaps 缺失)或你不打算输出完整审稿报告。 **Network**: none. **Guardrail**: 给可执行建议(actionable feedback),并覆盖 novelty/soundness/clarity/impact;避免泛泛而谈。

377 25
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results