--- name: "cs-syllabus" description: "/cs:syllabus — Generate curated supplementary reading list from any course syllabus. 3-Q grill-me (input format + audience + year range) + grouping checkpoint → Consensus searches per section with applied-domain weaving → .docx via bundled JS script with audience-calibrated summaries + Bloom higher-order discussion questions." --- # /cs:syllabus — Course Supplementary Reading List **Command:** `/cs:syllabus ` The `cs-syllabus` persona produces a `.docx` reading list of recent peer-reviewed research per course section. ## When to Run - Adding supplementary readings to an existing course - Updating a syllabus with current research - Checking what's recent in your field for course planning - Even casual mentions when a syllabus is attached ## Forcing Intake (3 Questions, One at a Time) | Q | Asks | Notes | |---|---|---| | Q1 | Syllabus input: file path / pasted content / image | refuses missing syllabus | | Q2 | Course audience: undergrad-intro / undergrad-advanced / grad-masters / grad-doctoral / professional / mixed | drives summary jargon + discussion-question complexity | | Q3 | Year range: 1 / 2 / 5 years | drives `year_min` on every Consensus search; default 2 | ## What You Get ``` reading_list__.docx Structure: - Title page (course name, subtitle, date) - Introduction (with Consensus app link) - Course Learning Outcomes (boxed section) - Sections (6-12, from grouping): Each section = numbered papers, each with: - Clickable hyperlinked title - Author / journal / year (italic) - Summary (plain language, audience-calibrated) - Discussion Question (Bloom higher-order, tied to learning outcome) - Footer (generation metadata) ``` ## Grouping Checkpoint (After Phase 2) After parsing the syllabus, the skill **halts** with a forcing-options prompt: ``` Proposed sections: [list with item counts]. Pick one: 1. Looks good — proceed with these sections 2. Merge sections [X] and [Y] 3. Split section [X] into two 4. Add a section for [topic] 5. Remove section [X] ``` This is the last cheap moment to correct course before search budget is consumed. **Refuses to start Phase 3 without explicit user choice.** ## Discipline - **One intake Q per turn.** Never bundle. - **Halt at grouping checkpoint.** No Phase 3 without user. - **Sequential Consensus.** 1 q/sec. - **Applied-domain weaving** — search "enzyme kinetics food processing" not just "enzyme kinetics". Boosts paper relevance dramatically. - **Audience-calibrated summaries** — undergrad-intro defines every term; grad-doctoral assumes technical fluency. - **Bloom higher-order discussion questions** — apply / analyze / evaluate. NOT recall ("what did the authors find?"). - **Source discipline** — only Consensus session results. Training knowledge labeled. - **Three-count tracking** — sent / received / cited. - **Bundled JS DOCX generator** — don't inline 300 lines of layout code. ## Quality Bars ### Summary | ✅ Good | ❌ Bad | |---|---| | "This review maps how different diets — Mediterranean, Nordic, vegetarian — reshape the types of fat molecules circulating in your blood, with implications for heart disease risk." | "This paper reviews lipidomic profiles across dietary interventions and their cardiometabolic implications." (Too jargon-heavy) | ### Discussion Question | ✅ Good | ❌ Bad | |---|---| | "If dietary fat quality can reshape your lipoprotein lipidome, what does this suggest about the biochemical basis for dietary guidelines recommending unsaturated over saturated fats?" | "What did the authors find?" (Just recall) | ## Workflow ```bash # Phase 0 intake (Q1-Q3) python ../skills/syllabus/scripts/citation_tracker.py --action start --session NAME # Phase 1 parse (PDF/DOCX/text/image-appropriate reader) # Phase 2 group + CHECKPOINT (wait for user) python ../skills/syllabus/scripts/topic_grouper.py --topics-file /tmp/topics.json # Phase 3 search (sequential Consensus 1 q/sec, applied-domain weaving) # Phase 4 write summaries + discussion questions python ../skills/syllabus/scripts/discussion_question_validator.py --questions-file /tmp/qs.json # Phase 5 generate .docx via bundled script node ../skills/syllabus/scripts/generate_reading_list.js \ --input /tmp/data.json \ --output /path/to/reading_list__.docx # Phase 6 deliver python ../skills/syllabus/scripts/citation_tracker.py --action close --session NAME ``` ## Trigger Phrases - "syllabus reading list" - "find papers for my course" - "create a reading list from this syllabus" - "recent research for my class" - "supplementary readings" - "find journal articles for these topics" - "what recent papers cover this material" - "any new research on these course topics" - "update my syllabus with recent papers" - Casual mentions when syllabus is attached ## Anti-Patterns Rejected - Parallelizing Consensus calls (rate limit) - Searching topics without applied-domain angle (poor relevance) - Padding sections with fabricated entries when Consensus thin - Generic discussion questions ("What did the authors find?") - Jargon-heavy summaries unsuitable for course audience - Skipping group-and-confirm step - Truncating Consensus URLs in hyperlinks - Inlining 300 lines of docx-generation JavaScript in skill body ## Related - Agent: [`cs-syllabus`](../agents/cs-syllabus.md) - Skill: [`syllabus`](../skills/syllabus/SKILL.md) - Source spec: `megaprompts/10-syllabus-megaprompt.md` (maintainer-local draft spec — gitignored, not in the public repo) - Siblings: `/cs:litreview`, `/cs:grants`, `/cs:patent`, `/cs:dossier`, `/cs:pulse` --- **Version:** 1.0.0 **Source:** Path-B direct conversion of `megaprompts/10-syllabus-megaprompt.md`