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-outlinegit 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-outline)<a href="https://agentmods.dev/skills/cabbage2000-lab/textbook-writer-skills/textbook-outline"><img src="https://agentmods.dev/badge/skills/cabbage2000-lab/textbook-writer-skills/textbook-outline/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-outline"><img src="https://agentmods.dev/badge/skills/cabbage2000-lab/textbook-writer-skills/textbook-outline.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.00134 | $0.03405 |
| Opus 5 | $0.00067 | $0.01702 |
| Sonnet 5 | $0.00027 | $0.00681 |
| Haiku 4.5 | $0.00013 | $0.00341 |
Grade A, and why
textbook-outline 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 7d 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 — 125 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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,下文简称"契约文档"。本 skill 的进度行 ▶ 阶段 N/3 是子 skill 内层标尺(契约文档第 5 节:N/M 中 M 为当前 skill 自身的阶段总数);被调度时全局的 ▶ 阶段 N/5 行由主 skill 打印,两级并存。
阶段 1/3:教学定位确认
打印进度:▶ 阶段 1/3:教学定位确认
用 AskUserQuestion 一轮收集四项(对应契约的前四项;第五项 学科档案 由学科判定得出,不问作者):
- 学科:具体到分支(如"线性代数"而非"数学")。用户触发时若已说明,此项不再问。
- 读者认知起点:零基础 / 有先修(注明先修什么)
- 教材深度:入门 / 进阶
- 篇幅规模:6–8 章 / 8–12 章 / 12 章以上
若当前环境没有 AskUserQuestion 工具,降级为编号提问并等待文本回复:
请回答以下问题(回复格式如 "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 第 5 节索引表定位档案 id。判定一次、全流程沿用,后续阶段不重判。
- 索引里有匹配项 → 取该 id;
- 找不到匹配项(如历史/哲学/文学等答案取决于论证与立场的学科)→ 按该文档第 7 节处理:向作者说明「本学科暂无专属档案,将按
<最接近的 id>档案处理」并指出已知差异(哪些题型在该档案里没有对应验证手段、章内段义是否需要调整),由作者决定继续或改学科范围,不得静默套用。作者决定继续则照该档案执行,学科档案记录实际使用的 id。
档案有前置输入要求时,追加一轮材料提问:判定出的档案第 1 节若写有「前置输入要求」(humanities、economics 有,stem 没有),在写盘前追加一轮提问,按该档案点名的类别向作者索要材料。这一轮之所以必要:四问里第 1 问才问到学科,问完才判定得出档案,届时才知道本学科要不要材料——所以它只能发生在第一轮之后。
这一轮不是 gate:作者答"没有"、答不全、或直接跳过,一律照常放行进入阶段 2,绝不等待确认。它换来的不是许可,是让作者在动笔前就知道代价。两条出口都要落盘:
- 作者提供了 → 把材料清单(书名与版本 / 数据库与口径 / 文献目录)写进「## 一、教学定位」的子节,后续各章据此核对;
- 作者未提供或给不全 → 把该档案第 1 节的降级纪律与预期代价写进同一子节(如「无史料输入时预期约三分之一的题挂
⚠️ 需作者确认,定稿前需逐条核定」)。
为什么必须落盘、不能只在对话里说一句:各章在不同会话里独立写成(上下文隔离),00-教材设计.md 是唯一能传到阶段 4 的载体。只说过没写下的纪律,写第 3 章时等于不存在。
What ships with it
3 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.
- 7d ago Changed · +13 lines · +30 tokens per session 6534f80abe47
- 11d ago First seen · 112 lines · 104 tokens per session scan A 3ab26cedd0d5
textbook-outline is a skill published in the GitHub repository cabbage2000-lab/textbook-writer-skills (27 stars, last pushed 9d ago), licensed MIT. It adds 134 tokens to every session and 3,405 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-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.
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.