course-generator

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Course Generator

课程生成器

Convert course outlines into complete intelligent textbook courses.
将课程大纲转换为完整的智能教材课程。

Prerequisites

前置要求

Read the teaching philosophy context before generating any content:
  • /Users/vishal/admin/teaching-philosophy-context.md
This provides the pedagogical principles that guide all content generation.
在生成任何内容之前,请先阅读教学理念文档:
  • /Users/vishal/admin/teaching-philosophy-context.md
该文档提供了指导所有内容生成的教学原则。

Workflow

工作流程

Phase 0: Customization Questions

阶段0:自定义问题

Before generating, ask these questions to customize the output:
1. TARGET AUDIENCE
   - Who is this course for? (students, professionals, self-learners)
   - What's their background/prerequisite knowledge?
   - Age/education level? (high school, college, graduate, professional)

2. FORMAT & DELIVERY
   - Self-paced online textbook? Live cohort? Hybrid?
   - Approximate total hours for completion?
   - Any specific platform constraints? (Canvas, MkDocs, other)

3. DEPTH & SCOPE
   - Full course or condensed version?
   - Which topics to emphasize or skip?
   - Include hands-on projects? What tools available?

4. ASSESSMENT STYLE
   - Quiz-heavy or project-based?
   - Include peer review components?
   - Public presentation/portfolio requirements?
Use AskUserQuestion tool with these as options, or gather through conversation.
生成之前,请询问以下问题以定制输出内容:
1. 目标受众
   - 本课程面向哪些人群?(学生、专业人士、自学者)
   - 他们的背景/前置知识是什么?
   - 年龄/教育水平?(高中、大学、研究生、专业人士)

2. 格式与交付方式
   - 自进度在线教材?直播 cohort?混合模式?
   - 完成课程的大致总时长?
   - 是否有特定平台限制?(Canvas、MkDocs、其他)

3. 深度与范围
   - 完整课程还是精简版本?
   - 需要重点强调或跳过哪些主题?
   - 是否包含实操项目?可用哪些工具?

4. 评估风格
   - 侧重测试题还是项目式评估?
   - 是否包含同行评审环节?
   - 是否要求公开演示/作品集?
使用AskUserQuestion工具,将上述内容作为选项,或通过对话收集信息。

Phase 1: Parse & Analyze

阶段1:解析与分析

URL Parsing Strategy

URL解析策略

For simple/static pages (documentation sites, GitHub, simple HTML):
Use WebFetch to retrieve content
For JS-heavy pages (Maven, Coursera, Udemy, course platforms):
Use Chrome browser automation:
1. mcp__claude-in-chrome__tabs_context_mcp (get/create tab)
2. mcp__claude-in-chrome__navigate to URL
3. mcp__claude-in-chrome__computer action=wait duration=3
4. mcp__claude-in-chrome__read_page to get accessibility tree
5. Click "expand" buttons for syllabus/curriculum sections
6. mcp__claude-in-chrome__get_page_text or screenshot as needed
针对简单/静态页面(文档站点、GitHub、简单HTML):
使用WebFetch获取内容
针对JS渲染页面(Maven、Coursera、Udemy、课程平台):
使用Chrome浏览器自动化:
1. mcp__claude-in-chrome__tabs_context_mcp(获取/创建标签页)
2. mcp__claude-in-chrome__navigate to URL
3. mcp__claude-in-chrome__computer action=wait duration=3
4. mcp__claude-in-chrome__read_page 获取无障碍树
5. 点击“展开”按钮以查看教学大纲/课程章节部分
6. 根据需要使用mcp__claude-in-chrome__get_page_text或截图

Extract Key Elements

提取关键元素

  • Course title and description
  • Target audience and prerequisites
  • Learning objectives (if stated)
  • Topic list or module structure (expand collapsed sections!)
  • Any existing assessments or projects
  • 课程标题与描述
  • 目标受众与前置要求
  • 学习目标(若有说明)
  • 主题列表或模块结构(展开折叠的章节!)
  • 任何已有的评估或项目

Identify Course Level

确定课程级别

