willoscar/pipeline-router
Route an unbound research Goal to one Workflow or materialize its initial C0 kickoff block; use during initial binding, not for later checkpoint summaries or approval.
npx skills add https://github.com/WILLOSCAR/research-units-pipeline-skills --skill pipeline-router
Routing is a commitment: select one Workflow from the desired Artifact and
evidence method, record that choice, and expose the next human Decision.
GOAL.md, or the current user request when the Workspace is new.PIPELINE.lock.md, UNITS.csv, STATUS.md, and DECISIONS.md whenpresent.
docs/PIPELINE_TAXONOMY.md and candidate Pipeline front matter duringselection.
PIPELINE.lock.md for a newly bound Goal.DECISIONS.md.queries.md when the selected retrieval Workflow starts at C0.STATUS.md.Read the Goal and identify:
When a routing discriminator is missing, write the smallest grouped question
set to DECISIONS.md and stop at that Decision.
Completion criterion: every fact that can change the Workflow choice is known
or explicitly bounded in DECISIONS.md.
Load docs/PIPELINE_TAXONOMY.md, then inspect only the candidate Pipeline
contracts. Choose from target Artifact and evidence method rather than keyword
matching alone. Treat delivery profiles and course-report use cases as overlays
inside their existing Workflow family.
Completion criterion: exactly one executable Pipeline is selected and its
target Artifacts match the Goal.
Write PIPELINE.lock.md with:
pipeline: <pipeline path>
units_template: <template path from Pipeline front matter>
locked_at: <YYYY-MM-DD>
Initialize UNITS.csv from that template when the Workspace is new. Preserve a
valid existing lock; a route change is an explicit operator Decision followed
by reinitialization or migration, never a silent rewrite.
Completion criterion: the lock, Unit template, and Workspace projection refer
to the same Pipeline.
Materialize the C0 kickoff block and approval checkbox in DECISIONS.md. Seed
queries.md from the Goal when retrieval is part of the selected Workflow.
Later checkpoints use checkpoint-brief. Historical Workspaces whose saved
Unit still invokes pipeline-router after C0 are delegated to
checkpoint-brief with a deprecation warning; the router never approves them.
The deterministic helper may be used after selection:
uv run python .codex/skills/pipeline-router/scripts/run.py \
--workspace workspaces/<name> \
--checkpoint C0
Completion criterion: DECISIONS.md contains the C0 checkpoint and one
clear approval or answer surface; retrieval Workflows have a non-empty C0 query
seed.
Check that the locked Pipeline exists, its Unit template exists, and the active
checkpoint is represented in both STATUS.md and DECISIONS.md.
Completion criterion: the Pipeline Runner can continue from Workspace files
without making another routing inference.
docs/PIPELINE_TAXONOMY.md only while selecting or deliberately changinga Workflow.
pipelines/*.pipeline.md is the executioncontract and the taxonomy leaves context.
assets/pipeline-selection-form.md only when missing routing facts requirea human answer.
--help when C0 materialization needs debugging; thehelper records the initial route projection but does not choose one.
Take willoscar/pipeline-router 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.