textbook-chapter
按大纲切片与 UbD 锚点写一章教材正文时用它:固定四段式结构——概念讲解 → 示范例题 → 引导练习 → 独立习题。触发语如"写第三章"、"按大纲写这一章"。通常由 textbook…
动笔写教材前要先规划并创建工作目录时用它:规划单本教材项目目录或多教材工作区,可选 git 版本管理与 README 工作说明,建好后把产出交接给 textbook。触发语如"初始化教材项目"、"创建教材工作目录"、"规划教材工作区"、"建一个写教材的目录"。只搭目录骨架,不创建流水线文件(.progress.json、00-教材设计.md、术语表.md)。写正文用 textbook(不经 init 它也会自建默认目录),续写已有项目直接用 textbook。需与 textbook 系列其余 skill 装在同一 skills 目录下。
$ npx -y skills add cabbage2000-lab/textbook-writer-skills --skill textbook-init --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/textbook-initContext preview
The summary Claude sees to decide when to auto-load this skill.
动笔写教材前要先规划并创建工作目录时用它:规划单本教材项目目录或多教材工作区,可选 git 版本管理与 README 工作说明,建好后把产出交接给 textbook。触发语如"初始化教材项目"、"创建教材工作目录"、"规划教材工作区"、"建一个写教材的目录"。只搭目录骨架,不创建流水线文件(.progress.json、00-教材设计.md、术语表.md)。写正文用 textbook(不经 init 它也会自建默认目录),续写已有项目直接用 textbook。需与 textbook 系列其余 skill 装在同一 skills 目录下。
name: textbook-init description: 动笔写教材前要先规划并创建工作目录时用它:规划单本教材项目目录或多教材工作区,可选 git 版本管理与 README 工作说明,建好后把产出交接给 textbook。触发语如"初始化教材项目"、"创建教材工作目录"、"规划教材工作区"、"建一个写教材的目录"。只搭目录骨架,不创建流水线文件(.progress.json、00-教材设计.md、术语表.md)。写正文用 textbook(不经 init 它也会自建默认目录),续写已有项目直接用 textbook。需与 textbook 系列其余 skill 装在同一 skills 目录下。 slug: textbook-init displayName: 教材写作·项目初始化 version: 0.6.2 summary: 动笔前规划并创建教材工作目录(可选 git 与 README 工作说明),只搭目录骨架、不碰流水线文件,产出交接给 textbook。需与 textbook 同级安装。
动笔前的工作目录规划师:一轮提问弄清作者要写一本还是多本、放在哪里、要不要版本管理,呈现目录方案等确认后创建目录骨架(可含 git 仓库与 README 工作说明),最后把作者交给 textbook 主流程开写。教材项目内部的文件构成以 [../textbook/references/handoff-contract.md](../textbook/references/handoff-contract.md)(下称"契约文档")第 3 节为唯一权威定义,本 skill 只引用不重复定义。
本 skill 只独立触发:不被 textbook 调度,不进五阶段契约链,产出是"就绪的空工作目录 + 启动指引"。
**流水线文件一律不建不改**:`.progress.json`(主 skill 是唯一写者,这是项目红线)、`00-前言.md`(阶段 5 派生生成)、`00-教材设计.md`(textbook-outline 写入)、`NN-<章标题>.md`(逐章生成)、`98-参考答案.md`(逐章追加)、`99-表现性任务.md`(阶段 5 派生生成)、`术语表.md`(主 skill 追加维护)。动机:主 skill 的重入判定靠"这些文件存不存在、内容有没有"定位续点(契约文档第 4 节),预建空文件会让它把全新项目误判成半成品;空壳文件混进交付物也违背"交付即可用"的底线。本 skill 创建的只有目录本身、`.gitignore` 和 README 工作说明——均在契约之外。
用 AskUserQuestion **一轮**收集四项(触发语已说明的项不再问):
1. **教材名**:如《线性代数入门》——将成为项目目录名; 2. **规划范围**:a) 只写这一本 b) 未来还会写多本(追加:工作区名,默认"教材工作区"); 3. **位置**:项目/工作区建在哪个目录下,默认当前目录 `./`; 4. **git 版本管理**:默认要(教材写作周期以周计,版本保护值回票价);作者明确不要则跳过。
若当前环境没有 AskUserQuestion 工具,降级为编号提问并等待文本回复:
请回答以下问题(回复格式如 "1 线性代数入门 2b 教材工作区 3 ./ 4 要"): 1. 教材名? 2. 规划范围? a) 只写这一本 b) 未来还会写多本(请给工作区名,默认"教材工作区") 3. 建在哪个目录下?(默认当前目录 ./) 4. 要 git 版本管理吗?(默认要)
按语义宽松解析回复,只就有歧义的一项追问。
按 [references/workspace-layout.md](references/workspace-layout.md) 第 1、2 节的布局规则组装方案,完整呈现后停下:
`⏸ 等待确认:工作目录方案(回复"确认"开始创建,或直接提出修改)`
作者提出修改 → 更新方案后**重新完整呈现**再等确认,循环直到明确确认;"确认,但把位置改一下"这类混合答复按修改分支处理(修改优先于确认,判定语义同契约文档第 5 节)。**确认前不创建任何东西。**
1. **建目录**:按确认的方案 `mkdir -p`; 2. **git 判重**:在目标位置检查是否已处于某个 git 仓库内(方法见 references/workspace-layout.md 第 3 节)——已在,则跳过 git init 并向作者说明原因; 3. **git 初始化**(作者要 git 且未命中判重):git init + 写 `.gitignore` + 首次提交,层级与内容规范见 references/workspace-layout.md 第 3、4 节; 4. **README 工作说明**:按 references/workspace-layout.md 第 5 节模板实例化——所有字段填当前项目的真实值,写完通读确认没有残留尖括号或待填空白; 5. **打印成果与下一步指引**:
✅ 工作目录就绪:<实际路径> 接下来对我说:写教材《<教材名>》,落盘目录用 <项目目录路径> (textbook 会在该目录里创建 .progress.json 并从教学定位开始五阶段流程)
Textbook-Writer-Skills 是一套装进编程智能体(Claude Code / Codex / 国内 WorkBuddy)的教材写作 skill 组合。它把成熟的教学设计方法装进 AI 的工作流:先想清楚「学生学完该带走什么」,再倒推章节和习题,一章一章写出有主线、有梯度、题目答案可信的成体系教材——中途断了随时续写。当前 v0.6.2:5 个 skill(1 个主调度 + 3 个流水线子 skill + 1 个独立辅助)覆盖从工作目录规划到审核定稿的五阶段全流程,理科、人文社科与经济学都能写。
按大纲切片与 UbD 锚点写一章教材正文时用它:固定四段式结构——概念讲解 → 示范例题 → 引导练习 → 独立习题。触发语如"写第三章"、"按大纲写这一章"。通常由 textbook…
生成带 Bloom 层级标注的成套习题时用它:示范例题(完整解题过程)、引导练习(带提示)、独立习题(附参考答案)三类,每道计算题的答案都真算核对过再输出。触发语如"出几道矩阵乘法的练习题"、"给这一章生成例题"。通常由 textbook-chapter 调用,也可单独运行。不适用于文科论述题(stem…
教材项目要做教学设计时用它:产出教学定位、UbD 预期结果五件套(大概念 / 持久理解 / 核心问题 / 迁移目标 / 学习目标)、章节树与例题 Bloom 梯度规划,写入 00-教材设计.md。触发语如"设计教材大纲"、"教材规划"、"课程体系设计"。通常由 textbook…
写一整本多章节教材或成体系的课程讲义(含习题)时用它:按 UbD 逆向设计调度五个阶段——教学定位 → UbD 预期结果(gate)→ 章节树(gate)→ 逐章写作 → 审核定稿;进度落盘…