私教.skill · MIT · zero dependencies
Any skill, distilled into a tutor that gets you from zero.
Name what you want to learn. It runs eight parallel research tracks, distils a learning-science path from zero to competent, and generates a tutor skill that remembers where you are and sets exercises at your level.
"Give me a study plan" hands you a sheet of paper, once.
This is a tutor that remembers you, drills you, and knows where you're stuck.
git clone https://github.com/swaylq/sijiao-skill.git ~/.claude/skills/sijiao-skill
- Worked samples
- 6
- Modules distilled
- 79
- Research tracks
- 8
- Engine tests
- 35 green
What it looks like
Not a search engine, and not a study plan
It's "a tutor who remembers you, sitting next to you right now". Two real sessions below.
you ❯ continue with rust tutor ❯ Loaded: you're on "borrowing & references" (mastery 0.55). Last time you got stuck on having &mut and & alive at once. One review is due first, then we go at that wall. [Retrieval practice · the three borrow rules] No looking it up: In one scope, either ___ &, or ___ &mut, and the two ___ coexist. you ❯ any number of &, or one &mut, never both at once tutor ❯ ✅ Locked in. Next review scheduled 6 days out. Now today's wall — this doesn't compile: let mut v = vec![1,2,3]; let first = &v[0]; v.push(4); // ← the compiler stops you here println!("{first}"); Before you look: first holds an immutable borrow of v, push needs &mut v. Which of the rules you just recited does that break?
you ❯ learning linear algebra, but eigenvalues just blank me out tutor ❯ Loaded: you're stuck at eigenvalues, but determinants and linear maps both cleared (mastery 0.8+) — so this isn't a gap in the basics, it's a missing geometric picture. Put the characteristic polynomial down. One sentence: an eigenvector is a vector this matrix only stretches — its direction survives the transformation. The eigenvalue is the stretch. Look at [[2,0],[0,3]]: it stretches the x-axis by 2 and the y-axis by 3. Don't compute — can you just say its two eigenvectors and eigenvalues? you ❯ (1,0) with 2, and (0,1) with 3 tutor ❯ ✅ That's the geometry. Now a non-diagonal one, reasoning backwards from "direction survives"…
What it distils
A path built on learning science, not a pile of links
Each generated {skill}-learn is a self-contained directory in three layers.
| Layer | File | What's in it |
|---|---|---|
| 📚 Curriculum | curriculum.json | Prerequisite-ordered, Dreyfus-staged modules — each with Bloom-levelled objectives, canonical sources, gradeable exercises, milestones, and what "you've got it" looks like |
| 🧑🏫 Teaching | SKILL.md | The tutor itself: load state → locate you → explain → worked example → fade the scaffold → independent practice → set and grade |
| 🗂️ Record | learner-state.json | Your progress, missed questions, SM-2 spaced-review schedule, streaks (private, never committed) |
Five principles it distils against
| Principle | How it lands |
|---|---|
| Dreyfus stages | Segments the curriculum; the ceiling is set at competent |
| Bloom's taxonomy | Every objective carries a cognitive level: remember → understand → apply → analyse → evaluate → create |
| Deliberate practice | Every module needs an exercise producing something gradeable — never "read this book" |
| Spaced repetition + retrieval | The record schedules what's due; every session clears due items first |
| Desirable difficulty | Worked example → scaffold fades → independent practice |
Why trust it
How do you know the path wasn't just made up?
Every generated skill passes a learning-specific quality gate. Any single failure blocks it.
- ✓The prerequisite graph is acyclic and sourced — topological validation must come back empty, and every "learn A before B" traces to a source.
- ✓Every module has a gradeable exercise — not "read more", but "produce something that can be marked right or wrong".
- ✓"You've got it" is behavioural — "can do X unaided", never "understands X".
- ✓Sources are first-hand — canonical resources need three independent recommendations. SEO listicles and content farms are rejected.
- ✓The ceiling is honest — claiming to make you an expert is disqualifying. Mastery comes from years of real practice afterwards.
- ✓What it can't teach, it says so — AI cannot give real feedback on craft, the body, or social skill. Those steps are marked as self-reported, offline, or human, never faked.
Hard numbers from the six samples in this repo: all 79 modules pass engine topological validation, curricula are engine-rendered, the learner-state example validates against its schema, and 35 tests cover the tooling engine.
Worked samples
Six tutors, distilled end to end
All three layers present, prerequisite graphs engine-validated, research trail fully transparent — every module traces back to where it came from.
| Skill | Type | Modules | Ceiling |
|---|---|---|---|
| Rust | Hard technical (the cognitive sweet spot) | 15 | Competent |
| Linear algebra | Cognitive / mathematical | 13 | Competent |
| English reading | Language · cognitive | 12 | Competent |
| Fat loss | Physiological · behavioural (honest downgrade) | 13 | Competent |
| Skincare | Physiological · behavioural (honest downgrade) | 13 | Competent |
| Strength training | Physiological · behavioural (honest downgrade) | 13 | Competent |
Fat loss, skincare and strength training are non-cognitive skills. They're here to show how the framework downgrades honestly when it meets one — what AI can't judge gets routed to self-report, offline practice, or a doctor (⚠️ not medical advice). Want something not on this list? Install it and say "teach me X".
Install
One clone, any host
Once installed, just say "teach me rust", "continue with rust", or "quiz me on rust ownership".
git clone https://github.com/swaylq/sijiao-skill.git ~/.claude/skills/sijiao-skill
| Host | Target path |
|---|---|
| Claude Code | ~/.claude/skills/sijiao-skill |
| OpenClaw | ~/.openclaw/skills/sijiao-skill |
| Codex | ~/.codex/skills/sijiao-skill |
| Hermit | ~/.hermit/skills/sijiao-skill |
It confirms five things first (the skill, your current level, your goal, hours per week, language), then kicks off eight parallel research tracks, distils against learning science, and writes the three-layer tutor directory. Thirty to sixty minutes later you have a {skill}-learn you can install into any agent and start immediately.