Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Systematic approaches to curriculum design using backward design and alignment
.claude/skills/brycewang-stanford-curriculum-design-guide/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | -12% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 15% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 13% | 0% |
| case-13 | ✗→✓ | ▲ Improved | -8% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 65% | 0% |
A structured skill for designing research-informed curricula using backward design, constructive alignment, and competency-based frameworks. Applicable to higher education course design, training program development, and educational research.
Understanding by Design (Wiggins & McTighe, 2005) reverses the traditional content-first approach:
Define what students should know, understand, and be able to do:
yamlcourse: "Introduction to Research Methods" big_ideas: - "Research is a systematic process of inquiry" - "Methodology must align with research questions" essential_questions: - "How do we know what we know?" - "What makes evidence credible?" - "When should we use qualitative vs. quantitative methods?" learning_outcomes: - "Formulate testable research questions (Apply)" - "Select appropriate research designs for given questions (Evaluate)" - "Critically appraise published research methodology (Analyze)" - "Design and defend a research proposal (Create)"
Design assessments before planning instruction:
python# Assessment blueprint generator def create_assessment_blueprint(outcomes: list[str], bloom_levels: list[str], weights: list[float]) -> dict: """ Generate an assessment blueprint mapping outcomes to assessment types and weights. """ assessment_types = { 'Remember': 'quiz', 'Understand': 'reflection_paper', 'Apply': 'problem_set', 'Analyze': 'case_study', 'Evaluate': 'peer_review', 'Create': 'research_proposal' } blueprint = [] for outcome, level, weight in zip(outcomes, bloom_levels, weights): blueprint.append({ 'outcome': outcome, 'bloom_level': level, 'assessment_type': assessment_types.get(level, 'portfolio'), 'weight_pct': weight * 100 }) return {'blueprint': blueprint, 'total_weight': sum(weights) * 100} outcomes = [ "Formulate research questions", "Select research designs", "Appraise methodology", "Design research proposal" ] levels = ['Apply', 'Evaluate', 'Analyze', 'Create'] weights = [0.15, 0.20, 0.25, 0.40] print(create_assessment_blueprint(outcomes, levels, weights))
Sequence activities that build toward assessment readiness. Use the WHERETO framework:
Biggs' Constructive Alignment (1996) ensures coherence between intended learning outcomes (ILOs), teaching/learning activities (TLAs), and assessment tasks (ATs):
ILO: "Students will analyze case studies using SWOT framework"
|
+--> TLA: Workshop where students collaboratively analyze
| a real company case in small groups
|
+--> AT: Individual case analysis report (1500 words)
assessed with rubric mapping to ILO verbsMisalignment is the most common curriculum design failure. Audit each ILO to verify it has at least one matching TLA and one matching AT.
For programs with multiple courses, create a curriculum map:
Competency | Course 1 | Course 2 | Course 3 | Course 4
------------------------|----------|----------|----------|--------
Research question design| I | D | M | A
Literature review | I | D | D | M
Data collection | - | I | D | M
Statistical analysis | - | I | D | A
Academic writing | I | D | D | A
Legend: I = Introduced, D = Developed, M = Mastered, A = AppliedEnsure every competency reaches at least "Mastered" level by program completion, and identify gaps where competencies are introduced but never developed further.
Validate curriculum designs through:
Document all revisions in a curriculum changelog to maintain institutional memory and support accreditation reporting.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 49,380 | 42,617 | -14% | 1 | 1 | 0% | 8,267 | 6,012 | -27% | 0 | 0 | — |
case-02 | fail→pass | 35,362 | 24,836 | -30% | 1 | 1 | 0% | 6,053 | 5,349 | -12% | 0 | 0 | — |
case-03 | fail→pass | 39,316 | 26,836 | -32% | 1 | 1 | 0% | 5,331 | 6,104 | +15% | 0 | 0 | — |
case-04 | pass→pass | 17,134 | 18,232 | +6% | 1 | 1 | 0% | 3,179 | 3,773 | +19% | 0 | 0 | — |
case-05 | pass→pass | 17,243 | 13,636 | -21% | 1 | 1 | 0% | 2,999 | 3,162 | +5% | 0 | 0 | — |
case-06 | pass→pass | 5,735 | 7,743 | +35% | 1 | 1 | 0% | 895 | 2,484 | +178% | 0 | 0 | — |
case-07 | fail→fail | 25,970 | 35,450 | +37% | 1 | 1 | 0% | 4,227 | 4,976 | +18% | 0 | 0 | — |
case-08 | fail→fail | 15,036 | 16,964 | +13% | 1 | 1 | 0% | 2,256 | 3,649 | +62% | 0 | 0 | — |
case-09 | fail→pass | 11,126 | 3,275 | -71% | 1 | 1 | 0% | 1,611 | 1,821 | +13% | 0 | 0 | — |
case-10 | fail→fail | 18,302 | 15,166 | -17% | 1 | 1 | 0% | 2,917 | 3,912 | +34% | 0 | 0 | — |
case-11 | pass→pass | 11,649 | 32,005 | +175% | 1 | 1 | 0% | 1,850 | 3,058 | +65% | 0 | 0 | — |
case-12 | pass→pass | 11,119 | 9,846 | -11% | 1 | 1 | 0% | 1,967 | 2,781 | +41% | 0 | 0 | — |
case-13 | fail→pass | 20,492 | 11,181 | -45% | 1 | 1 | 0% | 3,157 | 2,901 | -8% | 0 | 0 | — |
case-14 | fail→pass | 19,216 | 21,112 | +10% | 1 | 1 | 0% | 2,821 | 4,667 | +65% | 0 | 0 | — |
case-15 | pass→fail | 20,953 | 27,362 | +31% | 1 | 1 | 0% | 2,847 | 5,613 | +97% | 0 | 0 | — |
case-16 | fail→fail | 16,602 | 19,941 | +20% | 1 | 1 | 0% | 2,337 | 3,997 | +71% | 0 | 0 | — |
case-17 | fail→fail | 39,182 | 12,621 | -68% | 1 | 1 | 0% | 3,776 | 3,535 | -6% | 0 | 0 | — |
case-18 | pass→pass | 17,449 | 21,668 | +24% | 1 | 1 | 0% | 2,502 | 4,378 | +75% | 0 | 0 | — |
case-19 | pass→pass | 17,979 | 18,937 | +5% | 1 | 1 | 0% | 2,713 | 3,754 | +38% | 0 | 0 | — |
case-20 | fail→fail | 13,691 | 11,364 | -17% | 1 | 1 | 0% | 2,104 | 2,989 | +42% | 0 | 0 | — |
case-21 | pass→pass | 11,761 | 12,288 | +4% | 1 | 1 | 0% | 1,893 | 2,882 | +52% | 0 | 0 | — |
case-22 | pass→pass | 10,184 | 8,404 | -17% | 1 | 1 | 0% | 1,627 | 2,521 | +55% | 0 | 0 | — |
case-23 | fail→pass | 13,120 | 8,240 | -37% | 1 | 1 | 0% | 2,136 | 2,420 | +13% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +22 percentage points is the difference between those two pass rates over the 23 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.