textbook-outlinelisted
Install: claude install-skill cabbage2000-lab/textbook-writer-skills
# textbook-outline
以 UbD 逆向设计完成教材的阶段 1–3:教学定位 → 预期结果设计(核心 gate)→ 评估与章节设计(次要 gate),产出 `00-教材设计.md`。本 skill 是"先想清楚学生该带走什么,再倒推章节和例题"的落地执行者。
## 何时不触发
- 写章节正文(用 textbook-chapter)
- 生成例题/习题(用 textbook-exercises)
- 单篇教程的大纲(用 tutorial-writer)
## 两种调用模式
- **被 textbook 调度**(常规):输入为 `{教材项目目录, 教材名}`;产出写入该目录,两个 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 章以上
```
按语义宽松解析回复,能定位到各项即可;无法判断时只就有歧义的一项追问。
**注意**:若学科属于文科论述型(历史/哲学/文学等),告知作者 v1 仅支持 STEM 概念型教材,文科为 v2 范围;作者坚持则继续走流程,但例题环节会按概念辨析题降级处理。
产出写入 `00-教材设计.md` 的「## 一、教学定位」,然后**不停顿**,直接进入阶段 2。
## 阶段 2/3:UbD 预期结果设计(核心 gate)
打印进度:`▶ 阶段 2/3:UbD 预期结果设计`
严格按 [references/ubd-framework.md](references/ubd-framework.md) 设计五件套,学习目标动词查 [references/bloom-lev