LevelGlossary/ChapterMicroSim Complexity
Junior high~10 termsSimple, single-parameter
Senior high~15 termsModerate, 2-3 parameters
College~20 termsFull treatment
Graduate~25 termsResearch connections

级别术语表/章节数量MicroSim复杂度
初中~10个术语简单,单参数
高中~15个术语中等,2-3个参数
大学~20个术语完整内容
研究生~25个术语关联研究内容

Parallel Subagent Execution

并行Subagent执行

Cost optimization: Use haiku for structured/repetitive tasks, sonnet for creative/complex tasks.
成本优化:使用haiku模型处理结构化/重复性任务,使用sonnet模型处理创意/复杂任务。

Phase 2-5: Launch Subagents in Parallel

阶段2-5:并行启动Subagent

After Phase 1 parsing and user approval of chapter structure, launch these subagents in parallel using a single message with multiple Task tool calls:
Task(subagent_type="general-purpose", model="haiku", prompt="[learning graph task]")
Task(subagent_type="general-purpose", model="haiku", prompt="[glossary task]")
Task(subagent_type="general-purpose", model="haiku", prompt="[quiz task]")
Task(subagent_type="general-purpose", model="sonnet", prompt="[chapter content task]")
Task(subagent_type="general-purpose", model="sonnet", prompt="[microsim spec task]")
完成阶段1的解析并获得用户对章节结构的批准后,通过包含多个Task工具调用的单条消息并行启动以下Subagent:
Task(subagent_type="general-purpose", model="haiku", prompt="[learning graph task]")
Task(subagent_type="general-purpose", model="haiku", prompt="[glossary task]")
Task(subagent_type="general-purpose", model="haiku", prompt="[quiz task]")
Task(subagent_type="general-purpose", model="sonnet", prompt="[chapter content task]")
Task(subagent_type="general-purpose", model="sonnet", prompt="[microsim spec task]")

Subagent Task Assignments

Subagent任务分配

Learning Graph Agent (haiku)

学习图谱Agent(haiku)

Generate a learning graph JSON for "[Course Name]".

Context: [paste parsed course outline]

REQUIREMENTS:

1. CONCEPT ENUMERATION (150-250 concepts)
   - Each concept label: Title Case, max 32 characters
   - Entity names only (not questions like "What is X")
   - Cover full breadth of course material

2. TAXONOMY CATEGORIZATION
   Assign each concept to exactly one category:
   - FOUND: Foundation concepts with NO dependencies (entry points)
   - BASIC: Build directly on foundations
   - INTER: Intermediate, build on basics
   - ADV: Advanced, build on intermediate
   - APP: Application/synthesis of multiple concepts

3. DEPENDENCY MAPPING (DAG structure)
   Critical validation rules:
   - NO circular dependencies (A→B→C→A is invalid)
   - NO self-dependencies (concept cannot depend on itself)
   - FOUND concepts have empty dependencies array
   - All other concepts have at least one dependency
   - Prefer multiple learning pathways over linear chains
   - Avoid long single-dependency chains (>5 concepts)

4. QUALITY METRICS TO ACHIEVE
   - Foundational concepts (zero dependencies): 10-15% of total
   - Orphaned nodes (nothing depends on them): <20% (except APP category)
   - Average dependencies per concept: 1.5-3.0
   - No disconnected subgraphs (all concepts reachable)

Output: learning-graph.json content only, valid JSON per schema
为「[Course Name]」生成学习图谱JSON。

上下文:[粘贴解析后的课程大纲]

要求:

1. 概念枚举(150-250个概念)
   - 每个概念标签:标题格式,最多32个字符
   - 仅包含实体名称(不能是类似「什么是X」的问题)
   - 覆盖课程内容的全部范围

2. 分类法归类
   为每个概念分配唯一类别:
   - FOUND:无依赖的基础概念(入门点)
   - BASIC:直接基于基础概念构建
   - INTER:中级,基于基础概念构建
   - ADV:高级,基于中级概念构建
   - APP:多概念的应用/综合

