Claude Skill

textbook-outline

教材项目要做教学设计时用它:产出教学定位、UbD 预期结果五件套(大概念 / 持久理解 / 核心问题 / 迁移目标 / 学习目标)、章节树与例题 Bloom 梯度规划,写入 00-教材设计.md。触发语如"设计教材大纲"、"教材规划"、"课程体系设计"。通常由 textbook 调度,也可单独运行。不负责写章节正文,也不负责生成习题。需与 textbook 系列其余 skill 装在同一 skills 目录下。

LLM Mart · 0 points · 5 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download cabbage2000-lab-textbook-writer-skills-skills_textbook-outline-7dc21ea.zip · 18 KB
Part of cabbage2000-lab/textbook-writer-skills — 5 skills

Install

skills CLI npx skills add https://github.com/cabbage2000-lab/textbook-writer-skills/tree/main/skills/textbook-outline
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install cabbage2000-lab-textbook-writer-skills@llmmart
Git git clone https://github.com/cabbage2000-lab/textbook-writer-skills.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole cabbage2000-lab/textbook-writer-skills collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

textbook-outline

以 UbD 逆向设计完成教材的阶段 1–3:教学定位 → 预期结果设计(核心 gate)→ 评估与章节设计(次要 gate),产出 00-教材设计.md。本 skill 是"先想清楚学生该带走什么,再倒推章节和例题"的落地执行者。

何时不触发

  • 写章节正文(用 textbook-chapter)
  • 生成例题/习题(用 textbook-exercises)
  • 单篇教程的大纲(用 tutorial-writer)

两种调用模式

  • 被 textbook 调度(常规):输入为 {教材项目目录, 教材名};产出写入该目录,阶段 1 判定出的 学科档案 与两个 gate 的确认结果回报主 skill(.progress.json 由主 skill 维护,本 skill 不碰)。
  • 独立触发:先用一轮提问确认教材名与落盘目录(默认 ./<教材名>/),后续流程完全相同,产出 00-教材设计.md;不建 .progress.json——那是主 skill 的职责。

交接契约、落盘布局、进度打印与 gate 停点格式的权威定义见 ../textbook/references/handoff-contract.md,下文简称"契约文档"。本 skill 的进度行 ▶ 阶段 N/3 是子 skill 内层标尺(契约文档第 5 节:N/M 中 M 为当前 skill 自身的阶段总数);被调度时全局的 ▶ 阶段 N/5 行由主 skill 打印,两级并存。

阶段 1/3:教学定位确认

打印进度:▶ 阶段 1/3:教学定位确认

用 AskUserQuestion 一轮收集四项(对应契约的前四项;第五项 学科档案 由学科判定得出,不问作者):

  1. 学科:具体到分支(如"线性代数"而非"数学")。用户触发时若已说明,此项不再问。
  2. 读者认知起点:零基础 / 有先修(注明先修什么)
  3. 教材深度:入门 / 进阶
  4. 篇幅规模:6–8 章 / 8–12 章 / 12 章以上

若当前环境没有 AskUserQuestion 工具,降级为编号提问并等待文本回复:

请回答以下问题(回复格式如 "1 线性代数 2a 3a 4b"):
1. 教材学科(请具体到分支)?
2. 读者认知起点? a) 零基础  b) 有先修(请注明)
3. 教材深度? a) 入门  b) 进阶
4. 篇幅规模? a) 6–8 章  b) 8–12 章  c) 12 章以上

按语义宽松解析回复,能定位到各项即可;无法判断时只就有歧义的一项追问。

判定学科档案(契约第五项):按学科到 ../textbook/references/subject-profile-spec.md 第 5 节索引表定位档案 id。判定一次、全流程沿用,后续阶段不重判。

  • 索引里有匹配项 → 取该 id;
  • 找不到匹配项(如历史/哲学/文学等答案取决于论证与立场的学科)→ 按该文档第 7 节处理:向作者说明「本学科暂无专属档案,将按 <最接近的 id> 档案处理」并指出已知差异(哪些题型在该档案里没有对应验证手段、章内段义是否需要调整),由作者决定继续或改学科范围,不得静默套用。作者决定继续则照该档案执行,学科档案 记录实际使用的 id。

档案有前置输入要求时,追加一轮材料提问:判定出的档案第 1 节若写有「前置输入要求」(humanities、economics 有,stem 没有),在写盘前追加一轮提问,按该档案点名的类别向作者索要材料。这一轮之所以必要:四问里第 1 问才问到学科,问完才判定得出档案,届时才知道本学科要不要材料——所以它只能发生在第一轮之后。

这一轮不是 gate:作者答"没有"、答不全、或直接跳过,一律照常放行进入阶段 2,绝不等待确认。它换来的不是许可,是让作者在动笔前就知道代价。两条出口都要落盘:

  • 作者提供了 → 把材料清单(书名与版本 / 数据库与口径 / 文献目录)写进「## 一、教学定位」的子节,后续各章据此核对;
  • 作者未提供或给不全 → 把该档案第 1 节的降级纪律与预期代价写进同一子节(如「无史料输入时预期约三分之一的题挂 ⚠️ 需作者确认,定稿前需逐条核定」)。

为什么必须落盘、不能只在对话里说一句:各章在不同会话里独立写成(上下文隔离),00-教材设计.md 是唯一能传到阶段 4 的载体。只说过没写下的纪律,写第 3 章时等于不存在。

产出写入 00-教材设计.md 的「## 一、教学定位」,其中必须含一行 学科档案:<id>——不设 gate,让作者看见即可:档案决定全书的验证纪律与章内段式,选错一次会歪一整本书,而作者是唯一有资格判断「这个近似可以接受」的人。写完不停顿,直接进入阶段 2。

阶段 2/3:UbD 预期结果设计(核心 gate)

打印进度:▶ 阶段 2/3:UbD 预期结果设计

