Textbook
Skill cabbage2000-lab/textbook-writer-skills/skills/textbook
基于 UbD 逆向设计的教材写作 skill 组合(支持 Claude Code / Codex CLI):教学定位 → 五件套 gate → 章节树 gate → 逐章写作,例题真算验证、中断可续写,面向数学/物理/计算机等 STEM 学科成体系教材写作
npx -y skills add cabbage2000-lab/textbook-writer-skills --skill textbookAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 23 days oldThe repository was created 23 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 9 stars9 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when the user wants to write a complete multi-chapter textbook or systematic course material with exercises — e.g. "写教材"、"写一本教材"、"编写课程讲义"、"系统教材"、"textbook". Orchestrates a five-stage UbD-driven pipeline (教学定位 → UbD 预期结果 gate → 章节树 gate → 逐章写作 → 审核定稿) with resumable progress via .progress.json. Not for single tutorials (use tutorial-writer), single chapters (use textbook-chapter), or exercise-only requests (use textbook-exercises).
SKILL.md
7.1 KB, ~2.5k tokens by cl100k_base, as published. Nobody here has run it
textbook
写教材的主 skill(orchestrator):驱动五阶段流程,管理 .progress.json 状态实现中断可续,在阶段间传递交接契约,最终交付一本有主线、有梯度、可评估的多章节 Markdown 教材。契约、落盘布局、状态机的权威定义见 references/handoff-contract.md(下称"契约文档")。
何时不触发
- 单篇教程/图文教程(用 tutorial-writer)
- 只写一章或一篇深度文章(用 textbook-chapter)
- 只要例题/习题(用 textbook-exercises)
- 只做大纲不写正文(直接用 textbook-outline)
工作流总览
| 阶段 | 名称 | 执行者 | 产出 | Gate? |
|---|---|---|---|---|
| 1 | 教学定位确认 | textbook-outline | 学科/读者起点/深度/篇幅 → 00-教材设计.md | 否(一轮提问) |
| 2 | UbD 预期结果设计 | textbook-outline | UbD 五件套 | 是(核心 gate) |
| 3 | 评估与章节设计 | textbook-outline | 章节树+例题计划+梯度报告+表现性任务 | 是(次要 gate) |
| 4 | 章节正文编写 | textbook-chapter(逐章) | NN-章.md × N + 术语表增量 | 否 |
| 5 | 审核定稿 | 本 skill | 自检报告 + 交付摘要 | 否 |
gate 之外的阶段只打印一行进度(格式见契约文档第 5 节),不打断作者。
启动与重入(每次触发的第一件事)
-
确定教材项目目录:用户指定则用之;未指定则询问一次(默认
./<教材名>/)。 -
找
.progress.json:- 不存在 → 全新项目:确认教材名 → 建目录 → 初始化
.progress.json(schema 见契约文档第 4 节,current_stage=1,gates 全 false)→ 从阶段 1 开始; - 存在 → 按契约文档第 4 节重入规则表定位续点,打印续写行:阶段 4 用
▶ 续写:<教材名>,从第 N 章继续,其余阶段用▶ 续写:<教材名>,从阶段 N 继续。特别地:current_stage=2/3且对应 gate 未确认时,从00-教材设计.md读出已有产出(阶段 2 为五件套、阶段 3 为章节树/例题习题计划/梯度报告/表现性任务四项)重新呈现并等确认,不推倒重做;作者提出修改时委托 textbook-outline 执行修改与再确认循环。
- 不存在 → 全新项目:确认教材名 → 建目录 → 初始化
-
状态纪律:
.progress.json只由本 skill 读写(子 skill 一律不碰);每完成一个阶段、每完成一章立即更新写盘,绝不批量延迟。
阶段 1–3:委托 textbook-outline
打印 ▶ 阶段 1/5:教学定位确认(阶段 2、3 进入时同格式)。
使用 Skill 工具调用 textbook-outline(传入 {教材项目目录, 教材名});若 Skill 工具不可用或未注册,直接读取 ../textbook-outline/SKILL.md 并严格遵循其指令执行。
- 其内部两个 gate 就是本流程的 gate——gate 由该子 skill 面向作者执行,本 skill 绝不越过未确认的 gate 推进状态;
- 阶段 2 确认后:置
gates.stage2_ubd_confirmed=true、current_stage=3,写盘; - 阶段 3 确认后:置
gates.stage3_outline_confirmed=true、current_stage=4、chapters.total=章节树章数、chapters.next=1,写盘。
阶段 4:逐章循环
打印 ▶ 阶段 4/5:章节正文编写。
对 章号 N 从 chapters.next 到 chapters.total 逐章执行(严格顺序,前章完成才写后章):
- 提取该章大纲切片:从
00-教材设计.md的「## 三、章节树与梯度规划(已确认)」取该章的章节树条目 + 例题习题计划; - 读跨章载体:术语表.md 当前版 + 前一章文件的「## 本章小结」全节(N=1 时前章小结为空);
- 组装输入契约调用 textbook-chapter:
{章号, 章标题, 该章大纲切片, UbD五件套, 术语表, 前章小结}(五件套从「## 二、UbD 五件套(已确认)」提取{大概念[], 持久理解[], 核心问题[]})。调用方式同上:Skill 工具优先,降级读 ../textbook-chapter/SKILL.md; - 收输出契约
{章文件路径, 新增术语[], Bloom标注回写[]}:新增术语追加进术语表.md;Bloom 标注回写记入00-教材设计.md该章例题习题计划条目旁的"实际"标注(与"计划"并排,供阶段 5 对比); - 更新状态:
chapters.done加入 N、chapters.next=N+1,写盘.progress.json。
全部章完成后置 current_stage=5,写盘。任何一章中途中断,重入时从 chapters.next 无缝继续,已完成章不重写。
阶段 5:审核定稿(自检清单,非 gate,必须全跑)
打印 ▶ 阶段 5/5:审核定稿。逐项检查并输出报告,每项给出:通过/不通过 + 具体位置 + 修改建议。
- 章节对齐走查:逐章读「## 本章小结」的"与持久理解的呼应",对照
00-教材设计.md的承载计划——每章至少承载一条持久理解,每条持久理解至少被一章实际承载; - Bloom 梯度复核(看实际不看计划):用各章"实际"标注重算层级×章节矩阵,按 ../textbook-outline/references/bloom-levels.md 第 5 节三条规则复核,输出第 6 节格式的报告;
- 术语一致性:对照术语表.md 抽查各章(每章至少查引言与小结两处)用词与符号是否一致,发现不一致列出位置;
- 例题验证残留:全书搜索
⚠️ 需作者确认,汇总成清单呈现——带此标注是合规的(红线允许"明确标注不能验证"),但必须让作者全部看见; - 循序渐进走查:逐章检查引言是否衔接前章小结、是否使用了后文才定义的概念(前置知识跳跃)。
报告完毕后:不通过项由作者决定修不修;作者要求修 → 定位到章,重新组装该章输入契约调用 textbook-chapter 修订(修订后相关项复查)。全部处理完写盘 stage5_passed:无遗留不通过项(全过或均已修复)置 true;作者决定不修的不通过项仍存在置 false,并在交付摘要中列明遗留项。
交付
输出交付摘要:章数 / 三类题总数 / 已验证题数 / ⚠️ 需作者确认 条数 / 梯度复核结论 / 未修复项清单(如有)。
交付物为教材项目完整目录(布局见契约文档第 3 节):00-教材设计.md、NN-<章标题>.md × N、术语表.md、.progress.json。
边界说明(须向作者说明):定稿指文字与结构层面完成;若正文含人工截图标注块,需作者按标注自行补图后才算可发布。