SKILL.md
Curriculum Designer
An expert instructional designer that helps you create customized, modern curricula with rich content suggestions and hands-on implementation support.
Platform Compatibility: Works with both Gemini CLI and Claude Code.
Phase 0: Detect Mode (New vs. Existing Materials)
Before starting, determine if the user is creating from scratch or enhancing existing materials.
For Claude Code, use AskUserQuestion:
Question: "What would you like to do?"
Options:
- Create new curriculum from scratch
- Enhance existing course materials
- Update outdated content with latest practices
- Add new delivery format to existing curriculum
Mode A: Enhancing Existing Materials
When users have existing course materials, the skill becomes an upgrade assistant.
A.1 Analyze Existing Materials
- Request the materials:
- Ask user to point to files: syllabus, slides, notes, etc. - Use Read to analyze each document
- Generate an Analysis Report:
## Course Analysis: [Course Name]
### Current Structure
- **Modules:** [count] modules identified
- **Format:** [lecture/lab/mixed]
- **Depth:** [introductory/intermediate/advanced]
### Content Inventory
| Module | Topics Covered | Last Updated | Status |
|--------|---------------|--------------|--------|
| 1. [Name] | [topics] | [date if known] | ✅ Current / ⚠️ Needs update / ❌ Outdated |
### Gaps Identified
- ❌ Missing: [topic that should be covered]
- ⚠️ Outdated: [topic using old tools/methods]
- 💡 Opportunity: [trending topic to add]
### Strengths
- ✅ [What's working well]
- ✅ [Strong coverage area]
A.2 Research Updates
For Claude Code, use WebSearch to find:
- What has changed in this field since the materials were created
- New tools, frameworks, or methodologies now standard
- Updated best practices or deprecated approaches
- Fresh case studies and examples
Present a "What's New" summary:
## What's New in [Topic] (2024-2025)
### Breaking Changes
- ⚠️ [Old approach] is now deprecated; use [new approach]
- ⚠️ [Tool] has been replaced by [new tool]
### New Additions to Consider
- 🆕 [New concept] - now considered essential
- 🆕 [New tool] - industry adoption at [X]%
- 🆕 [New methodology] - improves [outcome]
### Updated Examples
- Replace [old case study] with [new relevant example]
- Add [recent industry incident] as teachable moment
### Resources Refresh
- 📚 New recommended textbook: [title]
- 🎥 Quality video series: [name]
- 🔧 Updated tool documentation: [link context]
A.3 Propose Enhancements
For Claude Code, use AskUserQuestion with multiSelect: true:
Question: "Which enhancements would you like to apply?"
Options:
- Update outdated content with current practices
- Add new modules for emerging topics
- Refresh examples and case studies
- Add new delivery format (slides, web app, etc.)
- Enhance assessments and exercises
- Add interactive/hands-on components
A.4 Targeted Updates
For each selected enhancement:
- Show the specific changes proposed (before/after)
- Get approval before modifying
- Preserve the user's existing structure and voice
- Track changes in a
changelog.md
## Changelog: [Course Name]
### [Date] - Enhancement Session
#### Content Updates
- **Module 3:** Updated "REST APIs" section to include GraphQL comparison
- **Module 5:** Replaced jQuery examples with modern vanilla JS
#### New Additions
- **Module 7 (NEW):** "Containerization with Docker" - 3 lessons
- **Lab 4.2 (NEW):** Hands-on Kubernetes deployment exercise
#### Removed/Deprecated
- Removed references to deprecated library X
- Archived old Flash-based interactive demos
#### Delivery Additions
- Generated slide deck for Module 1-3
- Created Jupyter notebook version of Labs
Mode B: Creating New Curriculum
(This is the original flow, now labeled as Mode B)
Phase 1: Course Vision & Setup
1.1 Understand the Goal
For Claude Code, use AskUserQuestion with multiple questions:
Questions:
1. "What is the main topic or subject area?" (free text via Other)
2. "Who is your target audience?"
- Beginners (no prior knowledge)
- Intermediate (some background)
- Advanced (experienced practitioners)
- Mixed levels
3. "What course format works best?"
- University Semester (15 weeks)
- Intensive Bootcamp (4-8 weeks)
- Workshop Series (multiple sessions)
- Self-Paced Online Course
4. "What's your primary teaching philosophy?"
- Project-Based (learn by building)
- Theory-First (concepts then application)
- Problem-Based (real-world challenges)
- Hands-On Labs (guided exercises)
1.2 Research & Suggest Modern Content
For Claude Code, use WebSearch to find:
- Latest trends and developments in the field
- Popular tools, frameworks, and technologies
- Industry certifications or standards
- Highly-rated courses, books, or resources
- Recent case studies or real-world applications
Present a "Topic Landscape" summary:
## Topic Landscape: [Topic Name]
### Current Trends
- [Trend 1 with brief explanation]
- [Trend 2 with brief explanation]
### Essential Tools & Technologies
- [Tool 1] - [why it matters]
- [Tool 2] - [why it matters]
### Recommended Resources
- [Book/Course 1]
- [Book/Course 2]
### Industry Context
- [How this topic is used in practice]
1.3 Establish Output Files
curriculum.md- The main teaching plandelivery-plan.md- Technical implementation roadmapassessments.md- All assessments and rubricsresources.md- Curated list of resources
Phase 2: Curriculum Design (Per Module)
2.1 Smart Module Analysis
Present a complete Module Proposal:
## Module: [Topic Name]
**Prerequisites** (based on your audience level):
- ✅ [Concept 1] - Include as lesson
- 🔄 [Concept 2] - Quick recap
- ⏭️ [Concept 3] - Skip (already known)
**Core Concepts** (recommended coverage):
- ⭐ [Concept A] - EMPHASIZE
- 📘 [Concept B] - Cover normally
- 💡 [Concept C] - Optional deep-dive
**Suggested Lessons:**
1. Lesson Title - description
2. Lesson Title - description
**Suggested Activities:**
- 🛠️ [Hands-on Lab idea]
- 🎮 [Interactive exercise idea]
- 👥 [Group activity idea]
**Modern Additions** (from research):
- Consider adding [new tool/technique]
- Include [case study] as example
For Claude Code, use AskUserQuestion:
- Options: Approve as-is / Modify prerequisites / Modify concepts / Modify lessons / Start over
2.2 Generate Module Content
# Module X: [Title]
## Learning Objectives
By the end of this module, students will be able to:
- [Objective 1 - using Bloom's taxonomy verbs]
- [Objective 2]
## Lesson 1: [Title]
### Overview
[2-3 paragraph introduction]
### Key Concepts
1. **[Concept Name]**
- Definition: ...
- Why it matters: ...
- Example: ...
### Hands-On Exercise
**Exercise 1.1: [Title]**
- Objective: ...
- Steps: ...
- Expected outcome: ...
### Discussion Questions
1. [Question for class discussion]
Phase 3: Assessment Design
Assessments are critical for measuring learning outcomes. Design them intentionally.
3.1 Assessment Strategy
For Claude Code, use AskUserQuestion:
Question: "What assessment approaches do you want to use?"
Options (multiSelect: true):
- Quizzes (knowledge checks)
- Coding/Practical Labs (hands-on skills)
- Projects (applied learning)
- Written Assignments (analysis/reflection)
- Peer Reviews (collaborative assessment)
- Oral Presentations (communication skills)
- Portfolio (cumulative demonstration)
3.2 Assessment Templates
Generate assessments based on selection. Write all to assessments.md.
Quiz Template
# Quiz: [Module Name]
**Duration:** [X] minutes
**Total Points:** [X]
**Passing Score:** [X]%
## Section A: Multiple Choice (X points each)
### Question 1
[Question text]
- A) [Option]
- B) [Option]
- C) [Option] ✓
- D) [Option]
**Explanation:** [Why C is correct]
---
### Question 2
[Continue pattern...]
## Section B: Short Answer (X points each)
### Question 5
[Question requiring brief written response]
**Expected Answer:** [Key points to cover]
**Rubric:**
- Full credit: [criteria]
- Partial credit: [criteria]
- No credit: [criteria]
## Section C: Code Analysis (X points)
### Question 8
Given the following code:
```[language]
[code snippet]
a) What is the output? (2 pts) b) Identify the bug and fix it. (3 pts) c) What is the time complexity? (2 pts)
Answer Key: a) [answer] b) [answer with fixed code] c) [answer with explanation]
#### Lab/Practical Assessment Template
Lab Assessment: [Title]
Module: [X] Duration: [X] hours Points: [X]
Objective
[What students will build/accomplish]
Prerequisites
- [Required knowledge]
- [Required tools/setup]
Starter Code/Resources
- [Link or embed starter files]
Requirements
Part 1: [Component] (X points)
- Requirement 1.1
- Requirement 1.2
- Requirement 1.3
Part 2: [Component] (X points)
- Requirement 2.1
- Requirement 2.2
Bonus Challenge (+X points)
- [Extra credit task]
Submission
- Submit via [method]
- Include [required files]
- Due: [deadline]
Grading Rubric
| Criterion | Excellent (100%) | Good (80%) | Satisfactory (60%) | Needs Work (40%) |
|---|---|---|---|---|
| Functionality | All features work correctly | Minor issues | Major feature missing | Does not run |
| Code Quality | Clean, well-documented | Mostly clean | Some issues | Hard to read |
| Requirements | All met | Most met | Some met | Few met |
Sample Solution
[Provide or link to reference implementation]
#### Project Assessment Template
Project: [Title]
Modules Covered: [X, Y, Z] Duration: [X] weeks Total Points: [X] Team Size: [Individual / X members]
Project Overview
[Description of what students will build]
Learning Outcomes Assessed
- [LO1]: [How this project assesses it]
- [LO2]: [How this project assesses it]
Milestones
Milestone 1: [Name] (Week X) - X points
Deliverables:
- [Deliverable 1]
- [Deliverable 2]
Check-in Questions:
- [Question to verify understanding]
Milestone 2: [Name] (Week X) - X points
[Continue pattern...]
Final Submission (Week X) - X points
Deliverables:
- Working application/solution
- Documentation (README, comments)
- Reflection/writeup (500 words)
- Demo video (3-5 minutes)
Grading Rubric
Technical Implementation (40%)
| Score | Criteria |
|---|---|
| A | Exceeds requirements, elegant solution, handles edge cases |
| B | Meets all requirements, works correctly |
| C | Meets most requirements, minor bugs |
| D | Partially complete, significant issues |
| F | Does not meet minimum requirements |
Code Quality (20%)
| Score | Criteria |
|---|---|
| A | Exceptional organization, thorough documentation |
| B | Well-organized, good documentation |
| C | Adequate organization, some documentation |
| D | Disorganized, minimal documentation |
| F | No discernible structure |
Innovation & Creativity (20%)
[Similar rubric...]
Presentation & Communication (20%)
[Similar rubric...]
Academic Integrity
[Collaboration policy, citation requirements]
#### Peer Review Template
Peer Review: [Assignment Name]
Reviewer: _____________ Author: ___________ Date: _____________
Review Checklist
Functionality
- Code runs without errors
- All requirements are met
- Edge cases are handled
Code Quality
- Code is readable and well-formatted
- Variables/functions have clear names
- Comments explain complex logic
Design
- Solution is appropriate for the problem
- No unnecessary complexity
- Follows best practices discussed in class
Detailed Feedback
Strengths (What works well)
1. 2. 3.
Areas for Improvement
- [Issue]: [Specific suggestion]
- [Issue]: [Specific suggestion]
Questions for the Author
1.
Rating
Overall Quality: ☐ Excellent ☐ Good ☐ Satisfactory ☐ Needs Work
Reviewer Reflection
What did you learn from reviewing this work?
### 3.3 Assessment Calendar
Generate a timeline integrating assessments:
Assessment Calendar
| Week | Module | Assessment | Type | Weight |
|---|---|---|---|---|
| 2 | 1 | Quiz 1 | Knowledge check | 5% |
| 3 | 1-2 | Lab 1 | Practical | 10% |
| 4 | 2 | Quiz 2 | Knowledge check | 5% |
| 6 | 1-3 | Midterm Project | Applied | 20% |
| ... | ... | ... | ... | ... |
| 15 | All | Final Project | Capstone | 30% |
Grade Breakdown:
- Quizzes: 20%
- Labs: 20%
- Projects: 50%
- Participation: 10%
---
## Phase 4: Delivery & Implementation
### 4.1 Choose Delivery Format
**For Claude Code**, use `AskUserQuestion` with `multiSelect: true`:
Question: "Which delivery formats do you need?" Options:
- Interactive Web App
- Slide Decks
- Jupyter Notebooks
- LMS Package (Canvas/Moodle)
- Video Course Scripts
- Printed Worksheets/Handouts
- GitHub Repository (code + docs)
### 4.2 Delivery Templates
Based on selection, generate complete templates:
---
#### Template: Slide Deck (Reveal.js / Markdown)
title: "[Module Title]" theme: default transition: slide
[Module Title]
[Course Name]
Instructor: [Name]
Learning Objectives
By the end of this session, you will be able to:
- [Objective 1]
- [Objective 2]
- [Objective 3]
Agenda
- [Topic 1] (15 min)
- [Topic 2] (20 min)
- Hands-on Exercise (25 min)
- Wrap-up & Q&A (10 min)
[Topic 1]: [Title]
Key Concept
[Concise explanation - max 3 bullet points]
- Point 1
- Point 2
- Point 3
[Topic 1]: Visual

[Speaker notes: Explain the diagram...]
[Topic 1]: Example
```[language] // Code example with comments [code]
**What this demonstrates:** [explanation]
---
## 🛠️ Hands-on Exercise
**Task:** [What students will do]
**Time:** 15 minutes
**Instructions:**
1. [Step 1]
2. [Step 2]
3. [Step 3]
---
## Exercise: Solution
```[language]
[solution code]
Key Takeaways
✅ [Takeaway 1]
✅ [Takeaway 2]
✅ [Takeaway 3]
Next Session Preview
[Next Module Title]
We'll cover:
- [Preview topic 1]
- [Preview topic 2]
Preparation: [Any pre-work]
Questions?
[Contact info / Office hours / Discussion forum]
---
#### Template: Jupyter Notebook
Cell 1: Markdown - Title
"""
Module X: [Title]
Course: [Course Name] Duration: [X] hours Prerequisites: [List]
Learning Objectives
By completing this notebook, you will:
- [Objective 1]
- [Objective 2]
Setup
Run the cell below to import required libraries. """
Cell 2: Code - Setup
"""
Required imports
import numpy as np import pandas as pd import matplotlib.pyplot as plt
Configuration
%matplotlib inline plt.style.use('seaborn')
print("✅ Setup complete!") """
Cell 3: Markdown - Section 1
"""
1. [Topic Title]
[Explanation of the concept - 2-3 paragraphs]
Key Points:
- Point 1
- Point 2
"""
Cell 4: Code - Demonstration
"""
Demonstration: [What this shows]
[code with inline comments] """
Cell 5: Markdown - Exercise
"""
🎯 Exercise 1.1: [Title]
Task: [Description]
Instructions:
- [Step 1]
- [Step 2]
Hint: [Optional hint] """
Cell 6: Code - Exercise (student completes)
"""
YOUR CODE HERE
[Starter code or scaffolding]
Test your solution
assert [test condition], "Error message" print("✅ Exercise 1.1 passed!") """
Cell 7: Markdown - Solution (hidden by default)
""" <details> <summary>Click to reveal solution</summary>
[solution code]
Explanation: [Why this works]
</details> """
Continue pattern for remaining sections...
Final Cell: Markdown - Summary
"""
Summary
In this notebook, you learned:
| Concept | Key Takeaway |
|---|---|
| [Concept 1] | [Takeaway] |
| [Concept 2] | [Takeaway] |
Next Steps
- Complete the [assignment/quiz]
- Read [resource]
- Try the bonus challenges below
Bonus Challenges
- [Advanced challenge 1]
- [Advanced challenge 2]
"""
---
#### Template: LMS Package Structure
course-export/ ├── imsmanifest.xml # SCORM/LTI manifest ├── modules/ │ ├── module-01/ │ │ ├── overview.html # Module landing page │ │ ├── lesson-01.html # Lesson content │ │ ├── lesson-02.html │ │ ├── quiz.xml # QTI format quiz │ │ └── assets/ │ │ ├── diagram-01.png │ │ └── video-01.mp4 │ └── module-02/ │ └── ... ├── assignments/ │ ├── lab-01.html │ └── project-01.html ├── resources/ │ ├── syllabus.html │ ├── calendar.html │ └── reading-list.html └── gradebook/ └── rubrics.xml
**Canvas-specific structure:**
canvas-export/ ├── coursesettings/ │ └── canvasexport.txt ├── [module-uuid]/ │ ├── [content-uuid].html │ └── [quiz-uuid].xml └── web_resources/ └── [assets]
---
#### Template: Video Course Script
Video Script: [Lesson Title]
Module: [X] Video: [Y] of [Total] Target Duration: [X:XX]
Pre-Production
Equipment needed:
- Screen recording software
- Microphone
- [Demo environment/files]
Assets to prepare:
- Slide deck (slides X-Y)
- Code samples in [IDE]
- [Diagram/visual]
Script
[0:00-0:30] Hook & Intro
VISUAL: [Title card / Instructor on camera]
SCRIPT: "Welcome back to [Course Name]. In this video, we're going to [main topic]. By the end, you'll be able to [key outcome]."
"If you haven't already, make sure you've [prerequisite]. Let's dive in."
[0:30-3:00] Concept Explanation
VISUAL: [Slides / Diagram animation]
SCRIPT: "[Concept] is [definition]. Think of it like [analogy].
Here's why this matters: [relevance to real world].
Let me show you how this works..."
B-ROLL: [Suggested supplementary footage]
[3:00-7:00] Demonstration
VISUAL: [Screen recording - IDE/terminal]
SCRIPT: "Let's see this in action. I'm going to [describe what you're doing as you do it].
First, [step 1]... Notice how [observation].
Now [step 2]... This is where [insight]."
CALLOUTS: [Arrow pointing to X at 4:32]
[7:00-8:30] Practice Prompt
VISUAL: [Exercise slide / Split screen with instructions]
SCRIPT: "Now it's your turn. Pause the video and try [exercise].
Here's what you should do:
- [Step 1]
- [Step 2]
- [Step 3]
I'll wait... [pause 3 seconds]
Ready? Let's see the solution."
[8:30-9:30] Solution & Explanation
VISUAL: [Screen recording of solution]
SCRIPT: "Here's how I approached it: [walk through solution].
A common mistake here is [pitfall]. If you did [alternative], that also works because [explanation]."
[9:30-10:00] Wrap-up & Next Steps
VISUAL: [Summary slide / Instructor on camera]
SCRIPT: "To recap: [key takeaway 1], [key takeaway 2], and [key takeaway 3].
In the next video, we'll cover [preview]. See you there!"
END CARD: [Subscribe / Next video / Resources link]
Post-Production Notes
Editing cues:
- [Timestamp]: Add zoom effect on [element]
- [Timestamp]: Insert [graphic/animation]
- [Timestamp]: Add caption for [term]
Chapters:
- 0:00 Intro
- 0:30 What is [Concept]?
- 3:00 Demo
- 7:00 Your Turn
- 8:30 Solution
- 9:30 Wrap-up
---
#### Template: GitHub Repository Structure
course-repo/ ├── README.md # Course overview, setup instructions ├── SYLLABUS.md # Full syllabus ├── CONTRIBUTING.md # For TAs/contributors │ ├── modules/ │ ├── 01-[module-name]/ │ │ ├── README.md # Module overview │ │ ├── slides/ # Slide sources │ │ ├── notes/ # Lecture notes │ │ ├── code/ # Demo code │ │ └── exercises/ # Practice problems │ │ ├── exercise-01/ │ │ │ ├── README.md │ │ │ ├── starter/ │ │ │ └── solution/ │ │ └── exercise-02/ │ └── 02-[module-name]/ │ └── ... │ ├── labs/ │ ├── lab-01/ │ │ ├── README.md # Instructions │ │ ├── starter/ # Starter code │ │ ├── tests/ # Autograder tests │ │ └── solution/ # (private branch) │ └── lab-02/ │ ├── projects/ │ ├── project-01/ │ │ ├── README.md │ │ ├── rubric.md │ │ └── examples/ │ └── final-project/ │ ├── resources/ │ ├── cheatsheets/ │ ├── references/ │ └── tools-setup.md │ └── .github/ ├── workflows/ # CI for autograding └── ISSUE_TEMPLATE/ # For student questions
**README.md template:**
[Course Name]
[One-line description]
Quick Start
- Clone this repository
- [Setup instructions]
- Start with [first module link]
Course Structure
| Module | Topic | Duration |
|---|---|---|
| 1 | [Topic] | [X] hours |
| 2 | [Topic] | [X] hours |
| ... | ... | ... |
Prerequisites
- [Prerequisite 1]
- [Prerequisite 2]
Getting Help
- [Discussion forum link]
- [Office hours info]
- Open an issue in this repo
License
[License info]
---
### 4.3 Implementation Assistance
**For Claude Code**, use `AskUserQuestion`:
Question: "Would you like me to help implement these?" Options:
- Yes, create the full project structure
- Yes, generate content for one module first
- Yes, set up the delivery platform config
- No, the templates are enough
If implementation requested:
1. Create actual files in the project
2. Generate working code, not placeholders
3. Include clear comments and documentation
4. Provide setup/deployment instructions
---
## Pedagogical Reference
| Pattern | When to Use |
|---------|-------------|
| **Problem-First** | New complex topics - show the "why" before the "how" |
| **Theory-to-Practice** | Formal topics - definitions then applications |
| **Scaffolding** | Always - simple to complex, layer by layer |
| **Recap & Refresh** | Start of each module - connect to prior knowledge |
See `references/pedagogy.md` for detailed examples.
---
## Quick Reference: Claude Code Tools
| Step | Tool | Usage |
|------|------|-------|
| Detect mode | `AskUserQuestion` | New vs. existing materials |
| Read materials | `Read` | Analyze existing course files |
| Research updates | `WebSearch` | Find latest trends, tools |
| Gather requirements | `AskUserQuestion` | Audience, format, preferences |
| Write curriculum | `Write` / `Edit` | Generate all output files |
| Implement delivery | `Write` / `Edit` | Create project structure |
| Explore codebase | `Glob` / `Grep` | Find patterns to match |