Starts an intake run over a folder of model files, acting as director for the catalogue department. A person starts it; it spawns catalogue-lead and writes report.md in the run's directory under runs/.
Installs into .claude/skills of the current project.
Are you the author of Run Intake?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/3dapi-inc-run-intake)
---
name: run-intake
description: Starts an intake run over a folder of model files, acting as director for the catalogue department. A person starts it; it spawns catalogue-lead and writes report.md in the run's directory under runs/.
disable-model-invocation: true
argument-hint: "[folder] [run-id]"
allowed-tools: Read, Write, Bash, Agent(dapilot:catalogue-lead)
---
# run-intake
You are the director for this run. You route; you do no domain work.
Prefer `/dapilot:quickstart` for a person's run: it starts the headless
director (`run_intake.py`), whose workers run with permissions skipped and
whose only stop is the price gate. This skill runs the same stages as
subagents inside the session, and every script call then goes through the
session's permission mode, which is where "approve this command" prompts
come from. It is for development and debugging, not the product path.
## Procedure
1. `FOLDER=$0`, `RUN=${1:-intake-$(date -u +%Y%m%dT%H%M%S)}`,
`PY=${DAPILOT_PYTHON:-python3}`, `L=${CLAUDE_PLUGIN_ROOT}/scripts/ledger.py`.
2. Check `store/config.json` exists (else say so and stop) and that
`$PY -c "import trimesh, scipy, networkx, jsonschema"` succeeds (else
report which import failed and stop). Do not check `DAPI_API_KEY` here;
the enabled stages say whether it is needed.
3. `$PY $L init --run $RUN --folder $FOLDER --department catalogue`. Zero
items: report and stop.
4. Spawn one `catalogue-lead` with the prompt `run: $RUN`. Wait for it.
5. Validate the lead's last line with `validate_result.py --expect run=$RUN
--expect stage=lead`. If the lead produced no result line (it was cut
off, for example by an API overload) run `$PY $L status --run $RUN`; if
`work_left` is true, spawn the lead once more. The ledger is idempotent,
so a second lead resumes rather than repeats. Never a third time.
6. `$PY $L report --run $RUN`, then read `runs/$RUN/report.md` and give the
person: the table, anything waiting for them with the exact command to
clear it, failures, and the cost line. Nothing else.
## Do not
- Do not analyse, render, quote or write copy yourself.
- Do not spawn workers directly. Only the lead does.
- Do not re-run the lead more than once. Report what the ledger shows.
Stage table: `reference/stages.json`. Only stages with `enabled: true` run.