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 chengkj99/kj-skills --skill course-campaigngit clone --depth 1 https://github.com/chengkj99/kj-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/chengkj99/kj-skills/course-campaign)<a href="https://agentmods.dev/skills/chengkj99/kj-skills/course-campaign"><img src="https://agentmods.dev/badge/skills/chengkj99/kj-skills/course-campaign/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/chengkj99/kj-skills/course-campaign"><img src="https://agentmods.dev/badge/skills/chengkj99/kj-skills/course-campaign.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.00146 | $0.02628 |
| Opus 5 | $0.00073 | $0.01314 |
| Sonnet 5 | $0.00029 | $0.00526 |
| Haiku 4.5 | $0.00015 | $0.00263 |
Grade A, and why
course-campaign 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 12d 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 — 174 lines — stays where its author put it; the contents beside it link to each section on GitHub.
course-campaign:整门课程的批量章节编排
把「一份章节清单 + 各章参考材料」按顺序逐章写完。本技能是编排层(工头),每一章的正文都交给 course-generator(执行层/工人)去写;本技能只负责四件工人管不了的事:
- 顺序管理——按清单逐章推进,不跳号、不漏章。
- 上下文衔接——写下一章前先读上一章结尾,让章节自然接龙。
- 进度持久化——每章写完落盘进度,中途中断后能从断点恢复,不从头重来。
- 里程碑维护——到指定节点提示 / 执行
/compact,避免上下文爆掉。
适用边界(先确认是不是该用我)
- ✅ 用我:要连续写多章(≥3 章),已有章节清单和各章材料路径,想一轮跑完。
- ❌ 不用我:只写一章 → 直接用
course-generator;还没定章节 →ai-programming-topic-planner先做选题。
输入(缺什么先问,别瞎补)
- 课程名称(必需)——如「Claude Code 从入门到精通」。
- 章节清单(必需)——每条含:章节编号、标题、参考材料路径、(可选)附加要求。
- 可以是一段表格 / 列表,也可以指向一个清单文件。
- 清单格式与字段说明见 references/state-and-manifest.md。
- 输出路径(建议)——章节正文落盘目录。不给就沿用课程已有结构,或问用户。
- 里程碑规则(可选)——在哪几章写完后 compact、compact 时保留什么。不给则用默认(见下「上下文管理」)。
- 风格基线(可选)——要对齐的已有章节(如「严格对齐 CC-001~CC-004」)。会作为附加要求透传给 course-generator。
启动时的第一件事:建 / 读进度文件
每次被调用,先确认进度文件存在并读它,据此决定从哪一章接着写:
- 进度文件路径:
<输出目录>/.course-campaign-progress.md - 不存在 → 按章节清单初始化它(全部标
pending),从第一章开始。 - 已存在 → 读出
done/pending,从第一个非 done 的章节继续,已完成的不重写。
进度文件的字段、状态机、初始化模板见 references/state-and-manifest.md。
这一步是「中途可恢复」的根。哪怕对话被 compact、被中断、隔天再来,只要读到这个文件就知道写到哪了。
主循环:每章固定四步(一步都不能省)
对清单里每一个尚未完成的章节,依次执行 A→B→C→D:
Step A:读上一章结尾(第一章跳过)
- 从进度文件找到上一章的输出文件路径,
Read它的最后两段。 - 记住它引出下一章的方式(是抛了个问题?留了个悬念?点了下一章的名?)。
- 这决定本章结尾要怎么「接上一章的话茬」,以及开头能不能顺势承接。
如果上一章不是本技能写的(比如清单从 CC-005 起、CC-004 是别人写的),同样去读 CC-004 的结尾,把语感和接龙方式摸清楚。
Step B:调用 course-generator 写本章
用 Skill 调起 course-generator,把下列信息整理成一段清晰的输入传给它(course-generator 是单章引擎,不知道整门课的存在,所有衔接信息都要你喂):
- 课程名称:<课程名>
- 章节编号 + 标题:清单里的本章条目
- 参考材料:清单里本章的材料路径(直接给路径,让 course-generator 自己 Read / 搜料)
- 输出路径:本章落盘的完整路径
- 附加要求(关键,把衔接信息塞这里):
- 「结尾须自然引出下一章:<下一章编号 + 标题>」
- 「开头承接上一章结尾:<Step A 记到的引出方式>」(第一章无)
- 「风格严格对齐 <风格基线,如 CC-001~CC-004>」
- 清单里本章自带的其它附加要求
等 course-generator 真正把文件写完再继续,不要并行抢跑下一章——衔接依赖前一章已落盘。
Step C:更新进度文件
course-generator 交付后:
- 把本章状态从
pending改成done,记上输出文件路径、字数、章节类型。 - 这是断点续写的存档点,必须每章都写。
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.
- 12d ago First seen · 174 lines · 146 tokens per session scan A fdedc6178340
course-campaign is a skill published in the GitHub repository chengkj99/kj-skills (14 stars, last pushed 11d ago), licensed MIT. It adds 146 tokens to every session and 2,628 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
hr-onboarding
A new-hire onboarding plan as a single page — first week schedule, buddy + manager intro, learning track, equipment checklist, and "you're set when…" outcomes. Use when the brief mentions "onboarding", "new hire", "first week plan", or "入职".
book-mirror
Take any book (EPUB/PDF), produce a personalized chapter-by-chapter analysis. Each chapter is preserved in detail (The Chapter) and mirrored back to the reader's actual life (The Mirror) using brain context. The mirror observes and resonates — a friend pointing out parallels, NOT a consultant rearranging the reader's…
miniapp
Build a tiny interactive HTML playground only when someone asks to see, play with, or step through a mechanism.
eli5
Explain research, papers, or technical ideas in plain English with minimal jargon, concrete analogies, and clear takeaways. Use when the user says "ELI5 this", asks for a simple explanation of a paper or research result, wants jargon removed, or asks what something technically dense actually means.
deck-course-module
A course or workshop slide template with persistent learning goals, teaching pages, multiple-choice self-tests, and a wrap-up.
master-yinguang
A reference-based assistant for questions about Yinguang and Pure Land Buddhism, a Buddhist tradition focused on faith, ethical living, and practice connected with rebirth in the Pure Land. It can answer in Yinguang’s historical teaching style.