sijiao.skill · MIT · 零依赖
把任何技能,蒸成一个带你从 0 学会它的私教.
告诉它你想学什么,它跑完 8 路调研、按学习科学蒸出一条从 0 到「胜任」的路径, 生成一个记得你学到哪、按你水平自适应出题批改的私教 skill。
「给我列个学习计划」给你的是一张一次性的纸。
这是一个记得你、陪你练、知道你卡在哪的私教。
git clone https://github.com/swaylq/sijiao-skill.git ~/.claude/skills/sijiao-skill
- 端到端样本
- 6
- 已蒸模块
- 79
- 调研路数
- 8
- 工具测试
- 35 全绿
私教长什么样
不是搜索引擎,也不是一张学习计划
是「一个记得你、陪你练的私教此刻在你旁边」。下面两段是真实的上课过程。
你 ❯ 继续学 rust 私教 ❯ 读档:你在「借用与引用」(mastery 0.55),上次卡在 &mut 与 & 同时存在的报错。今天先清一个到期复习,再啃这个坎。 【检索练习 · 借用三原则】不许翻书: 同一作用域,要么 ___ 个 &,要么 ___ 个 &mut,两者 ___ 共存。 你 ❯ 任意多个 &,或者一个 &mut,不能同时 私教 ❯ ✅ 记住了,下次复习排到 6 天后。现在上今天的坎,这段过不了编译: let mut v = vec![1,2,3]; let first = &v[0]; v.push(4); // ← 编译器在这里报错 println!("{first}"); 先别看答案:first 借走了 v 的不可变引用,push 要 &mut v, 这正违反你刚背的哪一条?
你 ❯ 学线性代数,但我一看到特征值就懵 私教 ❯ 读档:你卡在 eigenvalues,但前置的行列式、线性变换都过了 (mastery 0.8+), 所以不是基础问题,是缺几何图像。先别算特征多项式。 一句话建图像:特征向量 = 这个矩阵『变换』作用下方向不变、只被拉伸的向量; 特征值 = 拉伸倍数。 看 [[2,0],[0,3]]:它把 x 轴拉 2 倍、y 轴拉 3 倍。 不用算 —— 你能直接说出它的两个特征向量和特征值吗? 你 ❯ (1,0) 特征值 2,(0,1) 特征值 3 私教 ❯ ✅ 这就是几何本质。现在换一个非对角矩阵,从「方向不变」反推……
它蒸了什么
一条按学习科学搭的路径,不是资料堆
每个生成的 {技能}-learn 是自包含目录,分三层。
| 层 | 文件 | 装了什么 |
|---|---|---|
| 📚 课程层 | curriculum.json | 先修排序、Dreyfus 分段的模块,每个带 Bloom 分层目标、正典资源、可评估练习、里程碑,以及「会了的标志」 |
| 🧑🏫 教学层 | SKILL.md | 私教本体:读档 → 定位 → 讲解 → 范例 → 撤支架 → 独立练 → 出题批改 |
| 🗂️ 档案层 | learner-state.json | 你的进度、错题、SM-2 间隔重复排程、打卡(私人,不进 git) |
提炼遵循五条学习科学
| 原则 | 落地 |
|---|---|
| Dreyfus 五段 | 切分课程阶段;天花板定在「胜任」 |
| Bloom 分类 | 每个目标定认知层级:记忆 → 理解 → 应用 → 分析 → 评价 → 创造 |
| 刻意练习 | 每模块必有「可产出可评估结果」的练习,不是「读完这本书」 |
| 间隔重复 + 检索练习 | 档案排程哪些该复习;每次开课先清到期项 |
| 合意难度 | worked-example → 逐步撤支架 → 独立练 |
凭什么信
一个学习路径装上来,怎么知道它不是随手编的
每个生成的 skill 都要过一套学习特化质检,任一项不过就一票否决。
- ✓先修图无环且有据 —— 拓扑校验必须返回空;每条「先学 A 再学 B」都挂得到来源。
- ✓每个模块都有可评估练习 —— 不是「多看书」,是「输出能被判对错的任务」。
- ✓「会了」的标志是行为化的 —— 「能独立做 X」,不是「理解了 X」。
- ✓来源一手 —— 正典资源需要至少 3 处独立推荐,拒绝 SEO 软文和内容农场。
- ✓天花板诚实 —— 不准吹「成为专家」。精通和专家靠之后多年真实实践。
- ✓教不了的明说 —— 手艺、身体、社交的真实反馈 AI 给不了,这类环节标注转自报、线下或真人,不假装能批改。
本仓 6 个样本的硬数字:79 个模块全部经引擎拓扑校验、课程由引擎渲染、档案示例通过 schema 验证,35 个测试覆盖工具引擎。
已蒸馏的样本
六个端到端跑过的私教
三层齐全、先修图经引擎校验,调研留痕完全透明,可追溯每个模块从哪来。
| 技能 | 类型 | 模块 | 天花板 |
|---|---|---|---|
| Rust 编程 | 硬技术(认知甜区) | 15 | 胜任 |
| 线性代数 | 认知 / 数学 | 13 | 胜任 |
| 英语阅读理解 | 语言 · 认知甜区 | 12 | 胜任 |
| 科学减脂 | 生理 · 行为(诚实降级) | 13 | 胜任 |
| 科学护肤 | 生理 · 行为(诚实降级) | 13 | 胜任 |
| 力量训练 | 生理 · 行为(诚实降级) | 13 | 胜任 |
减脂 / 护肤 / 力量训练是非认知技能,放进来是为了展示框架碰到这类技能怎么诚实降级 —— AI 教不了的部分标注转自报、线下或医生(⚠️ 非医疗建议)。 想学不在列表里的?装上私教.skill,说「学 XXX」就行。
安装
一条 clone,装进任意 host
装好后在 agent 里直接说「学 rust」「继续学 rust」「考我 rust 所有权」。
git clone https://github.com/swaylq/sijiao-skill.git ~/.claude/skills/sijiao-skill
| Host | 目标路径 |
|---|---|
| Claude Code | ~/.claude/skills/sijiao-skill |
| OpenClaw | ~/.openclaw/skills/sijiao-skill |
| Codex | ~/.codex/skills/sijiao-skill |
| Hermit | ~/.hermit/skills/sijiao-skill |
它先跟你确认五件事(技能、现有水平、目标、每周时间、语言),然后启动 8 路并行调研 → 按学习科学蒸馏 → 生成三层私教目录。
30–60 分钟后你拿到一个 {技能}-learn,装到任意 agent 立刻开课。