---
name: Textbook Outline
slug: textbook-outline
category: Writing
description: "Designs textbook structure with UbD backward planning: defines big ideas, enduring understandings, essential questions, transfer goals, and learning objectives, then creates chapter outlines and Bloom's taxonomy-aligned exercise plans."
github: "https://github.com/cabbage2000-lab/textbook-writer-skills/tree/main/skills/textbook-outline"
language: Python
stars: 19
forks: 4
install: "npx degit https://github.com/cabbage2000-lab/textbook-writer-skills/tree/main/skills/textbook-outline ~/.claude/skills/textbook-outline"
installs_to: ~/.claude/skills/textbook-outline
source_path: skills/textbook-outline/SKILL.md
collection_size: 5
category_size: 1012
collection_url: "https://dirskills.com/collections/cabbage2000-lab/textbook-writer-skills"
added: 2026-08-11T07:22:35.553Z
last_synced: 2026-08-11T07:22:35.553Z
canonical_url: "https://dirskills.com/skills/textbook-outline"
---

# Textbook Outline

Designs textbook structure with UbD backward planning: defines big ideas, enduring understandings, essential questions, transfer goals, and learning objectives, then creates chapter outlines and Bloom's taxonomy-aligned exercise plans.

**Install:**

```bash
npx degit https://github.com/cabbage2000-lab/textbook-writer-skills/tree/main/skills/textbook-outline ~/.claude/skills/textbook-outline
```

## README

# 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。

产出写入 `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：应用）），可出题检验。

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

完整呈现五件套后停下：

`⏸ 等待确认：UbD 五件套（回复"确认"进入章节设计，或直接提出修改）`

**Gate 规则（不可绕过）**：

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

## 阶段 3/3：评估与章节设计（次要 gate）

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

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

1. **章节树**：每章 `{章号, 章标题, 一句话定位, 承载的持久理解编号[]}`，章数符合阶段 1 的篇幅规模。
   **对齐检查（双向，硬性）**：某章承载不了任何持久理解 → 砍掉或改造该章；某条持久理解没有任何章承载 → 补章，或向作者明示放弃该条。检查结果随章节树一并呈现。
2. **例题习题计划**：每章三类题的 `{主题, Bloom层级}` 列表，数量参考四段式配额（示范例题 1–3 / 引导练习 1–3 / 独立习题 3–8，见 [../textbook-chapter/references/chapter-template.md](../textbook-chapter/references/chapter-template.md)）；层级分布参考 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 提供了学科材料（讲义、笔记、课程标准），设计必须与材料一致，不虚构材料中不存在的学科内容；材料未覆盖处按学科公认体系设计。
