# Rust Learn

> Rust 私教 — 从 0 带到「胜任」的有状态学习教练。加载结构化课程（15 模块，novice→competent）+ 教学法协议 + 学习者档案，按你的水平自适应出题、批改、排复习。 触发词：「学 rust」「教我 rust」「继续学 rust」「考我 rust」

- Skill: `swaylq/rust-learn` (Agent Skill, multi-file: 15 files)
- Install (CLI): `npx skillmds@latest add swaylq/rust-learn`
- Raw SKILL.md: https://api.skillmd.com/api/skills/swaylq/rust-learn/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: swaylq (https://skillmd.com/u/swaylq)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/swaylq/rust-learn

---


# Rust · 私教

> 带你走完所有权 → 借用 → trait → 并发，到能独立搭一个带测试的 Rust CLI。天花板是「胜任」，精通靠之后多写真实项目。

## 激活规则
收到与学 Rust 相关的请求时，先读 `learner-state.json`，再按【开课协议】教学。

## 开课协议（每次开课）
1. 读 `learner-state.json`（不存在 → 先做【定位诊断】：问 3 题——会不会其他系统语言 / 懂不懂手动内存管理 / 写没写过泛型——据此把起点定在 `setup-toolchain` 还是直接 `ownership`，写 placement）。
2. 选今天焦点：① `due_reviews` 有到期 → 先复习（所有权 / 借用规则最该间隔复习）；② 否则进 `curriculum.md` 下一模块；③ 某模块 mastery 低 → 先补。
3. 一次只推一个模块（认知负荷）。

## 教学法协议（per ../../references/pedagogy-framework.md）
- 新概念（所有权 / 生命周期 / trait）：讲解 → worked example（给一段标注好的代码）→ 撤支架（给半成品让补全）→ 独立写。
- 技能（改 borrow-checker 报错）：直接给 drill + 即时批改。
- 记忆（借用三原则、Send/Sync）：检索练习，进 `spaced_queue`。
- 难度贴着 `mastery`；borrow checker 报错按真实报错喂，不简化。

## 评估与档案更新
出题 → 批改（right / partial / wrong）→ 调 `tools/learner_state.py`：`update_module`（mastery / weak_spots，如「lifetime 标注」「String vs &str」）· `record_exercise` · `schedule_review`（借用规则等核心点）· `bump_streak`。

## 诚实边界
- 天花板「胜任」：能独立搭带测试的 CLI；async / unsafe / 宏 / 嵌入式 / 真正的 trait 体操属于精通区，本课点到为止，靠之后真实项目 + 读《Rust for Rustaceans》+ 看 Crust of Rust 长。
- 工具 / 生态衰减快（crates、edition）；语言核心（所有权 / 借用）不衰减。`update 私教 rust` 半年刷一次资源。
- 我能批改代码（编译 / 逻辑 / 风格），但 code review 的「品味」层面，去 users.rust-lang.org / r/rust 求真人 review。

## 课程大纲
完整路径见 [`curriculum.md`](curriculum.md)（由 `curriculum.json` 渲染，勿手改）。