3. 依赖关系映射(DAG结构)
   关键验证规则:
   - 无循环依赖(A→B→C→A无效)
   - 无自依赖(概念不能依赖自身)
   - FOUND概念的依赖数组为空
   - 所有其他概念至少有一个依赖
   - 优先选择多条学习路径而非线性链
   - 避免过长的单依赖链(超过5个概念)

4. 需达成的质量指标
   - 基础概念(零依赖):占总数的10-15%
   - 孤立节点(无其他概念依赖它):<20%(APP类别除外)
   - 每个概念的平均依赖数:1.5-3.0
   - 无不连通子图(所有概念均可访问)

输出:仅learning-graph.json内容,符合JSON schema的有效JSON

Glossary Agent (haiku)

术语表Agent(haiku)

Generate glossary entries for "[Course Name]".

Concepts to define: [list from learning graph]
Course level: [junior-high/senior-high/college/graduate]
Terms per chapter target: [10/15/20/25 based on level]

ISO 11179 DEFINITION STANDARDS (mandatory):

Each definition must be:
1. PRECISE: Exact meaning, no ambiguity, specific to course context
2. CONCISE: 20-50 words target, as brief as possible while complete
3. DISTINCT: Differentiates from similar terms
4. NON-CIRCULAR: Never use the term being defined in its definition
5. NO BUSINESS RULES: Definition only, not how it's used

QUALITY RUBRIC (aim for 85+ per definition):
- Precision (25 pts): Accurately captures meaning
- Conciseness (25 pts): Within 20-50 words
- Distinctiveness (25 pts): Unique, not copied
- Non-circularity (25 pts): No self-reference or undefined terms

FORMAT:
为「[Course Name]」生成术语表条目。

需定义的概念:[来自学习图谱的列表]
课程级别:[junior-high/senior-high/college/graduate]
每章目标术语数:[根据级别为10/15/20/25]

ISO 11179定义标准(强制要求):

每个定义必须:
1. 精确:含义准确,无歧义,符合课程上下文
2. 简洁:目标20-50词,在完整表达的前提下尽可能简短
3. 独特:与相似术语区分开
4. 无循环:定义中不得使用被定义的术语
5. 无业务规则:仅包含定义,不说明使用方法

质量评分标准(每个定义目标得分85+):
- 精确性(25分):准确捕捉含义
- 简洁性(25分):在20-50词范围内
- 独特性(25分):原创,非复制
- 无循环性(25分):无自引用或未定义术语

格式:

[Term]

[术语]

[Definition in 1-2 sentences]
Example: [Concrete illustration from course domain]
REQUIREMENTS:
  • Sort alphabetically (case-insensitive)
  • 60-80% of terms should have examples
  • Use simpler terms in definitions (avoid undefined jargon)
BAD: "A learning graph is a graph used for learning." GOOD: "A directed graph of concepts showing prerequisite relationships for mastering a topic."
Output: glossary.md content only
undefined
[1-2句话的定义]
示例: [来自课程领域的具体例证]
要求:
  • 按字母顺序排序(不区分大小写)
  • 60-80%的术语应包含示例
  • 定义中使用更简单的术语(避免未定义的行话)
错误示例:「学习图谱是用于学习的图谱。」 正确示例:「展示掌握主题所需前置关系的概念有向图。」
输出:仅glossary.md内容
undefined

Quiz Agent (haiku)

测试题Agent(haiku)

Generate quiz questions for "[Course Name]" Chapter [N]: [Title].

Chapter type: [introductory/intermediate/advanced]
Concepts covered: [list from learning graph]
Learning objectives: [from chapter structure]

BLOOM'S TAXONOMY DISTRIBUTION (adjust by chapter type):

Introductory chapters:
- 40% Remember, 40% Understand, 15% Apply, 5% Analyze

Intermediate chapters:
- 25% Remember, 30% Understand, 30% Apply, 15% Analyze

Advanced chapters:
- 15% Remember, 20% Understand, 25% Apply, 25% Analyze, 10% Evaluate, 5% Create

