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 agentmods add skills/ttguy0707/codojo/dojo-notebooknpx skills add ttguy0707/codojo --skill dojo-notebookgit clone --depth 1 https://github.com/ttguy0707/codojoWhat 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 | $0.00326 | $0.01478 |
| Opus 5 | $0.00163 | $0.00739 |
| Sonnet 5 | $0.00065 | $0.00296 |
| Haiku 4.5 | $0.00033 | $0.00148 |
Grade A, and why
dojo-notebook 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 3d 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.
What it actually says
dojo-notebook — 学习笔记本
一句话定位:用户随时说"记一下",AI 提炼知识点并智能追加到笔记本,按章节组织,不覆盖已有内容。
何时使用
- ✅ 用户在 S3 教学中说"记到笔记本"、"这个很重要"
- ✅ 用户在 S4 魔改中说"帮我记住这个"
- ✅ 用户在任何阶段说"记一下"、"加到笔记"
- ❌ 用户只是在正常对话中说"记得"(如"我记得上次说过")→ 不触发
前置条件
.codojo/目录存在(已进入学习流程)- 如果目录不存在,提示用户先通过 dojo-stage 进入学习流程
工作流
Step 1:捕获知识点
从当前对话上下文中识别用户想记录的知识点。优先级:
- 用户明确指定的内容("把刚才说的 XXX 记一下")
- 当前正在教学的知识点
- 最近一轮 AI 回复中的核心要点
Step 2:提炼精简笔记
将捕获的内容提炼为精简笔记:
- 每条笔记 1-3 句话,抓核心要点
- 不是原文搬运,而是 AI 理解后重新组织
- 如果涉及代码,保留关键代码片段(不超过 5 行)
- 标注来源阶段和时间
格式:
- **[S3 · 2026-05-29]** <知识点标题>:<精简描述>
Step 3:读取 notebook.md
读取 <repo-root>/.codojo/notebook.md:
- 如果文件不存在 → 执行 Step 3.1 初始化
- 如果文件存在 → 直接进入 Step 4
Step 3.1:初始化 notebook.md
根据 S1 评估中识别的项目技术栈,创建初始章节结构:
# 📒 学习笔记本
> 由 Codojo 自动整理,按章节组织。学习过程中随时说"记一下"即可添加笔记。
## 项目概览
## <技术栈章节 1>
## <技术栈章节 2>
## 业务逻辑
## 其他
章节名根据 open-questions.md 中的项目技术栈概览生成(如:Spring Boot、MyBatis、Redis 等)。
Step 4:智能归类
判断新笔记应归入哪个章节:
- 扫描已有章节标题,语义匹配最佳章节
- 如果匹配度高(明确属于某章节)→ 追加到该章节末尾
- 如果无匹配(全新主题)→ 在"其他"章节之前新建章节
Step 5:去重检查
对比目标章节下已有内容:
- 如果新笔记与已有条目描述相同知识点 → 合并(补充新信息到已有条目)
- 如果新笔记是全新内容 → 正常追加
- 合并时保留更早的时间戳,在末尾追加更新标记
Step 6:写入文件
在目标章节末尾追加新笔记条目。写入规则:
- 只修改目标章节区域
- 不动其他章节的任何内容
- 不修改文件头部说明文字
Step 7:确认并回到教学
输出简短确认后立即回到教学上下文:
✅ 已记录到「Spring Boot」章节。继续——
然后无缝接续之前的教学内容,不需要用户说"继续"。
Gotchas
- 不要中断教学流程——记完笔记后必须无缝回到之前的上下文,不要等用户说"继续"
- 不要原文搬运——笔记是 AI 提炼后的精简版本,不是对话的复制粘贴
- 不要覆盖已有内容——永远是追加或合并,绝不删除用户已有的笔记
- 不要创建过多章节——如果一个知识点可以归入已有章节就不要新建,避免章节碎片化
- 不要把教学过程中的所有内容都自动记录——只在用户主动说"记一下"时才触发
- 如果用户说的"记一下"语义模糊(不确定要记什么),追问一次"你想记录刚才哪部分内容?"
- notebook.md 文件可能被用户手动编辑过——尊重用户的修改,不要"修正"用户自己写的内容
产出
| 文件 | 路径 | 说明 |
|---|---|---|
notebook.md |
<repo-root>/.codojo/notebook.md |
学习笔记本(持续增量更新) |
输出风格约束
详见共用 reference:../_shared/output-style-guide.md
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.
- 3d ago First seen · 139 lines · 326 tokens per session scan A f2b81b9e8efe
dojo-notebook is a skill published in the GitHub repository ttguy0707/codojo (56 stars, last pushed 2mo ago), licensed MIT. It adds 326 tokens to every session and 1,478 once invoked, about $0.0016 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
lineage-skill
Turn courses, books, video, audio, PDFs, slides, transcripts, OCR, notes, and long-form materials into source-grounded learning Skills that teach unseen concepts progressively with reliable terminal ASCII or SVG visuals, ask two end-of-lesson questions together by default, give focused feedback, schedule review, test…
material_converter
原生 OMML→LaTeX、page/slide/heading 锚点、manifest 记录);.
openspec-onboard
Guided onboarding for OpenSpec - walk through a complete workflow cycle with narration and real codebase work.
tutor-setup
Transforms knowledge sources into an Obsidian StudyVault. Two modes: (1) Document Mode — PDF/text/web sources → study notes with practice questions. (2) Codebase Mode — source code project → onboarding vault for new developers. Mode is auto-detected based on project markers in CWD.
anki-card-maker
Extract key knowledge from study materials (text, Markdown, notes) and generate front-question + back-answer flashcards, producing an Anki-compatible CSV file ready for import. Trigger when users mention flashcards, Anki, spaced repetition, need to convert notes into Q&A pairs, or request memory cards or review cards…
academy-learn
Use when the user wants to be taught an Anthropic product or feature - "teach me Claude Code", "learn Cowork", "academy lesson", "train me on MCP or the Claude API", "quiz me", "next lesson" - or asks for structured learning rather than a one-off answer. Covers Claude Code, Claude.ai, Cowork, Tag, Platform/API, and AI…