ttguy0707/codojo/dojo-stage
Claude Code and agent skill by ttguy0707/codojo
- community
Checking that the SKILL.md file is still in the repository.
Codojo 唯一入口路由器(所有学习请求必须先经过本 skill)。 自动检测 `<repo-root>/.codojo/` 目录下的文件状态,判断当前处于 S1-S4 哪个阶段,输出状态报告后路由到正确的 skill。 三种触发场景(自动路由): - 首次进入:.codojo/ 不存在 → 创建目录 + 路由到 dojo-assess(S1) - 中断恢复:用户回来说"继续" → 检测文件状态 → 路由到断点阶段 - 状态查询:用户问"当前进度" → 输出状态表 → 等待用户指令 触发关键词:帮我学习这个项目、帮我学这个项目、学习这个项目、教我这个代码、 帮我入门、我是新手、从零开始、开始学习、开始、继续、继续学习、上次到哪了、 当前进度、我在哪个阶段、我在哪、learn this project、teach me。 注意:本 skill **只做路由判断**,不执行任何教学 / 评估 / 编码动作。 判断完成后必须**询问用户确认**再转入目标 skill,不可静默跳转。 如果用户直接说了具体阶段关键词(如"生成学习计划"),仍应先经过本 skill 做一次状态校验,确保前置条件满足后再转入。
Install
npx vskill@latest install ttguy0707/codojo/dojo-stageSKILL.md
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:输出状态报告
Gotchas
- 不要在路由判断时读取文件全文——只需检查文件是否存在、是否包含特定标记(如
<!-- ASSESS_DONE -->)、进度百分比数值即可 - schedule.md 被用户手动编辑后可能导致进度判断错误——如果"总进度"行的百分比与详细进度表的 ✅ 数量不一致,以详细进度表为准
- 多个文件状态矛盾时不要自行决定——必须向用户展示矛盾点并让用户选择(见 Step 2.5 降级处理)
- 不要把路由判断结果直接当作执行指令——路由器只负责"判断该去哪"并询问用户确认,不负责执行具体 skill 的工作流
产出
- 无文件产出(纯路由功能)
输出风格约束
详见共用 reference:`../_shared/output-style-guide.md`
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/dojo-stage/SKILL.md
Popularity
- 7-day trend score
- 0
Refreshed 8 Nov 2026, 17 h ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/ttguy0707/codojo/dojo-stage)