项目仓库: https://github.com/Akvicor/code-tutor-skills
code-tutor-skills 是一个面向 Codex / Claude Code 的编程学习 skill 集合。每个 skill 负责一门语言,并提供各自独立的课程、练习规则、进度模板和本地练习工作区。
Skill和支持的语言
获取仓库和使用
git clone https://github.com/Akvicor/code-tutor-skills.git
cd code-tutor-skills根据下面的说明将skill放入codex/claude code 对应的skill目录中即可安装,可以只安装在学习目录或者全局。
使用时在学习的工作目录中启用一个agent会话,输入 开始学习 xx 语言 即可,其中xx替换为skill支持的语言。
角色卡
除了默认的正常的教学风格,你还可以通过角色卡来让Agent扮演某个角色的风格,项目文件夹persona-cards中保存有两个风格的角色卡,如果需要请将对应的文件放入skill的 /references/personas/ 目录中,例如 rust-tutor/references/personas/ 和 go-tutor/references/personas/ 。
在Codex中使用
在学习目录的根目录执行项目本地安装,这样skill只生效于这个项目,不会干扰其他项目。
cd /workspace/learn/
mkdir -p .agents/skills
cp -R rust-tutor .agents/skills/rust-tutor # 学习Rust语言
cp -R go-tutor .agents/skills/go-tutor # 学习Go语言执行个人安装这会将skill安装到用户的全局skill中
mkdir -p "$HOME/.agents/skills"
cp -R rust-tutor "$HOME/.agents/skills/rust-tutor"
cp -R go-tutor "$HOME/.agents/skills/go-tutor"Claude Code
在学习目录的根目录执行项目本地安装,这样skill只生效于这个项目,不会干扰其他项目。
cd /workspace/learn/
mkdir -p .claude/skills
cp -R rust-tutor .claude/skills/rust-tutor # 学习Rust语言
cp -R go-tutor .claude/skills/go-tutor # 学习Go语言执行个人安装这会将skill安装到用户的全局skill中
mkdir -p ~/.claude/skills
cp -R rust-tutor ~/.claude/skills/rust-tutor
cp -R go-tutor ~/.claude/skills/go-tutor
本地状态目录
学习过程中生成的进度保存在对应的隐藏目录中;练习代码保存在可见的同级 workspace 中。它们都是本地状态,不是 skill 本体:
.rust-tutor/
.go-tutor/
workspace-rust/
workspace-go/开始学习
以使用Codex学习Rust为例,创建一个干净的学习目录,假设为 ./learn/ 。
首先我先克隆这个skill库
git clone https://github.com/Akvicor/code-tutor-skills.git
cd code-tutor-skills我想使用角色卡,所以我将persona-cards中全部角色卡复制到rust-tutor这个skill的对应目录
cp persona-cards/* rust-tutor/references/personas/回到learn目录
cd ../ # 回到 learn 根目录我不想在全局安装这个skill,于是我将skill安装到这个学习目录
mkdir -p .agents/skills
mv code-tutor-skills/rust-tutor .agents/skills/rust-tutor
rm -rf code-tutor-skills # skill已经安装到项目,可以直接删除git库了现在learn这个目录的结构是这样的
$ tree -a
.
└── .agents
└── skills
└── rust-tutor
├── SKILL.md
├── agents
│ └── openai.yaml
└── references
├── curriculum.md
├── exercise-rubric.md
├── knowledge-map.md
├── personas
│ ├── .gitkeep
│ ├── flandre.md
│ └── sakuya.md
├── progress-template.md
├── resources.md
└── session-workflow.md
7 directories, 11 files这样就可以开始学习Rust了,直接输入 codex 进入agent。
然后输入: 开始学习Rust
Agent会自动调用rust-tutor,然后开始问你一些基础信息。
• 开始前需要先确认学习档案,我会把它记录到本地进度文件里,之后每次可以接着学。
请直接回复一行,例如:
中文,已有其他语言项目经验,没学过 Rust,通用基础,默认
需要确认的信息:
- 讲解语言:中文
- 既有编程经验:无系统编程经验 / 学过一点编程、脚本或课程 / 已有其他语言项目经验 / 自定义
推荐:已有其他语言项目经验
- Rust 经验:没学过 Rust / 看过语法或写过很小示例 / 写过 Rust 项目 / 自定义
推荐:没学过 Rust
- Rust 学习目标:CLI/工具开发 / 后端/服务开发 / 系统/性能方向 / 通用基础 / 自定义
推荐:通用基础
- 教学角色:默认 / flandre.md / sakuya.md
推荐:默认
这里根据自己的情况回复即可,例如 中文,已有其他语言项目经验,没学过 Rust,CLI/工具开发 / 后端/服务开发 / 系统/性能方向,sakuya.md
用户会将你的选项持久化保存到文件中,后续如果想修改可以直接告诉AI。
当确认好以上信息后,AI就会开始讲解知识并发布学习任务,只需要按照任务去学习即可
• 主人,咲夜已经为您安排妥当。
学习档案已初始化到 .rust-tutor/progress.md,练习目录也已准备好:workspace-rust。本机 Rust 工具链可用:
rustc 1.95.0 (59807616e 2026-04-14)
cargo 1.95.0 (f2d3ce0bd 2026-03-21)
本节从 I0 Toolchain, editor, rustc, cargo 开始。
当前知识点:rustc --version 和 cargo --version
rustc 是 Rust 编译器,负责把 Rust 源码编译成可执行程序。cargo 是 Rust 的项目管理工具,负责创建项目、运行项目、检查
代码、跑测试、管理依赖。刚才的两个版本命令说明:你的环境已经可以进行可运行练习。
理解检查,请直接回答一句话即可:
rustc 和 cargo 分别负责什么?为什么开始学习前要先确认它们的版本命令能运行?