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, for C0, seeding queries.md from GOAL.md).

This skill supports both, but keeps the semantic choice LLM-first and the repetitive checkpoint scaffolding scriptable.

Inputs

Workspace context (when available):

  • GOAL.md
  • STATUS.md
  • DECISIONS.md
  • PIPELINE.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 for C0; seeded from GOAL.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-finder.pipeline.md
  • “snapshot / 速览” → pipelines/lit-snapshot.pipeline.md

Workflow

Mode A — selection + lock (LLM-first)

  1. Read the goal from GOAL.md (or the user message).
  2. If key details are missing, use assets/pipeline-selection-form.md to draft a concise question list into DECISIONS.md and stop.
  3. Select exactly one pipeline under pipelines/*.pipeline.md.
  4. Write PIPELINE.lock.md with:
    • pipeline: <path>
    • units_template: <path from pipeline front matter>
    • locked_at: <YYYY-MM-DD>
  5. 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.md has a checkpoint block for the active C*.
  • Approvals checklist exists and includes Approve C* checkboxes.
  • If selection was needed, PIPELINE.lock.md points to exactly one pipeline file.
  • If the run is retrieval-based, queries.md is non-empty after C0 seeding.

Side effects

  • Allowed: create/update PIPELINE.lock.md; edit STATUS.md; append/update DECISIONS.md; seed queries.md.
  • Not allowed: modify files under .codex/skills/ assets/templates.

Script

Quick Start

  • python .codex/skills/pipeline-router/scripts/run.py --help
  • python .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|init writes PIPELINE.lock.md and then (best-effort) runs this script for C0.
  • 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 correct templates/UNITS.*.csv into UNITS.csv.
Weekly Installs
26
GitHub Stars
301
First Seen
Jan 23, 2026
Installed on
claude-code22
gemini-cli21
cursor19
opencode19
codex19
antigravity16