intake
Step 1 of the content pipeline. Use when a raw filmed clip needs to enter the system — the user drops a camera file and wants a job started, says "start a new project with this clip", or "rough cut th
SKILL.md.claude/skills/intake/SKILL.md
GitHubIntake
The only job of this skill is: get one raw file safely into a properly named project folder. Nothing else touches picture or sound yet.
1. Name the job
Job names are kebab-case titles about the content (why-your-standups-suck),
never the camera filename (C0043.MP4). If the user gave you a filename
and no title, look at the footage or ask for a one-line description and
derive a short kebab-case title from it — don't just slugify the filename.
2. Scaffold the folder
scripts/new-project.sh <job-name>
This creates projects/<job-name>/ with raw/ audio/ assets/ broll/ outputs/ hf-graphics/ transcript/ .cache/, drops in finalize.sh and
prune.sh (generated from lib/templates/, already executable), an
empty transcript/corrections.json, and hf-graphics/PROJECT.md (the
resume doc for the graphics build — read this at the start of every
future session touching this job).
It refuses to run if the folder already exists, and warns (but doesn't block) if the name still looks like a camera filename.
3. Copy the raw file in
COPY, never move. The original file the user filmed stays wherever
it already lives; raw/ is this pipeline's own copy.
cp "<source file>" "projects/<job-name>/raw/"
If there's more than one file for this job (multiple angles, a second
take), only the primary take goes in raw/ — everything else (extra
angles, cutaway footage) goes in broll/. The rough-cut skill expects
exactly one file in raw/.
Verify the copy before moving on:
ffprobe -v error -show_entries format=duration,size -of default=noprint_wrappers=1 "projects/<job-name>/raw/<file>"
4. Hand off
Intake is done. Move straight to /rough-cut — that's the "rough cut
this" entry point and the only slow step (transcription) in the whole
default path.