textbook-outline · v0.6.0 · 2026-09-02 · sha256 3105ec9232a7ed3e

textbook-outline v0.6.0A

Immutable. This exact content never changes and is served at /api/v1/blob/3105ec9232a7ed3e.

---
name: textbook-outline
description: Use when a textbook project needs its teaching design — 教学定位、UbD 预期结果五件套(大概念/持久理解/核心问题/迁移目标/学习目标)、章节树与例题 Bloom 梯度规划 — e.g. "设计教材大纲"、"教材规划"、"课程体系设计". Usually orchestrated by textbook; can run standalone to produce 00-教材设计.md. Not for writing chapter prose or generating exercises.
slug: textbook-outline
displayName: 教材大纲设计
version: 0.6.0
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 提供了学科材料(讲义、笔记、课程标准),设计必须与材料一致,不虚构材料中不存在的学科内容;材料未覆盖处按学科公认体系设计。