Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add cabbage2000-lab/textbook-writer-skills --skill textbook-chaptergit clone --depth 1 https://github.com/cabbage2000-lab/textbook-writer-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/cabbage2000-lab/textbook-writer-skills/textbook-chapter)<a href="https://agentmods.dev/skills/cabbage2000-lab/textbook-writer-skills/textbook-chapter"><img src="https://agentmods.dev/badge/skills/cabbage2000-lab/textbook-writer-skills/textbook-chapter/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/cabbage2000-lab/textbook-writer-skills/textbook-chapter"><img src="https://agentmods.dev/badge/skills/cabbage2000-lab/textbook-writer-skills/textbook-chapter.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00150 | $0.02633 |
| Opus 5 | $0.00075 | $0.01316 |
| Sonnet 5 | $0.00030 | $0.00527 |
| Haiku 4.5 | $0.00015 | $0.00263 |
Grade A, and why
textbook-chapter scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 63 lines — stays where its author put it; the contents beside it link to each section on GitHub.
textbook-chapter
按四段式模板写一章教材正文:概念讲解 → 示范(教)→ 引导(扶)→ 独立(放)四段,外加章引言与本章小结。章结构的权威来源是 references/chapter-template.md,文体规范是 references/writing-style.md。
四段的标题文案、后三段的具体教学动作、配图类型与文体附加条款取自输入契约里 学科档案 指定的档案第 4 节——规格与索引见 ../textbook/references/subject-profile-spec.md,开写前先读该档案第 4 节。
何时不触发
- 设计教材大纲(用 textbook-outline)
- 全书多章调度(用 textbook)
- 只要题目不要正文(用 textbook-exercises)
两种调用模式
- 被 textbook 调度(常规):输入 = 契约
{章号, 章标题, 该章大纲切片, UbD五件套, 术语表, 前章小结, 学科档案, 答案排版}(字段定义见 ../textbook/references/handoff-contract.md 第 2 节;第 1 章的前章小结为空)。 - 独立触发(写深度技术文章):
答案排版恒为inline(没有教材项目目录,答案无处可搬);一轮问清{主题, 读者水平, 篇幅};按主题自行判定学科档案(索引见 subject-profile-spec.md 第 5 节,找不到匹配项按该文档第 7 节处理);自拟轻量版五件套(只取三件)——1 条持久理解("读者将理解:……"句式)+ 1 个核心问题 + 1–3 条学习目标(章首学生版目标的来源),连同选定的档案 id 一并向用户展示后开写(不设 gate,展示即可);无外部术语表时自建(两节结构与列定义同契约文档第 3 节,附加结构按档案第 4 节),无前章小结则引言直接从动机切入。
上下文隔离纪律(不可违反)
只接收上述输入契约,不读入其他章正文。跨章一致性靠三个轻量载体:术语表、前章小结、UbD 五件套(契约文档第 6 节)。"顺便读一下前几章找感觉"是违规——上下文膨胀会让长教材写不完。
写作流程
-
打印进度:被调度时打印
▶ 第 N/M 章:<章标题>;独立触发时打印章标题。 -
起草章骨架:按 references/chapter-template.md 第 2 节的完整模板起草——
- 引言:从前章小结的核心结论衔接进入,呼应五件套中的一条核心问题,先"为什么"再"学什么";
## 本章学习目标(章首件,任何档案下标题都是这一行):把大纲切片里"该章承载的学习目标原文"改写成学生版——第二人称、去掉编号与 Bloom 标注、保留可判断的动词,条数与切片给的一样多,不新增不合并(要点见 references/chapter-template.md 3.0 节)。独立触发时切片不存在,从自拟的持久理解推出 1–3 条;- 第一段(
stem档案为## N.1 概念讲解):按大纲切片中该章定位与承载的持久理解展开,每个概念走"动机 → 定义 → 直观解释 → 关系"链条; - 全程遵循 references/writing-style.md:叙事散文、认知负荷控制(一段一个新概念)、配图双轨(抽象概念配示意图,纯概念章至少一图)、措辞禁忌(禁"显然/易得"跳步)、中文排版;外加档案第 4 节的文体附加条款(
stem档案 = writing-style.md 第 13 节数学公式规范)。
-
生成三类题:使用 Skill 工具调用
textbook-exercises(传入契约{章上下文, 题目计划, 术语表, 学科档案},其中章上下文的概念清单与学习目标从大纲切片提取,学科档案原样透传);若 Skill 工具不可用或未注册,直接读取 ../textbook-exercises/SKILL.md 并严格遵循其指令执行。将返回题目按类型放入后三段(类型 → 段的对应关系固定:示范例题 → 第二段、引导练习 → 第三段、独立习题 → 第四段;段标题文案取自档案第 4 节),保持验证状态与验证过程代码块原样,不改动已验证解答的数值。 -
按
答案排版摆放答案(separate时;inline时跳过本步,一切照旧写在题干之后):- 引导练习:提示 1 / 提示 2 / 完整解答三层各套一个
<details>折叠,留在章内(写法见 chapter-template.md 3.3 节); - 独立习题:章内只留题干与 Bloom 标注,把
{参考答案或解题路径, 验证状态, 验证过程}三件整体摘出放进回报字段本章独立习题答案[],由主 skill 写入98-参考答案.md——只摘答案而把验证过程留在章内即泄底,三件必须一起走; - 示范例题一动不动:解答与验证留在章内、不折叠——它是 worked example 先行的教学内核,藏起来等于毁掉第二段。
- 论述类题的评价标准表与「开放题」标记留在章内(那是任务说明不是答案),参考要点随答案走。落位边界见契约文档 3.1 节。
- 引导练习:提示 1 / 提示 2 / 完整解答三层各套一个
-
写本章小结:按 chapter-template.md 3.5 节固定四件——核心结论(3–5 条,面向下一章作者)、与持久理解的呼应(一句话说明本章推进了哪条)、自检(把章首学习目标逐条原句搬下来写成
- [ ]复选项,每条给"回看 N.x"与"自测:习题 N-y"两个出口,题号必须在本章真实存在)、下一章预告(1 句)。 -
落盘与自查:写入
NN-<章标题>.md(NN 为两位章号);按 chapter-template.md 第 5 节章内自查清单逐项自查(第 3 条的题号对账与第 7 条的答案落位尤其要动手搜一遍),不过的当场修正后再交付。
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago Changed · +4 lines · +54 tokens per session 478602a2b38b
- 9d ago First seen · 59 lines · 96 tokens per session scan A db518fa504a6
textbook-chapter is a skill published in the GitHub repository cabbage2000-lab/textbook-writer-skills (27 stars, last pushed 7d ago), licensed MIT. It adds 150 tokens to every session and 2,633 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
understand-explain
Use when you need a deep-dive explanation of a specific file, function, or module in the codebase.
baoyu-comic
A tool for creating original educational comics that explain knowledge or ideas through multiple illustrated panels. It supports different art styles and tones and can create several comics in one batch.
skill-creation-walkthrough
Step-by-step guide for creating your own Claude Skills, from deciding whether a skill is the right tool to writing the SKILL.md file, structuring reference material, and making it trigger reliably. Use when you want to package a workflow, framework, or repeated task into a reusable Skill, when an existing skill is not…
elixir-idioms
OTP/BEAM patterns and Elixir idioms — GenServer, Supervisor, Task, Registry, pattern matching, with chains, pipes. Use when designing processes or debugging BEAM issues.
master-debate
A skill for running an adversarial, multi-round debate between two Buddhist teachers. It is designed for questions where the teachers argue from different positions.
master-atisha
A reference-based assistant for Atisha and the Kadam school, an early Tibetan Buddhist tradition. It explains the staged path to awakening and can answer in Atisha’s historical teaching style.