QUESTION STEMS BY LEVEL:
- Remember: Define..., List..., What is..., Name...
- Understand: Explain..., Describe..., Why does..., Summarize...
- Apply: How would you use..., Calculate..., Demonstrate...
- Analyze: Compare..., What is the relationship..., Why might...
- Evaluate: Assess..., Which is better..., Justify...
- Create: Design..., Propose..., How might you...

ANSWER BALANCE (critical):
- Distribute correct answers: A=25%, B=25%, C=25%, D=25% (±5%)
- Avoid patterns (not A-B-A-B, not all C's in a row)

DISTRACTOR QUALITY:
- All wrong answers must be plausible (sound reasonable)
- Similar length to correct answer
- No "All of the above" or "None of the above"
- No jokes or obviously wrong options
- Address common misconceptions

FORMAT (mkdocs-material):
为「[Course Name]」第[N]章:[标题]生成测试题。

章节类型:[introductory/intermediate/advanced]
涵盖的概念:[来自学习图谱的列表]
学习目标:[来自章节结构]

布鲁姆分类分布(根据章节类型调整):

入门章节:
- 40% 记忆,40% 理解,15% 应用,5% 分析

中级章节:
- 25% 记忆,30% 理解,30% 应用,15% 分析

高级章节:
- 15% 记忆,20% 理解,25% 应用,25% 分析,10% 评估,5% 创造

不同级别问题题干:
- 记忆:定义…,列出…,什么是…,名称…
- 理解:解释…,描述…,为什么…,总结…
- 应用:你会如何使用…,计算…,演示…
- 分析:比较…,…之间的关系是什么,为什么可能…
- 评估:评估…,哪个更好…,证明…
- 创造:设计…,提出…,你可能会如何…

答案平衡(关键):
- 正确答案分布:A=25%,B=25%,C=25%,D=25%(±5%)
- 避免模式(不要A-B-A-B,不要连续选C)

干扰项质量:
- 所有错误答案必须合理(听起来可信)
- 长度与正确答案相似
- 无「以上所有」或「以上都不是」
- 无玩笑或明显错误选项
- 针对常见误解

格式(mkdocs-material):

1. [Question text]?

1. [问题文本]?

<div class="upper-alpha" markdown> 1. [Option A] 2. [Option B] 3. [Option C] 4. [Option D] </div>
??? question "Show Answer" The correct answer is [LETTER].
[Explanation 50-100 words: why correct, why others wrong]

**Concept:** [Concept name]
Generate 8-12 questions per chapter. Output: quiz.md content only
undefined
<div class="upper-alpha" markdown> 1. [选项A] 2. [选项B] 3. [选项C] 4. [选项D] </div>
??? question "显示答案" 正确答案是 [LETTER].
[50-100词的解释:为什么正确,其他选项错误的原因]

**概念:** [概念名称]
每章生成8-12个问题。 输出:仅quiz.md内容
undefined

Chapter Content Agent (sonnet)

章节内容Agent(sonnet)

Generate chapter content for "[Course Name]" Chapter [N]: [Title].

Learning objectives: [list with Bloom's verbs]
Concepts to cover: [from learning graph, in dependency order]
Target word count: 1500-2500 words

TEACHING PHILOSOPHY (apply throughout):
- Low floor, high ceiling: Accessible entry, unlimited depth
- Concrete before abstract: Examples and stories before theory
- Intrinsic motivation: Connect to real problems students care about
- Socratic coaching: Reflection questions, not just content delivery

REQUIRED STRUCTURE:
为「[Course Name]」第[N]章:[标题]生成章节内容。

学习目标:[包含布鲁姆动词的列表]
需涵盖的概念:[来自学习图谱,按依赖顺序]
目标字数:1500-2500词

教学理念(全程应用):
- 低门槛,高上限:入门简单,深度无限制
- 先具体后抽象:先举例和讲故事,再讲理论
- 内在动机:连接学生关心的实际问题
- 苏格拉底式指导:反思问题,而非单纯内容传递

必填结构:

Learning Objectives

学习目标

By the end of this chapter, you will be able to:
  1. [Bloom's verb] [specific outcome]
  2. [Bloom's verb] [specific outcome]
  3. [Bloom's verb] [specific outcome]
完成本章学习后,你将能够:
  1. [布鲁姆动词] [具体成果]
  2. [布鲁姆动词] [具体成果]
  3. [布鲁姆动词] [具体成果]

Introduction

引言

[Hook: Story, question, or real-world scenario that motivates the topic] [Why this matters - connect to student's world]
[钩子:激发主题兴趣的故事、问题或真实场景] [重要性说明 - 与学生的世界建立联系]

Section 1: [Foundation Concept]

第1节:[基础概念]

[Concrete example FIRST, then abstract principle]
[先给出具体示例,再讲抽象原则]

Key Idea

核心观点

[Core concept in 1-2 sentences]
[1-2句话的核心概念]

Example

示例

[Worked example with step-by-step explanation]
[带分步解释的实操示例]

Try It

试一试

[Low-stakes practice opportunity - something student can do now]
[低风险练习机会 - 学生现在可以完成的任务]

Section 2: [Building Concept]

第2节:[进阶概念]

[Build on Section 1, introduce complexity]
[基于第1节内容,引入复杂度]

Section 3: [Application]

第3节:[应用]

[Real-world use cases, synthesis]
[真实用例,综合应用]

Reflection Questions

反思问题

  1. [Socratic question prompting deeper thinking]
  2. [Question connecting to student's own experience]
  3. [Question about assumptions or limitations]
  1. [引导深度思考的苏格拉底式问题]
  2. [连接学生自身经验的问题]
  3. [关于假设或局限性的问题]

Summary

总结

  • [3-5 bullet points of key takeaways]
  • [3-5个要点总结]

Next Steps

下一步

[Preview next chapter, how concepts connect]
Output: index.md content only
undefined
[预览下一章,说明概念之间的关联]
输出:仅index.md内容
undefined

MicroSim Spec Agent (sonnet)

MicroSim规格Agent(sonnet)

Generate MicroSim specifications for "[Course Name]" Chapter [N].

Concepts to visualize: [list abstract concepts that benefit from interactivity]
Course level: [junior-high/senior-high/college/graduate]

FOR EACH MICROSIM, SPECIFY:
为「[Course Name]」第[N]章生成MicroSim规格。

需可视化的概念:[受益于交互性的抽象概念列表]
课程级别:[junior-high/senior-high/college/graduate]

每个MicroSim需指定:

MicroSim: [Name]

MicroSim: [名称]

Concept Visualized

可视化的概念

  • Concept: [From learning graph]
  • Learning Goal: Students will understand [X] by manipulating [Y] and observing [Z]
  • Difficulty: [Beginner/Intermediate/Advanced]
  • 概念: [来自学习图谱]
  • 学习目标: 学生将通过操作[Y]并观察[Z]来理解[X]
  • 难度: [Beginner/Intermediate/Advanced]

Controls (Right Panel)

控件(右侧面板)

ControlTypeRangeDefaultEffect
[Name]slider[min]-[max][val][What changes]
[Name]button--[What happens on click]
[Name]dropdown[options][val][What changes]
控件类型范围默认值效果
[名称]slider[min]-[max][val][变化内容]
[名称]button--[点击后的效果]
[名称]dropdown[options][val][变化内容]

Visualization (Left Panel)

可视化(左侧面板)

  • What is drawn (shapes, graphs, animations)
  • How it responds to control changes
  • Color/size encoding (if any)
  • Animation behavior
  • 绘制内容(形状、图表、动画)
  • 响应控件变化的方式
  • 颜色/大小编码(若有)
  • 动画行为

The "Aha" Moment

「顿悟」时刻

When the student [does specific action], they see [specific result], which demonstrates [principle/insight].
当学生[执行特定操作]时,他们会看到[特定结果], 这展示了[原理/洞察]。

Technical Notes

技术说明

  • Canvas: Responsive, min 400px width
  • Frame rate: 30fps (or specify if different)
  • Library: p5.js
  • Mobile: Touch-friendly controls required
  • Canvas:响应式,最小宽度400px
  • 帧率:30fps(或指定其他值)
  • 库:p5.js
  • 移动端:需支持触控操作

Assessment Integration

评估集成

After using this MicroSim, students should be able to answer:
  1. [Quiz question this prepares them for]
  2. [Another related question]
COMPLEXITY BY LEVEL:
  • Junior high: 1-2 controls, simple cause-effect
  • Senior high: 2-3 controls, moderate relationships
  • College: 3-4 controls, complex interactions
  • Graduate: 4+ controls, research-level visualizations
Output: spec.md content for each MicroSim
undefined
使用此MicroSim后,学生应能回答:
  1. [此MicroSim准备的测试题]
  2. [另一个相关问题]
按级别区分的复杂度:
  • 初中:1-2个控件,简单因果关系
  • 高中:2-3个控件,中等关系
  • 大学:3-4个控件,复杂交互
  • 研究生:4+个控件,研究级可视化
输出:每个MicroSim的spec.md内容
undefined

FAQ Agent (haiku)

FAQ Agent(haiku)

Generate FAQ for "[Course Name]".

Course description: [summary]
Target audience: [from customization]
Prerequisites: [list]
Chapter topics: [list]
Common misconceptions in this domain: [if known]

REQUIREMENTS:

Generate 15-25 questions across these categories:

1. CONCEPTUAL CLARIFICATIONS (30%)
   - "What is the difference between X and Y?"
   - "Why is X important in this field?"
   - "How does X relate to Y?"

2. COMMON MISCONCEPTIONS (25%)
   - "Is it true that X always causes Y?"
   - "Why do people think X when actually Y?"
   - Address errors students typically make

3. PRACTICAL APPLICATIONS (25%)
   - "How do I apply X in real situations?"
   - "When should I use X vs Y?"
   - "What tools/resources help with X?"

4. PREREQUISITES & NEXT STEPS (20%)
   - "What should I know before starting?"
   - "What should I learn after this course?"
   - "How does this connect to [related field]?"

ANSWER GUIDELINES:
- 2-4 sentences per answer (concise but complete)
- Reference specific chapter when helpful: "See Chapter 3 for details"
- Use concrete examples where possible
- Avoid jargon not defined in glossary

FORMAT:
为「[Course Name]」生成FAQ。

课程描述:[摘要]
目标受众:[来自自定义设置]
前置要求:[列表]
章节主题:[列表]
该领域的常见误解:[若已知]

要求:

生成15-25个问题,涵盖以下类别:

1. 概念澄清(30%)
   - 「X和Y的区别是什么?」
   - 「X在该领域为什么重要?」
   - 「X和Y有什么关系?」

2. 常见误解(25%)
   - 「X总是导致Y是真的吗?」
   - 「为什么人们认为X而实际是Y?」
   - 解决学生常犯的错误

3. 实际应用(25%)
   - 「我如何在实际场景中应用X?」
   - 「我应该何时使用X而非Y?」
   - 「哪些工具/资源有助于学习X?」

4. 前置要求与下一步(20%)
   - 「开始前我应该了解什么?」
   - 「完成本课程后我应该学习什么?」
   - 「这与[相关领域]有什么联系?」

答案指南:
- 每个答案2-4句话(简洁但完整)
- 必要时参考具体章节:「详见第3章」
- 尽可能使用具体示例
- 避免使用术语表中未定义的行话

格式:

[Category Name]

[类别名称]

Q: [Question]?

Q: [问题]?

[Answer in 2-4 sentences]
Output: faq.md content only

---
[2-4句话的答案]
输出:仅faq.md内容

---

Orchestration Flow

编排流程

┌─────────────────────────────────────────────────────────────┐
│ PHASE 1: Parse URL (main agent)                             │
│ - Use Chrome for JS-heavy pages                             │
│ - Extract course structure                                  │
│ - Identify level                                            │
└─────────────────────────┬───────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ USER CHECKPOINT: Approve chapter structure                  │
└─────────────────────────┬───────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ PHASE 2-5: Parallel Subagents (single message)              │
│                                                             │
│  ┌──────────────┐ ┌──────────────┐ ┌──────────────┐        │
│  │Learning Graph│ │   Glossary   │ │    Quizzes   │        │
│  │   (haiku)    │ │   (haiku)    │ │   (haiku)    │        │
│  └──────────────┘ └──────────────┘ └──────────────┘        │
│                                                             │
│  ┌──────────────┐ ┌──────────────┐ ┌──────────────┐        │
│  │   Chapters   │ │ MicroSim Spec│ │     FAQ      │        │
│  │   (sonnet)   │ │   (sonnet)   │ │   (haiku)    │        │
│  └──────────────┘ └──────────────┘ └──────────────┘        │
└─────────────────────────┬───────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ PHASE 6: Assembly (main agent)                              │
│ - Compile outputs into course structure                     │
│ - Generate mkdocs.yml                                       │
│ - Validate cross-references                                 │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│ PHASE 1: 解析URL(主agent)                             │
│ - 针对JS渲染页面使用Chrome                             │
│ - 提取课程结构                                  │
│ - 确定级别                                            │
└─────────────────────────┬───────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ 用户检查点:批准章节结构                  │
└─────────────────────────┬───────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ PHASE 2-5: 并行Subagents(单条消息)              │
│                                                             │
│  ┌──────────────┐ ┌──────────────┐ ┌──────────────┐        │
│  │Learning Graph│ │   Glossary   │ │    Quizzes   │        │
│  │   (haiku)    │ │   (haiku)    │ │   (haiku)    │        │
│  └──────────────┘ └──────────────┘ └──────────────┘        │
│                                                             │
│  ┌──────────────┐ ┌──────────────┐ ┌──────────────┐        │
│  │   Chapters   │ │ MicroSim Spec│ │     FAQ      │        │
│  │   (sonnet)   │ │   (sonnet)   │ │   (haiku)    │        │
│  └──────────────┘ └──────────────┘ └──────────────┘        │
└─────────────────────────┬───────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ PHASE 6: 组装(主agent)                              │
│ - 将输出内容编译为课程结构                     │
│ - 生成mkdocs.yml                                       │
│ - 验证交叉引用                                 │
└─────────────────────────────────────────────────────────────┘

Output Structure

输出结构

course-name/
├── docs/
│   ├── index.md                    # Course home page
│   ├── course-description.md       # Full course description
│   ├── chapters/
│   │   ├── 01-chapter-name/
│   │   │   ├── index.md            # Chapter content
│   │   │   └── quiz.md             # Chapter quiz
│   │   └── ...
│   ├── sims/
│   │   ├── sim-name/
│   │   │   ├── index.md            # MicroSim documentation
│   │   │   └── spec.md             # Implementation spec
│   │   └── ...
│   ├── learning-graph/
│   │   └── learning-graph.json     # Concept dependency graph
│   ├── glossary.md                 # Master glossary
│   └── faq.md                      # FAQ
└── mkdocs.yml                      # MkDocs configuration
course-name/
├── docs/
│   ├── index.md                    # 课程主页
│   ├── course-description.md       # 完整课程描述
│   ├── chapters/
│   │   ├── 01-chapter-name/
│   │   │   ├── index.md            # 章节内容
│   │   │   └── quiz.md             # 章节测试题
│   │   └── ...
│   ├── sims/
│   │   ├── sim-name/
│   │   │   ├── index.md            # MicroSim文档
│   │   │   └── spec.md             # 实现规格
│   │   └── ...
│   ├── learning-graph/
│   │   └── learning-graph.json     # 概念依赖图谱
│   ├── glossary.md                 # 总术语表
│   └── faq.md                      # FAQ
└── mkdocs.yml                      # MkDocs配置

Phase 6: Assembly & Validation

阶段6:组装与验证

After subagents complete, validate and assemble outputs:
Subagent完成任务后,验证并组装输出内容:

Quality Checklist

质量检查清单

Learning Graph Validation

学习图谱验证

  • Valid JSON (parse without errors)
  • 150-250 concepts present
  • No circular dependencies (DAG structure)
  • Foundational concepts (zero deps): 10-15%
  • All categories used (FOUND, BASIC, INTER, ADV, APP)
  • No disconnected subgraphs
  • 有效的JSON(解析无错误)
  • 包含150-250个概念
  • 无循环依赖(DAG结构)
  • 基础概念(零依赖):10-15%
  • 使用了所有类别(FOUND、BASIC、INTER、ADV、APP)
  • 无不连通子图

Glossary Validation

术语表验证

  • All terms from learning graph included
  • Alphabetically sorted
  • Definitions 20-50 words average
  • 60%+ have examples
  • No circular definitions (term used in own definition)
  • 包含学习图谱中的所有术语
  • 按字母顺序排序
  • 定义平均20-50词
  • 60%以上的术语有示例
  • 无循环定义(定义中使用被定义的术语)

Quiz Validation

测试题验证

  • 8-12 questions per chapter
  • Answer distribution balanced (A/B/C/D within 20-30% each)
  • Bloom's levels present (Remember, Understand, Apply, Analyze)
  • All questions have explanations
  • mkdocs format correct (upper-alpha div, question admonition)
  • 每章8-12个问题
  • 答案分布均衡(A/B/C/D在20-30%之间)
  • 包含布鲁姆分类级别(记忆、理解、应用、分析)
  • 所有问题均有解释
  • mkdocs格式正确(upper-alpha div,question提示框)

Chapter Content Validation

章节内容验证

  • 1500-2500 words per chapter
  • Learning objectives present
  • Hook/Introduction engaging
  • Examples before abstract concepts
  • "Try It" sections present
  • Reflection questions (not just recall)
  • 每章1500-2500词
  • 包含学习目标
  • 钩子/引言有吸引力
  • 先举例后讲抽象概念
  • 包含「试一试」环节
  • 反思问题(不只是回忆)

Cross-Reference Validation

交叉引用验证

  • Glossary terms align with learning graph concepts
  • Quiz concepts reference learning graph
  • Chapter sections cover assigned concepts
  • MicroSims reference specific concepts
  • 术语表术语与学习图谱概念一致
  • 测试题概念引用学习图谱
  • 章节内容覆盖指定概念
  • MicroSim引用特定概念

Assembly Steps

组装步骤

  1. Create directory structure per Output Structure
  2. Write each file to appropriate location
  3. Generate mkdocs.yml with navigation
  4. Run
    mkdocs build
    to verify no broken links
  5. Report summary to user:
    • Total concepts: X
    • Total glossary terms: X
    • Total quiz questions: X
    • Chapters generated: X
    • MicroSim specs: X

  1. 按照输出结构创建目录
  2. 将每个文件写入对应位置
  3. 生成带导航的mkdocs.yml
  4. 运行
    mkdocs build
    验证无断链
  5. 向用户报告摘要:
    • 总概念数:X
    • 总术语表术语数:X
    • 总测试题数:X
    • 生成的章节数:X
    • MicroSim规格数:X

Key Principles (from Teaching Philosophy)

核心原则(来自教学理念)

Apply throughout generation:
  1. Low floor, high ceiling: Accessible entry points, unlimited depth
  2. Intrinsic motivation: Connect to real problems students care about
  3. Build → Present → Feedback → Iterate: Design projects with public output
  4. Socratic coaching: Include reflection questions, not just content
  5. Concrete before abstract: Stories and examples before theory
  6. Friction as signal: Include peer review, public presentation requirements
全程应用以下原则:
  1. 低门槛,高上限:入门简单,深度无限制
  2. 内在动机:连接学生关心的实际问题
  3. 构建→呈现→反馈→迭代:设计带有公开输出的项目
  4. 苏格拉底式指导:包含反思问题,而非单纯传递内容
  5. 先具体后抽象:先讲案例和故事,再讲理论
  6. 摩擦作为信号:包含同行评审、公开演示要求

Reference Files

参考文件

  • Output Formats - JSON schemas and markdown templates for all artifacts
  • Output Formats - 所有产物的JSON schema和markdown模板