严格按 references/ubd-framework.md 设计五件套(此段与学科无关,任何档案下逐条要求相同)。学习目标动词查 references/bloom-levels.md 第 2 节的通用基线,再补所用档案第 3 节的本学科特有动词:

  1. 大概念:3–7 个,每个是"主张"不是名词;
  2. 持久理解:一律"学生将理解:……"句式,是洞见不是知识点复述;
  3. 核心问题:2–5 个开放性问题,能贯穿多章;
  4. 迁移目标:情境必须是教材没直接教过的;
  5. 学习目标:每条用 Bloom 动词 + 层级标注(格式:目标句 +(Bloom:应用)),可出题检验。

五件套逐条带编号呈现并写入设计文档(前缀 B/U/Q/T/O,约定与"编号不重排"纪律见 ubd-framework.md 第 2 节)——阶段 3 的章节树要靠编号引用持久理解与学习目标。

呈现前先过 ubd-framework.md 第 5 节的快速自查清单(七问)和第 3 节一致性检查——自查不过先修再呈现,gate 是给作者确认方向的,不是让作者替 skill 做质检的。

完整呈现五件套后停下:

⏸ 等待确认:UbD 五件套(回复"确认"进入章节设计,或直接提出修改)

Gate 规则(不可绕过):

  • 作者提出修改 → 更新后重新完整呈现五件套(每次重新呈现前同样先过第 5 节自查与一致性检查——修改可能破坏追溯关系),再次等待确认,循环直到作者明确确认;
  • 明确确认的判定见契约文档第 5 节:明确表示通过且不附带修改要求("确认/通过/OK"等);"确认,但把 X 改一下"按修改分支处理(修改优先);答复含糊时追问而不是自行判定为确认;
  • 未确认绝不进入阶段 3;
  • 确认后将五件套写入 00-教材设计.md 的「## 二、UbD 五件套(已确认)」。

阶段 3/3:评估与章节设计(次要 gate)

打印进度:▶ 阶段 3/3:评估与章节设计

依据已确认的五件套设计四项产出(对应契约 {章节树[], 例题习题计划[], 表现性任务[], 梯度报告}):

  1. 章节树:每章 {章号, 章标题, 一句话定位, 承载的持久理解编号[], 承载的学习目标编号[]},章数符合阶段 1 的篇幅规模。 对齐检查(双向,硬性,两组编号各查一遍):

    • 持久理解:某章承载不了任何持久理解 → 砍掉或改造该章;某条持久理解没有任何章承载 → 补章,或向作者明示放弃该条;
    • 学习目标:某章一条学习目标都不承载 → 它的章首写不出"读完这章你能做什么",改造该章或并入相邻章;某条学习目标没有任何章承载 → 分配进某章,或与作者商定删除(ubd-framework.md 第 3 节留待本阶段校验的两项之一)。一条目标可被多章承载(跨章递进),一章通常承载 1–3 条——超过 4 条通常说明这一章装了太多东西。

    检查结果随章节树一并呈现。

  2. 例题习题计划:每章三类题的 {主题, Bloom层级} 列表,数量参考四段式配额(示范例题 1–3 / 引导练习 1–3 / 独立习题 3–8,见 ../textbook-chapter/references/chapter-template.md);层级分布参考所用档案第 3 节的章内分布建议——各学科不同(bloom-levels.md 第 7 节只留通用部分与指路)。

  3. 梯度报告:按 bloom-levels.md 第 5–6 节生成"层级×章节矩阵 + 合计 + 占比 + 检查结果",执行三条检查规则。有告警必须连同"建议在第 N 章补 X 层级题目"的可操作建议一起呈现,不许只报问题不给出路。

  4. 表现性任务:1–3 个综合性任务,按 references/performance-task-rubric.md 设计——每个任务用 GRASPS 六要素写清情境(情境须是教材没直接教过的),并附一张评价标准表(维度 3–5 个 × 水平 3–4 级,维度从持久理解或迁移目标推出,每格写可观察的表现描述);每个注明对应哪条迁移目标(每条迁移目标至少被一个任务覆盖,否则回到五件套与作者商定取舍)。呈现前过该文档第 5 节自查清单。 动机:没有评价标准的任务只是一句口号——作者无法评,学生不知道"好"长什么样,而表现性任务是迁移目标在全书唯一的检验落点。

完整呈现四项后停下:

⏸ 等待确认:章节树与梯度规划(回复"确认"完成大纲设计,或直接提出修改)

Gate 规则与阶段 2 相同:修改后重新完整呈现,确认前绝不放行。确认后写入 00-教材设计.md 的「## 三、章节树与梯度规划(已确认)」与「## 四、表现性任务」。

产出与交接

  • 落盘物:完整的 00-教材设计.md,固定二级标题结构见契约文档第 3 节;
  • 回报上游(被调度时):阶段 1 完成即回报 学科档案(供主 skill 写入 .progress.json 的 subject_profile),阶段 3 完成回报契约 {章节树[], 例题习题计划[], 表现性任务[], 梯度报告} + 两个 gate 均已确认的显式声明;
  • 独立触发时,最后向作者说明:可用 textbook 从此设计文档继续逐章写作。

真实性约束

五件套和章节树是设计产物,无需运行验证;但若作者在阶段 1 提供了学科材料(讲义、笔记、课程标准),设计必须与材料一致,不虚构材料中不存在的学科内容;材料未覆盖处按学科公认体系设计。

