| name | prepare-approved-lesson |
| description | Use when a Plan Session has a student-approved Lesson design recorded in the current Plan and must materialize that approved Lesson. |
准备已批准的 Lesson
前置条件
只实施当前 Plan 的 Next Lesson Arrangement 中已经记录、且学生在 Plan 对话中明确
确认的本课设计。若本课目的、活动形态、处理深度、提示方式或约定工作量仍未批准,
停止并返回 plan-dialogue。不得根据学生最初请求或"你来安排"自行越过批准门。
按批准设计备课
公开确认的是本课为何现在进行、目标、重点、活动形态、参与方式、处理深度、工作量
和完成标志;具体题目、答案、材料组合、观察点、提示阶梯、误区分支和备用路线属于
教师的私有备课,本 Skill 在已确认边界内自主完成,不因每个内部选择再次打扰学生,
也不提前泄露会破坏诊断或学习体验的信息。
- 读取当前 Plan;只沿其 Lesson Tree 按实施需要读取相关 closed Lesson 原始记录,
不读取未链接文件,也不重新设计已批准课堂;
- 区分已批准的公开设计、允许自主决定的内部细节和必须返回
plan-dialogue 的
实质缺口;已批准内容彼此矛盾时不自行选择其中一项;
- 从
references/lesson-templates/INDEX.md 选择一个主模板,再只读该模板;
- 将批准的活动具体化为必要和可选 Blocks,并确定处理深度;
- 按下方“素材来源与资产绑定”路由每份具体材料;只有未绑定的学习集资产进入
references/material-preparation.md 并使用材料 Scout;
如果已批准课堂适合顺带复习旧资产,可调用一次 list_due_asset_reviews 查看小批到期摘要,
只在选中与本课目标直接相关的候选后读取其精确路径;读取候选不构成复习,也不自动改变
本课目标、题量或 Lesson Tree;
- 核验来源、数学、教学作用、工作量与首次作答的信息边界;只有已点名内容存在会改变
结论或课堂可用性的实质风险时,才读取
references/risk-review.md 并调用
lesson-risk-reviewer,其余情况由 Coach 正常完成核验;
- 从当前 Plan 的 Tree 确定本 Plan 内一个 Lesson 的候选 ID;精确路径固定为
plans/<current-plan-id>/lessons/<lesson-id>.md,确认不会覆盖既有文件;
- 按文档契约 child-first 写入一份完整的
status: prepared Lesson,初始 Block
状态和空 Classroom Log 符合 M0 契约;
- 完整回读 Lesson,核验合法后才链接进当前 Plan 的 Lesson Tree,更新下一步并
再次回读父子文件;
- 只向学生报告已批准的公开目的、活动形态、工作量和可以从界面开始。
- 若本次备课采用教师自主命题,先完成、链接并交付可开始的 Lesson;随后调用
propose_problem_card 展示拟保存题卡的完整题干与学生可见笔记,并单独询问是否保存。
标准答案和教师讲解留在工具私有输入中,不公开。学生纠正时重新提案,以最新草稿为准;
课程方案的批准不构成题卡保存批准。只有学生针对该题卡明确确认后才调用
save_prepared_problem_card;拒绝、未确认或保存失败都不创建题卡,也不改变 Lesson 已
可开始的事实。
- 以上写入、链接、重读和公开报告全部成功后,才读取
references/printable-handout.md,简短询问学生是否需要讲义;只有明确同意才执行其中的
出版动作,任何结果都不改变 Lesson 已可开始的事实。
素材来源与资产绑定
Uses 只声明 Block 可读取的证据与资源,不是界面展示机制。使用学习集题卡的
problem Block,Student View 必须写入学生首次作答所需的完整题干、分问和选项;
不能只写“完成题卡”或只给资源路径。答案、提示与决定性路线仍留在 Teacher Control。
每份具体材料先确定一种来源:
- 学生持有材料:对话明确指向学生手里的某一份既有材料,但系统没有其正文或学习集
路径。不调用 Scout,也不假装知道正文;若专业准备必须依赖完整内容,停止并请学生提供,
不能把重建内容称为原件。
- 教师内联材料:已批准设计允许教师自主命题,正文由 Coach 在本次准备中独立编写,
不依赖学习集候选。不调用 Scout,也不浏览学习集为它寻找“参考”。
- 学习集资产:Block 使用当前学习集内已经存在的题卡、视频、阅读或其他素材。只有唯一、
精确的学习集相对路径已经出现在当前授权上下文中,才算已绑定;知道题型、关键词、
目录或可能的文件名都不算绑定。
已绑定的学习集资产由 Coach 直接完整读取并核验。未绑定的学习集资产必须先读取
references/material-preparation.md 并调用 Scout;Scout 返回前,父 Session 不得发现
候选。
已批准课堂若明确以学生导入书中的具体页段为起点,先按原书页绑定并核验,再决定是否需要
教师内联变式;不能仅因题卡语义索引没有命中该页,就把可读取的原书来源降级成自编替代品。
候选发现是指以目录、索引、关键词、模式或文件集合为输入,目的是取得一个或多个素材路径
的 ls、find、grep 或候选文件读取。检查一个已绑定精确路径是否存在、完整读取该路径
以及核验 Scout 已返回的首选,不属于候选发现。父 Coach 一旦浏览学习集候选,就不能再把
随后写出的题称为独立的教师内联材料。
模板与 Scout 只帮助实施,不能重新决定学生能力或课程方向。材料条件若迫使题量、
活动形态、处理深度或提示方式发生实质改变,停止备课并返回 plan-dialogue 重新确认;
不得静默缩水。
材料召回、Scout fan-out、文件写入与验证可能耗时:先在公开层给出简短回应,并只在
有意义的节点简短报进展;交付报告的内容边界不变。
ID 与路径
Lesson ID 只在当前 Plan 内编号;从当前 Plan Tree 的既有条目生成候选 ID,并检查
plans/<current-plan-id>/lessons/<lesson-id>.md 这一精确目标路径。不能枚举当前
Plan 的 lessons/ 目录或查看其他 Plan 来寻找可当成当前产物的既有文件。精确路径已存在且无法证明是本次尚未
完成的同一产物时,停止并报告冲突:不覆盖、不改名后悄悄重建、不把它自动挂入
Tree。
部分失败
- 子文件写入后验证失败:只修复本次创建的同一个文件;合法之前绝不链接父 Tree。
- 子文件合法但父 Tree 编辑失败:重新读取父节点,只重试链接同一个已验证子文件;
重试前检查父 Tree 是否已经含有该链接,防止重复条目。
- 无法安全完成时:明确报告"子文件已存在但尚未链接"的精确路径和当前状态,不宣称
成功,不创建第二份,也不自动删除。
- 恢复时只读取自己刚创建的精确路径;不扫描目录猜测哪个孤立文件属于当前批准设计。
本 Skill 不教授 Lesson、不启动 Lesson、不修改 active/closed Lesson,也不预建未来
整串课堂。