Build a Course Syllabus
Turn a bare topic list or reading list into a teachable syllabus: a course description, a sequenced weekly schedule, measurable objectives, an assessment scheme with a rubric, the boilerplate policies every syllabus needs, and a week→lecture work-list you can feed straight into /create-lecture. The instructor owns the academic judgment; this skill structures it.
When to use
- You have a pile of topics or papers and need them ordered into a term.
- You are converting last year's syllabus to a new length, level, or modality.
- You want the schedule's weeks pre-mapped to lecture decks before you start building slides.
Not for building the slides themselves (/create-lecture), reviewing a deck's pedagogy (/pedagogy-review), or assembling the reading list from scratch (/lit-review).
Phase 0: Intake (elicit before drafting)
A syllabus is shaped almost entirely by three parameters. Resolve them first — from flags, then by asking. Do not start sequencing until all three are pinned.
- Level + audience —
--level (phd / grad / undergrad). For economics, name the sequence (first-year metrics, micro theory, macro, field course, undergrad intermediate). Level sets reading depth, proof-vs-application balance, and assessment type.
- Length + cadence —
--weeks (default 14) and --sessions-per-week (default 2). A reading seminar and a problem-set course at the same length need very different schedules.
- Material — the topic list or reading list (
$ARGUMENTS, a file path, or a .bib). If the user points at a .bib or a folder of PDFs, Glob/Read to inventory it; if topics are bare, ask for 1-2 anchor texts per topic.
Echo a short Intake Report (level, weeks, cadence, N topics / N readings, any gaps) and get confirmation before Phase 1.
Phase 1: Sequence topics into weeks
- Order by dependency, not by the reading list's order. Build a prerequisite chain — foundational tools before the topics that use them (e.g., asymptotics → GMM → applications; consumer theory → GE → welfare). Front-load what later weeks assume.
- Allocate readings to weeks. Distribute material so each week's load is realistic for the level (a PhD field week carries 2-4 papers; an undergrad week, 1 chapter + 1 application). Flag any week that is overloaded or thin.
- Place deliverables on the calendar. Problem sets after the tools they exercise; the midterm at a natural conceptual break; referee report / replication / paper proposal milestones spaced so they don't collide. Mark reading-break and no-class weeks.
- Emit the schedule table (topic → readings → deliverable per week) and get sign-off before writing objectives — re-sequencing is cheap now, expensive later.
Phase 2: Objectives + assessment
- Write measurable learning objectives. One course-level set plus per-unit objectives, each using an observable verb (derive, estimate, replicate, critique, prove) — not "understand" or "be familiar with". Tie each objective to the week(s) that deliver it.
- Design the assessment scheme. Pick instruments that fit the level (problem sets + final for a methods course; referee report + replication + paper for a field/PhD course; exams + project for undergrad). State weights summing to 100%, and check every objective is assessed by something.
- Write one rubric for the highest-stakes deliverable (the paper, project, or referee report) — criteria × levels, with point bands. Keep it short and concrete.
Phase 3: Emit the syllabus + the lecture work-list
- Assemble the syllabus document in the Output format below (skip policies if
--no-policies).
- Generate the per-week
/create-lecture work-list — one row per teaching week mapping it to a deck name, its objective(s), and its anchor reading, so the instructor can hand each row to /create-lecture in order. This is the bridge from syllabus to slides.
Output format
Write to syllabus.md (or a user-specified path):
# [Course title] — [Term, Year]
[Level · meeting cadence · units]
## Course description
[2-4 sentences: what the course is, what students leave able to do.]
## Prerequisites
[Courses / skills assumed. Be specific — "first-year metrics or equivalent".]
## Learning objectives
By the end of this course, students will be able to:
- [observable verb] … (Weeks N-M)
## Weekly schedule
| Week | Topic | Readings | Deliverable |
|------|-------|----------|-------------|
| 1 | … | … | — |
## Assessment
| Component | Weight | Maps to objectives |
|-----------|-------:|--------------------|
| … | …% | … |
### Rubric — [highest-stakes deliverable]
| Criterion | Excellent | Adequate | Weak |
|-----------|-----------|----------|------|
## Policies
Late work · AI / LLM use · academic integrity · accessibility / accommodations · attendance.
## Week → lecture work-list (hand to `/create-lecture`)
| Week | Deck name | Objective(s) | Anchor reading |
|------|-----------|--------------|----------------|
End the chat message (not the file) with a gap summary: weeks with no reading, objectives not assessed, deliverable collisions, or topics dropped for lack of time — the instructor decides how to resolve each.
Flags
--weeks — term length in teaching weeks (default 14).
--level — phd / grad / undergrad; sets reading depth and assessment type.
--sessions-per-week — meetings per week (default 2); affects per-week load.
--no-policies — omit the boilerplate Policies section (use when an institutional template supplies it).
Exit behavior
- Phase 0 halts until level, length, and material are all resolved — a forked or unattended run never guesses these. If the material is empty, ask for a topic/reading list and stop.
- Each phase gates on user sign-off (schedule before objectives, objectives before policies); re-ordering is offered cheaply at Phase 1.
- The deliverable is the syllabus file plus the work-list; the chat message always carries the gap summary, even when empty (
No gaps — every week has a reading and every objective is assessed.).
- This skill is text-only; it never compiles, renders, or builds slides.
Cross-references
What this skill does NOT do
- Does not write slide content or scaffold
.tex/.qmd decks — that is /create-lecture.
- Does not search for or vet readings — pair with
/lit-review.
- Does not grade, generate problem sets, or build answer keys.
- Does not assert institutional policy as binding — the Policies section is editable boilerplate the instructor must reconcile with their department's rules.
- Does not invent citations; every reading in the schedule comes from the material the user supplied.
1---2name: syllabus3description: Build or restructure a course syllabus from a topic list or reading list — course description + prerequisites, week-by-week schedule (topic → readings → deliverables), measurable learning objectives, an assessment scheme + rubric, standard policies (late work, AI use, academic integrity, accessibility), and a per-week work-list to hand to `/create-lecture`. Use when user says "build a syllabus", "structure my course", "turn this reading list into a schedule", "draft a course outline", "make a syllabus for Econ 7xx", or "map weeks to lectures". Economics-aware (PhD metrics/micro/macro sequences, undergrad); generic enough for any field.4---5
6# Build a Course Syllabus
7
8Turn a bare topic list or reading list into a teachable syllabus: a course description, a sequenced weekly schedule, measurable objectives, an assessment scheme with a rubric, the boilerplate policies every syllabus needs, and a week→lecture work-list you can feed straight into `/create-lecture`. The instructor owns the academic judgment; this skill structures it.
9
10## When to use
11
12- You have a pile of topics or papers and need them ordered into a term.
13- You are converting last year's syllabus to a new length, level, or modality.
14- You want the schedule's weeks pre-mapped to lecture decks before you start building slides.
15
16Not for building the slides themselves (`/create-lecture`), reviewing a deck's pedagogy (`/pedagogy-review`), or assembling the reading list from scratch (`/lit-review`).
17
18## Phase 0: Intake (elicit before drafting)
19
20A syllabus is shaped almost entirely by three parameters. Resolve them first — from flags, then by asking. Do **not** start sequencing until all three are pinned.
21
221. **Level + audience** — `--level` (`phd` / `grad` / `undergrad`). For economics, name the sequence (first-year metrics, micro theory, macro, field course, undergrad intermediate). Level sets reading depth, proof-vs-application balance, and assessment type.
232. **Length + cadence** — `--weeks` (default 14) and `--sessions-per-week` (default 2). A reading seminar and a problem-set course at the same length need very different schedules.
243. **Material** — the topic list or reading list (`$ARGUMENTS`, a file path, or a `.bib`). If the user points at a `.bib` or a folder of PDFs, `Glob`/`Read` to inventory it; if topics are bare, ask for 1-2 anchor texts per topic.
25
26Echo a short **Intake Report** (level, weeks, cadence, N topics / N readings, any gaps) and get confirmation before Phase 1.
27
28## Phase 1: Sequence topics into weeks
29
301. **Order by dependency, not by the reading list's order.** Build a prerequisite chain — foundational tools before the topics that use them (e.g., asymptotics → GMM → applications; consumer theory → GE → welfare). Front-load what later weeks assume.
312. **Allocate readings to weeks.** Distribute material so each week's load is realistic for the level (a PhD field week carries 2-4 papers; an undergrad week, 1 chapter + 1 application). Flag any week that is overloaded or thin.
323. **Place deliverables on the calendar.** Problem sets after the tools they exercise; the midterm at a natural conceptual break; referee report / replication / paper proposal milestones spaced so they don't collide. Mark reading-break and no-class weeks.
334. **Emit the schedule table** (topic → readings → deliverable per week) and get sign-off before writing objectives — re-sequencing is cheap now, expensive later.
34
35## Phase 2: Objectives + assessment
36
371. **Write measurable learning objectives.** One course-level set plus per-unit objectives, each using an observable verb (derive, estimate, replicate, critique, prove) — not "understand" or "be familiar with". Tie each objective to the week(s) that deliver it.
382. **Design the assessment scheme.** Pick instruments that fit the level (problem sets + final for a methods course; referee report + replication + paper for a field/PhD course; exams + project for undergrad). State weights summing to 100%, and check every objective is assessed by something.
393. **Write one rubric** for the highest-stakes deliverable (the paper, project, or referee report) — criteria × levels, with point bands. Keep it short and concrete.
40
41## Phase 3: Emit the syllabus + the lecture work-list
42
431. **Assemble the syllabus document** in the Output format below (skip policies if `--no-policies`).
442. **Generate the per-week `/create-lecture` work-list** — one row per teaching week mapping it to a deck name, its objective(s), and its anchor reading, so the instructor can hand each row to `/create-lecture` in order. This is the bridge from syllabus to slides.
45
46## Output format
47
48Write to `syllabus.md` (or a user-specified path):
49
50```markdown
51# [Course title] — [Term, Year]
52[Level · meeting cadence · units]
53
54## Course description
55[2-4 sentences: what the course is, what students leave able to do.]
56
57## Prerequisites
58[Courses / skills assumed. Be specific — "first-year metrics or equivalent".]
59
60## Learning objectives
61By the end of this course, students will be able to:
62- [observable verb] … (Weeks N-M)
63
64## Weekly schedule
65| Week | Topic | Readings | Deliverable |
66|------|-------|----------|-------------|
67| 1 | … | … | — |
68
69## Assessment
70| Component | Weight | Maps to objectives |
71|-----------|-------:|--------------------|
72| … | …% | … |
73
74### Rubric — [highest-stakes deliverable]
75| Criterion | Excellent | Adequate | Weak |
76|-----------|-----------|----------|------|
77
78## Policies
79Late work · AI / LLM use · academic integrity · accessibility / accommodations · attendance.
80
81## Week → lecture work-list (hand to `/create-lecture`)
82| Week | Deck name | Objective(s) | Anchor reading |
83|------|-----------|--------------|----------------|
84```
85
86End the chat message (not the file) with a **gap summary**: weeks with no reading, objectives not assessed, deliverable collisions, or topics dropped for lack of time — the instructor decides how to resolve each.
87
88## Flags
89
90- `--weeks` — term length in teaching weeks (default 14).
91- `--level` — `phd` / `grad` / `undergrad`; sets reading depth and assessment type.
92- `--sessions-per-week` — meetings per week (default 2); affects per-week load.
93- `--no-policies` — omit the boilerplate Policies section (use when an institutional template supplies it).
94
95## Exit behavior
96
97- Phase 0 halts until level, length, and material are all resolved — a forked or unattended run never guesses these. If the material is empty, ask for a topic/reading list and stop.
98- Each phase gates on user sign-off (schedule before objectives, objectives before policies); re-ordering is offered cheaply at Phase 1.
99- The deliverable is the syllabus file plus the work-list; the chat message always carries the gap summary, even when empty (`No gaps — every week has a reading and every objective is assessed.`).
100- This skill is text-only; it never compiles, renders, or builds slides.
101
102## Cross-references
103
104- `/create-lecture` ([`.claude/skills/create-lecture/SKILL.md`](../create-lecture/SKILL.md)) — the natural next step; feed it the work-list rows one week at a time.
105- `/lit-review` ([`.claude/skills/lit-review/SKILL.md`](../lit-review/SKILL.md)) — build or extend the reading list *before* sequencing.
106- `/interview-me` ([`.claude/skills/interview-me/SKILL.md`](../interview-me/SKILL.md)) — if the course goals are still fuzzy, formalize them first.
107- `/pedagogy-review` ([`.claude/skills/pedagogy-review/SKILL.md`](../pedagogy-review/SKILL.md)) — review narrative/pacing once decks exist; the syllabus arc is the input it checks against.
108- Authoring conventions: [`templates/skill-template.md`](../../../templates/skill-template.md).
109
110## What this skill does NOT do
111
112- Does not write slide content or scaffold `.tex`/`.qmd` decks — that is `/create-lecture`.
113- Does not search for or vet readings — pair with `/lit-review`.
114- Does not grade, generate problem sets, or build answer keys.
115- Does not assert institutional policy as binding — the Policies section is editable boilerplate the instructor must reconcile with their department's rules.
116- Does not invent citations; every reading in the schedule comes from the material the user supplied.