Files (textbook-writer-skills)
  • references
    • bloom-levels.md 6.8 KB
      # Bloom 认知层级(修订版):学习目标与例题梯度的标尺
      
      本文档是全项目 Bloom 层级的唯一权威来源:textbook-outline 用它写学习目标和梯度报告,textbook-exercises 用它判定题目层级,textbook 主 skill 在阶段 5 用它复核实际梯度。
      
      ## 1. 六层级总览
      
      修订版 Bloom 分类法六个认知层级,由低到高(首次出现注英文,其后全书只用中文):
      
      | 层级 | 一句话判据 | 教材场景典型题型 |
      | ------ | ----------- | ----------------- |
      | 记忆(remembering) | 能原样取出学过的信息 | 写出定义、列举性质、指出符号含义 |
      | 理解(understanding) | 能用自己的方式重新表达信息 | 解释为什么、举一个新例子、判断正误并说明理由 |
      | 应用(applying) | 能把学过的程序用到新数据上 | 计算、求解、按算法执行一遍 |
      | 分析(analyzing) | 能拆解结构、看出成分之间的关系 | 推导、诊断错误解法、比较两种方法的适用场景 |
      | 评价(evaluating) | 能依据标准做出判断并辩护 | 论证某方法更优、评估一个证明是否严密 |
      | 创造(creating) | 能组合出新的结构或方案 | 设计算法、证明新命题、把方法推广到新对象 |
      
      ## 2. 中文动词表(写学习目标用)
      
      每条学习目标必须从对应层级选动词,禁用"理解/掌握/了解/熟悉"等不可验证动词。
      
      下表是**通用基线**,对任何学科有效;本学科特有的动作动词(如 STEM 的"计算/推导/建模")在所用**学科档案第 3 节**补充,两处并用即可(档案索引见 [../../textbook/references/subject-profile-spec.md](../../textbook/references/subject-profile-spec.md) 第 5 节)。
      
      | 层级 | 通用动词 |
      | ------ | ------ |
      | 记忆 | 列举、复述、识别、写出定义、指出、命名、默写 |
      | 理解 | 解释、概括、举例说明、用自己的话描述、判断正误并说明理由、翻译(在不同表示形式间转换)、归类 |
      | 应用 | 运用、演示、将某方法套用到新材料、按步骤执行 |
      | 分析 | 分解、区分、找出关系、诊断错误、比较适用场景、归因 |
      | 评价 | 论证、评估优劣、选择并辩护、批判、检验严密性、权衡 |
      | 创造 | 设计、构造、提出新解法、组合、推广 |
      
      ## 3. 可验证学习目标的写法
      
      **公式**:条件 + Bloom 动词 + 对象 + 可观察标准。
      
      三组"模糊 → 可验证"改写示例(取自 STEM 学科,其他学科同理——公式与检验法本身与学科无关):
      
      1. ❌ "理解矩阵乘法" → ✅ "能计算 2×3 与 3×2 矩阵的乘积,并解释为何交换相乘后结果维度不同(Bloom:应用)"
      2. ❌ "掌握高斯消元法" → ✅ "给定 3×4 增广矩阵,能用高斯消元法化为行阶梯形并判断解的个数(Bloom:应用)"
      3. ❌ "了解特征值的意义" → ✅ "能用自己的话解释特征向量在变换下'方向不变'的几何含义,并举出一个非教材例子(Bloom:理解)"
      
      写完后的检验法:能否据此直接出一道题?出不了题的目标就是不可验证的,重写。
      
      ## 4. 例题/习题的层级判定
      
      判定一道题属于哪一层,看**学生解题时实际调用的认知操作**,不看题目表面难度。
      
      **同一知识点在六个层级各长什么样**是判定标尺,因学科而异,放在所用**学科档案第 3 节**(stem 档案以"等差数列求和"给出六层对照表)。标尺只是判定示意,不宜原样搬进教材当正式题目——至少换数据、换场景。
      
      **判定原则**(与学科无关,任何档案下相同):
      
      - 同一道题多问时,取**最高**层级标注;
      - 判定歧义时**就低不就高**(宁可把一道"疑似分析"的题标成应用,也不虚标高层级——虚标会让梯度报告失真)。
      
      ## 5. 梯度检查规则(全书级)
      
      **统计口径**:全书所有题目按 Bloom 层级计数,示范例题、引导练习、独立习题都计入。
      
      - **规则 1(单层堆积)**:任一层级占比 ≥60% → 告警:`⚠️ 梯度告警:<层级> 层占比 N%,题目过度堆积`,并列出建议补题的章。
      - **规则 2(缺高层)**:应用 + 分析两层合计 = 0 题 → 告警:`⚠️ 梯度告警:全书没有"应用/分析"层题目,缺认知阶梯上段`。
      - **规则 3(缺低层入门,提示级)**:记忆 + 理解两层合计 = 0 题 → 提示:`ℹ️ 全书没有低层级入门题,确认读者起点是否足够高`。
      
      规则 1、2 是告警级:必须连同补题建议一起呈现给作者,作者确认后才放行(阶段 3 gate 的组成部分)。规则 3 是提示级:呈现即可,不阻塞。
      
      ## 6. 梯度报告格式
      
      固定为"层级 × 章节计数矩阵 + 合计行 + 占比行 + 告警/提示块"。示例(假数据):
      
      ```markdown
      ### 全书 Bloom 梯度报告
      
      | 章节 | 记忆 | 理解 | 应用 | 分析 | 评价 | 创造 | 小计 |
      | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ |
      | 01 向量与线性组合 | 1 | 3 | 2 | 0 | 0 | 0 | 6 |
      | 02 矩阵与线性变换 | 1 | 4 | 2 | 1 | 0 | 0 | 8 |
      | 03 解线性方程组 | 0 | 2 | 4 | 1 | 0 | 0 | 7 |
      | **合计** | 2 | 9 | 8 | 2 | 0 | 0 | 21 |
      | **占比** | 10% | 43% | 38% | 10% | 0% | 0% | 100% |
      
      **检查结果**:
      - 规则 1:最高占比"理解"43% < 60%,通过。
      - 规则 2:应用 + 分析 = 10 题 > 0,通过。
      - 规则 3:记忆 + 理解 = 11 题 > 0,通过。
      - ℹ️ 备注:评价/创造两层全书为 0,属常见情况;建议在末章表现性任务附近补 1–2 道(非强制)。
      ```
      
      若有告警,在检查结果块中按规则文案输出,并逐条给出"建议在第 N 章补 X 层级题目"的可操作建议。
      
      ## 7. 每章内部的梯度建议(非硬规则)
      
      三类题(示范例题/引导练习/独立习题)是**支撑程度**维度,Bloom 是**认知高度**维度,二者正交、不可互相绑定——不存在"引导练习=理解层"这类绑定。
      
      **每类题各自落在哪几层,随学科而变,查所用学科档案的第 3 节**(`../../textbook/references/profiles/<id>.md`)。同一套"教 → 扶 → 放"脚手架,在 STEM 里示范的是一遍可执行程序、在人文社科里示范的是一次材料研读,落到的认知高度天然不同档。把某一学科的经验分布写在这里当通用默认,会让另一学科的正常章节被读成"梯度异常",进而被降级改题——这正是本节此前的问题。
      
      无论用哪份档案,以下三条都成立:
      
      - 独立习题按 Bloom 阶梯**先低后高**排列;
      - 偏离档案给出的分布不是错误——例如"证明技巧"主题章可能整体偏分析层,能说明理由即可;
      - 梯度以**全书**为单位检查(第 5 节三条规则),章内分布只是设计参考,不进检查规则。
      
    • performance-task-rubric.md 6.7 KB
      # 表现性任务与评价标准(UbD 评估证据的另一半)
      
      本文档是 textbook-outline 阶段 3 设计表现性任务的权威来源,与 [ubd-framework.md](ubd-framework.md)(阶段 2 预期结果)配套。GRASPS 与评价标准(rubric)两个工具同样源自 Wiggins & McTighe《Understanding by Design》,此处按"写教材"场景做了落地化改写。本文档属**学科无关内核**(见 [../../textbook/references/subject-profile-spec.md](../../textbook/references/subject-profile-spec.md) 第 2 节):任何学科档案下六要素与 rubric 的写法逐条相同,下文示例取自线性代数只是举例。
      
      ## 1. 为什么任务必须配评价标准
      
      UbD 阶段二「确定评估证据」的标准配置是三件:**表现性任务 + 评价标准 + 其他证据**。本 skill 组合的"其他证据"由例题习题计划承担得很充分(三类题 + Bloom 梯度 + 真算验证),缺口一直在中间那件。
      
      没有评价标准的表现性任务,是一句口号:
      
      - **作者无法评**——任务写着"给出一个降维方案并论证合理性",什么样算论证充分?两个作者会给出两种判断;
      - **学生不知道"好"长什么样**——只知道要交什么,不知道往哪个方向努力,这恰好是表现性任务本该解决的问题;
      - **迁移目标失去唯一落点**——迁移目标是五件套里最高的一件(指向真正的迁移能力),它在全书唯一的检验方式就是表现性任务。任务不可评,等于迁移目标不可验,`ubd-framework.md` 第 2.4 节"必须被至少一个表现性任务覆盖,否则就是空话"这条要求就只完成了一半。
      
      ## 2. GRASPS:表现性任务的六要素
      
      每个表现性任务用六要素写清,缺一要素就会退化成一道大号习题:
      
      | 要素 | 问什么 | 关键约束 |
      | ------ | -------- | ---------- |
      | **G**oal 目标 | 要达成什么结果、解决什么问题 | 指向某条迁移目标,不是复述章节内容 |
      | **R**ole 角色 | 学生扮演什么身份 | 一个会真的使用该学科的身份(顾问、审稿人、工程师),不是"学生" |
      | **A**udience 对象 | 成果交给谁看 | 明确且通常是非专业对象——迫使学生解释而非套公式 |
      | **S**ituation 情境 | 在什么场景下 | **必须是教材没直接教过的场景**(与迁移目标的情境要求同一条标准) |
      | **P**roduct 成果 | 产出什么 | 可评的具体产物(方案、报告、可运行代码、审阅意见),不是"回答问题" |
      | **S**tandards 标准 | 什么样算做好了 | 直接展开为第 3 节的评价标准表 |
      
      **好例**(承接 ubd-framework.md 2.4 节的迁移目标好例"在降维、压缩、推荐场景中主动识别低秩结构"):
      
      > **G**:为一个图片存储服务给出降维压缩方案,并论证画质与成本的取舍;
      > **R**:该服务的技术顾问;
      > **A**:不懂线性代数的产品经理;
      > **S**:服务存储成本超支,手上有一批灰度图片,要在"画质可接受"与"存储省一半"之间做决定——教材讲过奇异值分解,但没讲过图片压缩这个应用;
      > **P**:两页方案 + 一段可运行的验证代码(含压缩率与误差的实测数字);
      > **S**:见第 3 节评价标准表。
      
      **坏例**:"综合运用本书所学知识,写一篇关于矩阵分解应用的报告。" 六要素里只剩下一个模糊的成果——没有角色、没有对象、没有具体情境,学生只能靠猜;而且"综合运用所学"停留在教过的范围内,是应用不是迁移。
      
      ## 3. 评价标准(rubric)的写法
      
      **结构**:维度 3–5 个 × 水平 3–4 级。维度太少评不出层次,太多作者自己也用不动。
      
      **两条硬要求**:
      
      1. **维度必须从持久理解与迁移目标推出**,不能用通用的"完整性 / 条理性 / 创新性"——那是作文评分表,评不出学科理解。至少有一个维度直接对准迁移(能否在新情境中识别学科结构),否则 rubric 退化成交付物检查清单;
      2. **每格写可观察的表现描述**,不写程度副词。"较好地理解低秩结构"无法判定,两个人给分能差两级;"能指出图片矩阵的奇异值快速衰减,并据此判断可低秩近似"可以判定。
      
      **示例**(承接第 2 节的任务,3 维度 × 3 水平;实际可用 4 级并扩到 5 个维度):
      
      | 维度 | 优秀 | 合格 | 未达成 |
      | ------ | ------ | ------ | -------- |
      | **结构识别**(迁移核心) | 自主把"压缩存储"重述为低秩近似问题,并说明图片矩阵为何具备低秩结构 | 在提示"能否用矩阵分解"后能正确建立联系 | 把任务当作套用某个公式,未识别出低秩结构 |
      | **方法选择与论证** | 说明为何选奇异值分解、秩 k 依据什么定(如奇异值衰减曲线或误差阈值),并指出方法的失效场景 | 选对方法并给出 k 的一个合理依据,未讨论失效场景 | 未说明选择理由,或 k 的取值无依据 |
      | **面向非专业对象的表达** | 不使用未解释的术语,用画质与成本的具体数字支撑取舍建议 | 表达基本可读,但残留少量未解释术语 | 直接罗列公式与代码,产品经理无法据此决策 |
      
      注意三个维度都在评"学科理解的表现",没有一格在评排版或字数。
      
      ## 4. 与例题习题计划、Bloom 梯度的分工
      
      - **例题习题计划**评的是掌握程度(在教过的情境里能否正确执行),**表现性任务**评的是迁移(在没教过的情境里能否识别与运用)——两者是 UbD 阶段二的两类证据,不可互相替代,也不必互相重复;
      - 表现性任务通常落在 Bloom 的评价/创造层。**在评价/创造属少量点缀的学科里**(`stem` 档案即如此,各学科的章内分布见所用档案第 3 节),它与"高层题常放在末章"是同一件事的两面。**任务不计入全书梯度矩阵的题目统计**(梯度报告的统计口径是三类题,见 bloom-levels.md 第 5 节),但作者若因梯度报告缺高层而补题,表现性任务是自然的落点。
      
      ## 5. 自查清单(随阶段 3 呈现前必过)
      
      1. 每个任务六要素齐全,情境确实是教材没直接教过的?
      2. 每条迁移目标至少被一个任务覆盖,且该任务附了评价标准表?
      3. 每张表的维度 3–5 个、水平 3–4 级,且至少一个维度对准迁移?
      4. 维度是否都从持久理解或迁移目标推出,没有混入"完整性/条理性"这类通用项?
      5. 每格是可观察的表现描述,没有"较好地""基本能"这类无法判定的程度副词?
      
      任何一项不过,先修再呈现——与五件套 gate 同一条纪律:gate 是给作者确认方向的,不是让作者替 skill 做质检的。
      
    • ubd-framework.md 10.5 KB
      # UbD 逆向设计框架(教材版落地指南)
      
      本文档是 textbook-outline skill 阶段 2(UbD 预期结果设计)的内核依据,源自 Wiggins & McTighe《Understanding by Design(追求理解的教学设计)》,已针对"写教材"场景做落地化改写。本文档属**学科无关内核**(见 [../../textbook/references/subject-profile-spec.md](../../textbook/references/subject-profile-spec.md) 第 2 节):五件套的定义、质量标准与一致性检查在任何学科档案下逐条相同,下文示例统一取自"线性代数入门"只是举例。
      
      ## 1. 为什么逆向设计
      
      UbD 的核心主张是**以终为始**——先想清楚学生该带走什么,再设计怎么证明他们学会了,最后才动手写内容。三阶段顺序不可颠倒:
      
      | 阶段 | 名称 | 回答的问题 | 在本 skill 组合中的位置 |
      | ------ | ------ | ----------- | ------------------------ |
      | 一 | 确定预期结果 | 学生学完该理解什么、能迁移什么? | textbook-outline 阶段 2(核心 gate) |
      | 二 | 确定评估证据 | 拿什么证明学生真的学会了? | textbook-outline 阶段 3(例题/习题计划 + 表现性任务,后者的六要素与评价标准见 [performance-task-rubric.md](performance-task-rubric.md)) |
      | 三 | 设计学习体验 | 具体怎么教、怎么写? | textbook-chapter 逐章落实 |
      
      教材最常见的病是**知识点堆砌无主线**:一章章罗列概念,读者读完只记得零散名词。病根在于作者跳过了阶段一,直接从"我知道哪些内容"出发组织章节。UbD 阶段一就是解药——先逼出五件套,后面每一章、每道题都必须能追溯到它。
      
      ## 2. 五件套逐项落地
      
      阶段 2 的产出固定为五件套,缺一不可。以下每项给出定义、质量标准、好例与坏例(示例统一用"线性代数入门"教材)。
      
      **编号约定(五件套逐条编号,写入 `00-教材设计.md`「## 二」时就带上)**:
      
      | 件 | 前缀 | 示例 |
      | ---- | ------ | ------ |
      | 大概念 | `B` | `B1`、`B2` |
      | 持久理解 | `U` | `U1`、`U2` |
      | 核心问题 | `Q` | `Q1`、`Q2` |
      | 迁移目标 | `T` | `T1`、`T2` |
      | 学习目标 | `O` | `O1`、`O2` |
      
      前缀不同是为了让编号自解释:章节树里写 `承载的持久理解编号[U1, U3]`、`承载的学习目标编号[O2, O5]`,两串编号并列时不必回头查"这个 3 是哪一件的第 3 条"。编号一经确认**不再重排**——即使中途删掉一条,其余编号保持原样、空号作废,因为章节树和各章都已经引用了它们;重排一次,全书的引用就集体错位。
      
      **编号只在作者向文档里出现**:`00-教材设计.md`、章节树、阶段 5 的走查报告可以用。读者向产物(章正文含章首学习目标、`00-前言.md`、`99-表现性任务.md`)一律不带编号——学生读到"O3"只会困惑,编号是设计追溯用的脚手架,不是教学内容。
      
      ### 2.1 大概念(Big Ideas)
      
      **定义**:学科中有解释力和组织力的核心概念主张,能把一批零散知识点串成整体。
      
      **数量约束**:3–7 个。少于 3 个说明教材范围可能太窄或提炼不足;多于 7 个说明还没真正提炼——大概念要"少而精"。
      
      **质量标准**:
      
      - 是一个"主张"或"视角",不是一个名词术语;
      - 能串起 ≥3 个零散知识点;
      - 在全书多章反复出现并加深。
      
      **好例**:"线性变换——矩阵不是数字表格,而是空间变换的代数表示。"(它串起了矩阵乘法、行列式、特征值、基变换等一批知识点,并给出统一视角。)
      
      **坏例**:"矩阵。"(这只是名词,没有主张,什么也解释不了;"第二章讲矩阵"式的目录思维正是要避免的。)
      
      ### 2.2 持久理解(Enduring Understandings)
      
      **定义**:希望学生在课程结束、忘掉细节之后仍能保留并应用的核心洞见——"忘掉细节后剩下的东西"。
      
      **句式强制**:每条必须写成"**学生将理解:……**"。这个句式逼你写出一个完整的、可以被理解的命题,而不是一个话题标签。
      
      **数量建议**:4–8 条(与大概念数量相称,每个大概念至少一条展开)。
      
      **质量标准**:
      
      - 是洞见(insight),不是知识点复述;
      - 检验法:把句子里的"学生将理解"删掉,剩下的部分如果是一条定义或公式,就不合格;如果是一个需要整章铺垫才能体会的判断,就合格。
      
      **好例**:"学生将理解:解线性方程组的过程本质上是在问'目标向量是否落在系数矩阵的列空间里'。"
      
      **坏例**:"学生将理解矩阵乘法的定义。"(这是记忆层的知识点,不是洞见——学生背下定义不等于获得了任何持久的东西。)
      
      ### 2.3 核心问题(Essential Questions)
      
      **定义**:指向大概念的开放性问题,能引发持续思考、在全书多章反复回来,而不是有标准答案的习题。
      
      **数量约束**:2–5 个。
      
      **质量标准**:
      
      - 无标准答案,或答案随理解深入而不断丰富;
      - 能贯穿多章:第 2 章第一次遇到它,第 6 章能给出更深的回答;
      - 学生读完全书后应该能对它做出有质量的回应。
      
      **好例**:"为什么同一个变换在不同基下长得完全不一样?我们该如何选择'好'的基?"(第一次讲基时提出,讲到特征值、对角化时再回来,层层加深。)
      
      **坏例**:"矩阵乘法怎么算?"(有标准答案,做一遍就关闭了,无法贯穿全书——这是习题不是核心问题。)
      
      ### 2.4 迁移目标(Transfer Goals)
      
      **定义**:学生能把所学应用到**新情境**的能力——这是教育的终极目标。
      
      **句式建议**:"学生能在<新情境>中运用<所学>做<事情>。"
      
      **数量建议**:2–4 条。
      
      **质量标准**:
      
      - 情境必须是教材没有直接教过的(否则只是应用不是迁移);
      - 必须在阶段 3 被至少一个表现性任务覆盖,否则就是空话。
      
      **好例**:"学生能在遇到任何降维、压缩、推荐系统场景时,主动识别其中的低秩结构并用矩阵分解语言描述它。"
      
      **坏例**:"学生能解教材上的习题。"(习题是教过的情境,这是练习不是迁移。)
      
      ### 2.5 学习目标(Learning Objectives)
      
      **定义**:可验证的、行为化的目标条目,说明学生"能做什么"。
      
      **动词强制**:每条必须使用 Bloom 对应层级的动词(动词表见同目录 [bloom-levels.md](bloom-levels.md) 第 2 节),并在句末标注层级。**禁用**"理解、掌握、了解、熟悉"等不可验证的模糊动词。
      
      **数量建议**:全书 8–15 条(约每章 1–2 条落点),覆盖 ≥4 个 Bloom 层级。
      
      **质量标准**:
      
      - 每条可验证——能想象出一道题或一个任务来检验它;
      - 每条能追溯到某条持久理解(见第 3 节一致性检查);
      - 覆盖多个 Bloom 层级,不全堆在一层。
      
      **好例**:"能用高斯消元法求解 3×4 增广矩阵对应的方程组,并判断解的个数(Bloom:应用)。"
      
      **坏例**:"理解高斯消元法。"("理解"无法验证——学生怎样算"理解了"?说不清就无法出题、无法评估。)
      
      ## 3. 五件套之间的一致性检查
      
      五件套不是五个独立清单,它们之间有强制的追溯关系。阶段 2 呈现给作者前,先自查:
      
      | 检查项 | 规则 | 不通过的处理 |
      | -------- | ------ | ------------- |
      | 学习目标 → 持久理解 | 每条学习目标须能追溯到至少一条持久理解 | 追溯不到的目标要删除,或补写它服务的持久理解 |
      | 核心问题 → 大概念 | 每个核心问题须指向至少一个大概念 | 指不到的问题是无主线的"趣味题",删除或改写 |
      | 迁移目标 → 表现性任务 | 每个迁移目标须在阶段 3 被至少一个表现性任务覆盖 | 阶段 3 校验;未覆盖则补任务或明示放弃该目标 |
      | 学习目标 → 承载章 | 每条学习目标须在阶段 3 被至少一章承载(章节树的 `承载的学习目标编号[]`) | 阶段 3 校验;没有章承载的目标要么补进某章,要么与作者商定删除——它已经写不进任何一章的章首,学生永远看不到它 |
      | 持久理解 → 大概念 | 每条持久理解应是某个大概念在具体方向上的展开 | 孤立的持久理解说明大概念清单不完整 |
      
      ## 4. 五件套在后续阶段如何使用
      
      五件套经作者确认后(合称 **UbD 五件套**)即成为全流程的对齐基准:
      
      - **阶段 3(章节设计)**:章节树中每一章必须声明它承载哪几条持久理解。承载不了任何一条的章要砍掉或改造;反过来,没有任何章承载的持久理解,要么补章,要么作者明示放弃。这条双向检查是防堆砌的硬机制。
      - **阶段 4(单章写作)**:textbook-chapter 的输入契约携带五件套的 `{大概念[], 持久理解[], 核心问题[]}` 三项,**该章承载的学习目标原文随大纲切片一并下传**(不下传全书的目标清单——上下文隔离)。章引言应呼应一条核心问题;概念讲解的展开方向由该章承载的持久理解决定;章首把该章的学习目标改写成**学生版**(第二人称、去编号、去 Bloom 标注);"本章小结"须回应本章推进了哪条持久理解,并让读者拿章首那几条逐条自检。
      - **阶段 5(审核定稿)**:主 skill 全书走查每条持久理解是否有章实际承载(不只看计划,看写出来的小结),并复核学习目标的 Bloom 分布是否落实。
      
      ## 5. 快速自查清单(gate 呈现前必过)
      
      把五件套呈现给作者确认之前,逐项自问:
      
      1. 大概念是否 3–7 个,且每个都是"主张"而非名词?
      2. 每条持久理解删掉句式前缀后,剩下的是洞见还是定义复述?
      3. 核心问题是否 2–5 个,且每个都能在多章反复回来?
      4. 迁移目标的情境是否真的"教材没直接教过"?
      5. 每条学习目标是否都用了 Bloom 动词并标注层级、可出题检验?
      6. 一致性检查(第 3 节)中阶段 2 可检的三项(学习目标→持久理解、核心问题→大概念、持久理解→大概念)是否全部通过?(迁移目标→表现性任务、学习目标→承载章两项留待阶段 3 校验)
      7. 五件套每条都带编号了吗(`B`/`U`/`Q`/`T`/`O` 前缀,见第 2 节编号约定)?下游的章节树要靠编号引用它们。
      
      任何一项不过,先修再呈现——gate 是给作者确认方向的,不是让作者替 skill 做质检的。
      
  • SKILL.md 11.3 KB
    ---
    name: textbook-outline
    description: 教材项目要做教学设计时用它:产出教学定位、UbD 预期结果五件套(大概念 / 持久理解 / 核心问题 / 迁移目标 / 学习目标)、章节树与例题 Bloom 梯度规划,写入 00-教材设计.md。触发语如"设计教材大纲"、"教材规划"、"课程体系设计"。通常由 textbook 调度,也可单独运行。不负责写章节正文,也不负责生成习题。需与 textbook 系列其余 skill 装在同一 skills 目录下。
    slug: textbook-outline
    displayName: 教材写作·大纲设计
    version: 0.6.2
    summary: 教材的教学设计阶段——教学定位、UbD 预期结果五件套、章节树与例题 Bloom 梯度,产出 00-教材设计.md。textbook 流水线的阶段 1–3,需与 textbook 系列其余 skill 同级安装。
    ---
    
    # textbook-outline
    
    以 UbD 逆向设计完成教材的阶段 1–3:教学定位 → 预期结果设计(核心 gate)→ 评估与章节设计(次要 gate),产出 `00-教材设计.md`。本 skill 是"先想清楚学生该带走什么,再倒推章节和例题"的落地执行者。
    
    ## 何时不触发
    
    - 写章节正文(用 textbook-chapter)
    - 生成例题/习题(用 textbook-exercises)
    - 单篇教程的大纲(用 tutorial-writer)
    
    ## 两种调用模式
    
    - **被 textbook 调度**(常规):输入为 `{教材项目目录, 教材名}`;产出写入该目录,阶段 1 判定出的 `学科档案` 与两个 gate 的确认结果回报主 skill(`.progress.json` 由主 skill 维护,本 skill 不碰)。
    - **独立触发**:先用一轮提问确认教材名与落盘目录(默认 `./<教材名>/`),后续流程完全相同,产出 `00-教材设计.md`;不建 `.progress.json`——那是主 skill 的职责。
    
    交接契约、落盘布局、进度打印与 gate 停点格式的权威定义见 [../textbook/references/handoff-contract.md](../textbook/references/handoff-contract.md),下文简称"契约文档"。本 skill 的进度行 `▶ 阶段 N/3` 是子 skill 内层标尺(契约文档第 5 节:N/M 中 M 为当前 skill 自身的阶段总数);被调度时全局的 `▶ 阶段 N/5` 行由主 skill 打印,两级并存。
    
    ## 阶段 1/3:教学定位确认
    
    打印进度:`▶ 阶段 1/3:教学定位确认`
    
    用 AskUserQuestion **一轮**收集四项(对应契约的前四项;第五项 `学科档案` 由学科判定得出,不问作者):
    
    1. **学科**:具体到分支(如"线性代数"而非"数学")。用户触发时若已说明,此项不再问。
    2. **读者认知起点**:零基础 / 有先修(注明先修什么)
    3. **教材深度**:入门 / 进阶
    4. **篇幅规模**:6–8 章 / 8–12 章 / 12 章以上
    
    若当前环境没有 AskUserQuestion 工具,降级为编号提问并等待文本回复:
    
    ```text
    请回答以下问题(回复格式如 "1 线性代数 2a 3a 4b"):
    1. 教材学科(请具体到分支)?
    2. 读者认知起点? a) 零基础  b) 有先修(请注明)
    3. 教材深度? a) 入门  b) 进阶
    4. 篇幅规模? a) 6–8 章  b) 8–12 章  c) 12 章以上
    ```
    
    按语义宽松解析回复,能定位到各项即可;无法判断时只就有歧义的一项追问。
    
    **判定学科档案**(契约第五项):按学科到 [../textbook/references/subject-profile-spec.md](../textbook/references/subject-profile-spec.md) 第 5 节索引表定位档案 id。判定一次、全流程沿用,后续阶段不重判。
    
    - 索引里有匹配项 → 取该 id;
    - 找不到匹配项(如历史/哲学/文学等答案取决于论证与立场的学科)→ 按该文档第 7 节处理:向作者说明「本学科暂无专属档案,将按 `<最接近的 id>` 档案处理」并指出已知差异(哪些题型在该档案里没有对应验证手段、章内段义是否需要调整),由作者决定继续或改学科范围,**不得静默套用**。作者决定继续则照该档案执行,`学科档案` 记录实际使用的 id。
    
    **档案有前置输入要求时,追加一轮材料提问**:判定出的档案第 1 节若写有「前置输入要求」(`humanities`、`economics` 有,`stem` 没有),在写盘前**追加一轮提问**,按该档案点名的类别向作者索要材料。这一轮之所以必要:四问里第 1 问才问到学科,问完才判定得出档案,届时才知道本学科要不要材料——所以它只能发生在第一轮之后。
    
    **这一轮不是 gate**:作者答"没有"、答不全、或直接跳过,一律照常放行进入阶段 2,**绝不等待确认**。它换来的不是许可,是让作者在动笔前就知道代价。两条出口都要落盘:
    
    - 作者提供了 → 把材料清单(书名与版本 / 数据库与口径 / 文献目录)写进「## 一、教学定位」的子节,后续各章据此核对;
    - 作者未提供或给不全 → 把该档案第 1 节的降级纪律与**预期代价**写进同一子节(如「无史料输入时预期约三分之一的题挂 `⚠️ 需作者确认`,定稿前需逐条核定」)。
    
    **为什么必须落盘、不能只在对话里说一句**:各章在不同会话里独立写成(上下文隔离),`00-教材设计.md` 是唯一能传到阶段 4 的载体。只说过没写下的纪律,写第 3 章时等于不存在。
    
    产出写入 `00-教材设计.md` 的「## 一、教学定位」,其中**必须含一行 `学科档案:<id>`**——不设 gate,让作者看见即可:档案决定全书的验证纪律与章内段式,选错一次会歪一整本书,而作者是唯一有资格判断「这个近似可以接受」的人。写完**不停顿**,直接进入阶段 2。
    
    ## 阶段 2/3:UbD 预期结果设计(核心 gate)
    
    打印进度:`▶ 阶段 2/3:UbD 预期结果设计`
    
    严格按 [references/ubd-framework.md](references/ubd-framework.md) 设计五件套(此段与学科无关,任何档案下逐条要求相同)。学习目标动词查 [references/bloom-levels.md](references/bloom-levels.md) 第 2 节的通用基线,再补所用档案第 3 节的本学科特有动词:
    
    1. **大概念**:3–7 个,每个是"主张"不是名词;
    2. **持久理解**:一律"学生将理解:……"句式,是洞见不是知识点复述;
    3. **核心问题**:2–5 个开放性问题,能贯穿多章;
    4. **迁移目标**:情境必须是教材没直接教过的;
    5. **学习目标**:每条用 Bloom 动词 + 层级标注(格式:目标句 +(Bloom:应用)),可出题检验。
    
    五件套**逐条带编号**呈现并写入设计文档(前缀 `B`/`U`/`Q`/`T`/`O`,约定与"编号不重排"纪律见 ubd-framework.md 第 2 节)——阶段 3 的章节树要靠编号引用持久理解与学习目标。
    
    呈现前先过 ubd-framework.md 第 5 节的快速自查清单(七问)和第 3 节一致性检查——**自查不过先修再呈现**,gate 是给作者确认方向的,不是让作者替 skill 做质检的。
    
    完整呈现五件套后停下:
    
    `⏸ 等待确认:UbD 五件套(回复"确认"进入章节设计,或直接提出修改)`
    
    **Gate 规则(不可绕过)**:
    
    - 作者提出修改 → 更新后**重新完整呈现**五件套(每次重新呈现前同样先过第 5 节自查与一致性检查——修改可能破坏追溯关系),再次等待确认,循环直到作者明确确认;
    - **明确确认**的判定见契约文档第 5 节:明确表示通过且不附带修改要求("确认/通过/OK"等);"确认,但把 X 改一下"按修改分支处理(修改优先);答复含糊时追问而不是自行判定为确认;
    - 未确认绝不进入阶段 3;
    - 确认后将五件套写入 `00-教材设计.md` 的「## 二、UbD 五件套(已确认)」。
    
    ## 阶段 3/3:评估与章节设计(次要 gate)
    
    打印进度:`▶ 阶段 3/3:评估与章节设计`
    
    依据已确认的五件套设计四项产出(对应契约 `{章节树[], 例题习题计划[], 表现性任务[], 梯度报告}`):
    
    1. **章节树**:每章 `{章号, 章标题, 一句话定位, 承载的持久理解编号[], 承载的学习目标编号[]}`,章数符合阶段 1 的篇幅规模。
       **对齐检查(双向,硬性,两组编号各查一遍)**:
       - 持久理解:某章承载不了任何持久理解 → 砍掉或改造该章;某条持久理解没有任何章承载 → 补章,或向作者明示放弃该条;
       - 学习目标:某章一条学习目标都不承载 → 它的章首写不出"读完这章你能做什么",改造该章或并入相邻章;某条学习目标没有任何章承载 → 分配进某章,或与作者商定删除(ubd-framework.md 第 3 节留待本阶段校验的两项之一)。一条目标可被多章承载(跨章递进),一章通常承载 1–3 条——超过 4 条通常说明这一章装了太多东西。
       
       检查结果随章节树一并呈现。
    2. **例题习题计划**:每章三类题的 `{主题, Bloom层级}` 列表,数量参考四段式配额(示范例题 1–3 / 引导练习 1–3 / 独立习题 3–8,见 [../textbook-chapter/references/chapter-template.md](../textbook-chapter/references/chapter-template.md));层级分布参考**所用档案第 3 节**的章内分布建议——各学科不同(bloom-levels.md 第 7 节只留通用部分与指路)。
    3. **梯度报告**:按 bloom-levels.md 第 5–6 节生成"层级×章节矩阵 + 合计 + 占比 + 检查结果",执行三条检查规则。**有告警必须连同"建议在第 N 章补 X 层级题目"的可操作建议一起呈现**,不许只报问题不给出路。
    4. **表现性任务**:1–3 个综合性任务,按 [references/performance-task-rubric.md](references/performance-task-rubric.md) 设计——每个任务用 GRASPS 六要素写清情境(情境须是教材没直接教过的),并附一张评价标准表(维度 3–5 个 × 水平 3–4 级,维度从持久理解或迁移目标推出,每格写可观察的表现描述);每个注明对应哪条迁移目标(每条迁移目标至少被一个任务覆盖,否则回到五件套与作者商定取舍)。呈现前过该文档第 5 节自查清单。
       **动机**:没有评价标准的任务只是一句口号——作者无法评,学生不知道"好"长什么样,而表现性任务是迁移目标在全书唯一的检验落点。
    
    完整呈现四项后停下:
    
    `⏸ 等待确认:章节树与梯度规划(回复"确认"完成大纲设计,或直接提出修改)`
    
    Gate 规则与阶段 2 相同:修改后重新完整呈现,确认前绝不放行。确认后写入 `00-教材设计.md` 的「## 三、章节树与梯度规划(已确认)」与「## 四、表现性任务」。
    
    ## 产出与交接
    
    - **落盘物**:完整的 `00-教材设计.md`,固定二级标题结构见契约文档第 3 节;
    - **回报上游**(被调度时):阶段 1 完成即回报 `学科档案`(供主 skill 写入 `.progress.json` 的 `subject_profile`),阶段 3 完成回报契约 `{章节树[], 例题习题计划[], 表现性任务[], 梯度报告}` + 两个 gate 均已确认的显式声明;
    - 独立触发时,最后向作者说明:可用 textbook 从此设计文档继续逐章写作。
    
    ## 真实性约束
    
    五件套和章节树是设计产物,无需运行验证;但若作者在阶段 1 提供了学科材料(讲义、笔记、课程标准),设计必须与材料一致,不虚构材料中不存在的学科内容;材料未覆盖处按学科公认体系设计。
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related