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-stagenpx skills add ttguy0707/codojo --skill dojo-stagegit clone --depth 1 https://github.com/ttguy0707/codojoWrote 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/ttguy0707/codojo/dojo-stage)<a href="https://agentmods.dev/skills/ttguy0707/codojo/dojo-stage"><img src="https://agentmods.dev/badge/skills/ttguy0707/codojo/dojo-stage.svg" alt="Measured on agentmods" height="20"></a>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 | $0.00316 | $0.01557 |
| Opus 5 | $0.00158 | $0.00779 |
| Sonnet 5 | $0.00063 | $0.00311 |
| Haiku 4.5 | $0.00032 | $0.00156 |
Grade A, and why
dojo-stage 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 4d 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 — 110 lines — stays where its author put it; the contents beside it link to each section on GitHub.
dojo-stage — 阶段路由器
一句话定位:自动判断当前学习阶段,路由到正确的 skill。
何时使用
- ✅ 用户首次说"帮我学这个项目"、"开始"
- ✅ 用户中断后回来说"继续"、"上次到哪了"
- ✅ 用户问"当前进度"、"我在哪个阶段"
- ✅ 无法判断用户意图属于哪个具体阶段时
前置条件
- 无(本 skill 是入口路由)
工作流
Step 1:检测文件状态
检查 <repo-root>/.codojo/ 目录下的文件存在情况和内容:
| 检测项 | 方法 |
|---|---|
| 目录是否存在 | .codojo/ 是否存在 |
| S1 是否完成 | open-questions.md 是否存在且末尾包含 <!-- ASSESS_DONE --> 标记 |
| S2 是否完成 | task.md + schedule.md 是否同时存在 |
| S3 进度 | schedule.md 中"总进度"行的百分比数值 |
| S3 是否完成 | schedule.md 总进度 = 100% |
| S4 是否启动 | plan.md 是否存在 |
Step 2:判断阶段并路由
根据 Step 1 的检测结果,按以下优先级判断:
| 条件 | 判定阶段 | 路由目标 |
|---|---|---|
.codojo/ 不存在 |
未开始 | → dojo-assess(S1) |
open-questions.md 不存在或无 <!-- ASSESS_DONE --> 标记 |
S1 未完成 | → dojo-assess(S1) |
有 <!-- ASSESS_DONE --> 标记 + task.md 不存在 |
S1 已完成,S2 未开始 | → dojo-plan(S2) |
task.md 存在 + schedule.md 进度 < 100% |
S2 已完成,S3 进行中 | → dojo-teach(S3) |
schedule.md 进度 = 100% + plan.md 不存在 |
S3 已完成,S4 未开始 | → dojo-hack(S4,询问是否进入) |
plan.md 存在 |
S4 进行中 | → dojo-hack(S4) |
Step 2.5:降级处理(文件异常时)
如果检测到以下异常情况,不要报错退出,按降级策略处理:
| 异常场景 | 降级策略 |
|---|---|
open-questions.md 存在但格式损坏(无法解析) |
提示用户文件异常,询问是否删除并重新进入 S1 |
task.md 存在但 schedule.md 不存在 |
提示 schedule.md 缺失,询问是否重新生成(回到 S2 的 Step 4) |
schedule.md 存在但 task.md 不存在 |
提示 task.md 缺失,询问是否重新进入 S2 |
schedule.md 进度百分比无法解析 |
逐行扫描详细进度表,按 ✅ 数量 / 总行数计算百分比 |
plan.md 存在但 schedule.md 进度 < 100% |
状态矛盾——提示用户"S3 尚未完成但已有魔改计划",询问是继续 S3 还是直接进 S4 |
.codojo/ 存在但完全为空 |
等同于"未开始",路由到 S1 |
Step 3:输出状态报告
## 📍 Codojo 当前状态
| 阶段 | 状态 |
|---|---|
| S1 能力评估 | ✅ 已完成 / ⚪ 未开始 |
| S2 计划生成 | ✅ 已完成 / ⚪ 未开始 |
| S3 正式教学 | 🔄 进行中 (58%) / ✅ 已完成 / ⚪ 未开始 |
| S4 魔改阶段 | 🔄 进行中 / ✅ 已完成 / ⚪ 未开始 |
**当前位置**:<具体描述,如"S3 正式教学 · 模块 2 · Spring IoC 容器 · 实践环节">
→ 继续进入 <skill 名称>?
💡 输入"重置"可回档到任意阶段(dojo-reset)
Gotchas
- 不要在路由判断时读取文件全文——只需检查文件是否存在、是否包含特定标记(如
<!-- ASSESS_DONE -->)、进度百分比数值即可 - schedule.md 被用户手动编辑后可能导致进度判断错误——如果"总进度"行的百分比与详细进度表的 ✅ 数量不一致,以详细进度表为准
- 多个文件状态矛盾时不要自行决定——必须向用户展示矛盾点并让用户选择(见 Step 2.5 降级处理)
- 不要把路由判断结果直接当作执行指令——路由器只负责"判断该去哪"并询问用户确认,不负责执行具体 skill 的工作流
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.
- 4d ago First seen · 110 lines · 316 tokens per session scan A 4018aef84f08
dojo-stage is a skill published in the GitHub repository ttguy0707/codojo (57 stars, last pushed 2mo ago), licensed MIT. It adds 316 tokens to every session and 1,557 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
edu-math-tutorial
数学题分步讲解视频的领域知识。适用场景:(1) 用户给出一道数学题并要求做讲解/ 解题视频;(2) 用户说"讲解这道题"、"生成解题视频"、"make a math tutorial"; (3) 需要中文数学教学视频,涉及方程、公式或几何图形。本 skill 只提供领域 知识(题目拆解、讲解节奏、旁白文案规范、版式与 KaTeX 排版风格);画面、 配音与成片一律用 Creator 原生 Element 与工具从源头构建。.
offensive-vuln-classes
Exploit development curriculum covering core vulnerability classes with real-world CVE case studies: stack/heap buffer overflows, use-after-free, integer overflows, format strings, type confusion, and race conditions. Use when learning or teaching vuln classes, researching specific CVE patterns, or building exploit…
comet-native
Comet Native 工作流。当用户明确调用 /comet-native、要求启动或恢复 Native change,或入口路由到 Native 时使用。.
comet
Comet — OpenSpec + Superpowers dual-star development workflow. Start with /comet for automatic phase detection and dispatch to subcommands. Five phases: open → design → build → verify → archive.
subagent-driven-development
Use when executing implementation plans with independent tasks in the current session.
comet-hotfix
Comet 预设 —— 通过 open-build-verify-archive 短流程修复已有行为 bug。.