Agent skill
pipeline-router
Select the most appropriate pipeline for a user goal, lock it in `PIPELINE.lock.md`, and route checkpoint questions into `DECISIONS.md`. **Trigger**: pipeline router, choose pipeline, workflow selection, PIPELINE.lock.md, 选择流程. **Use when**: 用户目标/交付物不清晰,需要在 snapshot/survey/tutorial/systematic-review/peer-review/idea-brainstorm 中选一个并设置最小 HITL 问题集。 **Skip if**: pipeline 已锁定(`PIPELINE.lock.md` 存在)且所需问题已回答/签字完成。 **Network**: none. **Guardrail**: 尽量一次性提问;信息不足就写 `DECISIONS.md` 并停下等待。
Install this agent skill to your Project
npx add-skill https://github.com/WILLOSCAR/research-units-pipeline-skills/tree/main/.codex/skills/pipeline-router
SKILL.md
Pipeline Router
“Routing” usually means two different things:
- Pipeline selection + lock: choose a single pipeline and write
PIPELINE.lock.md. - Checkpoint routing: keep the run auditable by drafting/updating checkpoint blocks in
DECISIONS.md(and, forC0, seedingqueries.mdfromGOAL.md).
This skill supports both, but keeps the semantic choice LLM-first and the repetitive checkpoint scaffolding scriptable.
Inputs
Workspace context (when available):
GOAL.mdSTATUS.mdDECISIONS.mdPIPELINE.lock.md
Optional template:
assets/pipeline-selection-form.md
Outputs
PIPELINE.lock.md(Mode A; selection + lock)- Updates to
DECISIONS.md(all modes; checkpoint blocks + approvals checklist) queries.md(best-effort forC0; seeded fromGOAL.md)- Optional: updates to
STATUS.md
Decision tree (selection)
User goal → choose:
- “survey / 综述 / 调研” →
pipelines/arxiv-survey.pipeline.md - “survey + PDF / LaTeX / 可编译” →
pipelines/arxiv-survey-latex.pipeline.md - “tutorial / 教程” →
pipelines/tutorial.pipeline.md - “systematic review / PRISMA / 系统综述” →
pipelines/systematic-review.pipeline.md - “peer review / 审稿” →
pipelines/peer-review.pipeline.md - “idea / ideation / brainstorm / 找 idea / 选题 / 点子” →
pipelines/idea-brainstorm.pipeline.md - “snapshot / 速览” →
pipelines/lit-snapshot.pipeline.md
Workflow
Mode A — selection + lock (LLM-first)
- Read the goal from
GOAL.md(or the user message). - If key details are missing, use
assets/pipeline-selection-form.mdto draft a concise question list intoDECISIONS.mdand stop. - Select exactly one pipeline under
pipelines/*.pipeline.md. - Write
PIPELINE.lock.mdwith:pipeline: <path>units_template: <path from pipeline front matter>locked_at: <YYYY-MM-DD>
- Update
STATUS.md(“Current pipeline” + checkpoint).
Mode B — checkpoint blocks (script helper)
Use the helper to keep DECISIONS.md in sync with checkpoints:
- Kickoff questions + seed queries (C0):
python .codex/skills/pipeline-router/scripts/run.py --workspace <ws> --checkpoint C0
- Scope/outline approval summary (C2):
python .codex/skills/pipeline-router/scripts/run.py --workspace <ws> --checkpoint C2
- Other checkpoints:
python .codex/skills/pipeline-router/scripts/run.py --workspace <ws> --checkpoint C1
Quality checklist
-
DECISIONS.mdhas a checkpoint block for the activeC*. - Approvals checklist exists and includes
Approve C*checkboxes. - If selection was needed,
PIPELINE.lock.mdpoints to exactly one pipeline file. - If the run is retrieval-based,
queries.mdis non-empty afterC0seeding.
Side effects
- Allowed: create/update
PIPELINE.lock.md; editSTATUS.md; append/updateDECISIONS.md; seedqueries.md. - Not allowed: modify files under
.codex/skills/assets/templates.
Script
Quick Start
python .codex/skills/pipeline-router/scripts/run.py --helppython .codex/skills/pipeline-router/scripts/run.py --workspace <workspace_dir> --checkpoint C0
All Options
--checkpoint <C0|C1|C2|...>: which checkpoint block to draft/update (unknown checkpoints get a generic template)
Examples
- Kickoff questions + seed queries:
python .codex/skills/pipeline-router/scripts/run.py --workspace <ws> --checkpoint C0
- Generic protocol approval block (systematic review C1):
python .codex/skills/pipeline-router/scripts/run.py --workspace <ws> --checkpoint C1
- Scope/outline approval summary:
python .codex/skills/pipeline-router/scripts/run.py --workspace <ws> --checkpoint C2
Notes
python scripts/pipeline.py kickoff|initwritesPIPELINE.lock.mdand then (best-effort) runs this script forC0.- The script reads
PIPELINE.lock.md(if present) to display the pipeline in the kickoff block; it does not choose the pipeline.
Troubleshooting
Issue: PIPELINE.lock.md points to one pipeline but UNITS.csv looks like another
Cause:
- Workspace was initialized from one pipeline and later re-pointed without updating
UNITS.csv.
Fix:
- Re-run
python scripts/pipeline.py init --workspace <ws> --pipeline <name> --overwrite-units, or copy the correcttemplates/UNITS.*.csvintoUNITS.csv.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
thesis-compile-review
对中文毕业论文进行编译、warning 分级、模板模式检查、数据与引用复查,并把问题回写成可继续迭代的 review checklist。 **Trigger**: 毕业论文编译检查, thesis compile review, warning 分级, 终稿复查, main.pdf 检查. **Use when**: 论文已经回写到 TeX 交付层,需要确认是否真正达到“可提交”的质量,而不是只做到能编译。 **Skip if**: 还处于中间层重构阶段,`chapters/*.tex` 尚未形成稳定交付稿。 **Network**: none. **Guardrail**: 不在这里重构章节主线;如果发现结构问题,明确回退到上游修复。
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`.
thesis-question-list
维护中文毕业论文的 `codex_md/question_list.md`:把本轮问题、边界、优先级、协作方案和验收口径结构化,作为整条 thesis pipeline 的控制面。 **Trigger**: 毕业论文问题清单, thesis question list, 论文修改清单, 本轮目标, 结构问题梳理, review问题整理. **Use when**: 你已经有一批材料或上一轮 review 结果,需要明确这一轮到底修什么、不修什么,并给后续重构与编译复查提供统一入口。 **Skip if**: 当前只是在做一次性局部措辞修改,且没有形成新一轮结构/证据/编译问题。 **Network**: none. **Guardrail**: 不在这里写正文;不把问题单写成长篇散文;每条问题必须可执行、可验收。
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;尽量给出可追溯证据来源(来自稿件/引用/作者陈述)。
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。
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;避免泛泛而谈。
Didn't find tool you were looking for?