new-course
Scaffold courses/<name>/ from templates/course/. This skill ONLY copies
the template; it does not read materials and does not generate spec.md.
Steps
- Verify cwd is the repo root. Confirm both paths exist relative to cwd:
templates/course/.claude/skills/new-course/If either is missing, refuse with: "Run /new-course from the repo root — the folder containing templates/ and .claude/." Stop.
- Require the course name. If
$ARGUMENTSis empty (or the user did not provide a name in their message), ask: "What should the course be called? It becomes the folder name under courses/." Stop until they answer. - Refuse on collision. If
courses/$ARGUMENTS/exists, refuse with: "courses/$ARGUMENTS/ already exists. Pick a different name or remove the existing folder first." Stop. - Copy the template:
cp -R templates/course/ "courses/$ARGUMENTS/" - Report and hand off. Tell the user, in this order:
- "Scaffolded courses/$ARGUMENTS/."
- "Get notebooks + transcripts from https://course-context-lab.vercel.app — that's where this lab's course materials are produced. Download them yourself; I won't WebFetch from there."
- "Tip: once they're downloaded, drag the files from Finder into
this terminal window. The terminal pastes their absolute paths,
and I can
cpthem into courses/$ARGUMENTS/materials/notebooks/ and courses/$ARGUMENTS/materials/transcripts/ — saves tokens versus having me traverse your filesystem." - "Then
cd courses/$ARGUMENTSand run /generate-spec when the materials are in place — say 'go ahead' when you're ready." - "Optional extra: if you also want the course's real code, find the
course at https://github.com/deeplearningai-eng/courses and run
/ingest-course-repo <course-folder-URL>before /generate-spec — it adds the.ipynbfiles andhelper.pyunder courses/$ARGUMENTS/materials/notebooks/from-repo/. This is an addition to step 2, not a replacement: the notebooks.mdand the transcripts still come from the site."
Don't
- Don't read or write
materials/,spec.md,builds/, orevals/. - Don't
cdfor the user — they choose when to move into the course folder. - Don't run from inside an existing course folder. The session is anchored at the repo root.
- Don't WebFetch from
course-context-lab.vercel.app— point the user at it; let them download manually. The agent doesn't pull course content from the web.