project-learning
以交互式课堂方式带用户学习一个代码项目,按章节讲解架构、模块、函数调用和数据流,并把关键图、代码地图、理解检查和课堂笔记沉淀到项目文档中
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
以交互式课堂方式带用户学习一个代码项目,按章节讲解架构、模块、函数调用和数据流,并把关键图、代码地图、理解检查和课堂笔记沉淀到项目文档中
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
从 target-aware case suite、task manifest 或 target/module/all selector 生成 pytest,执行 profile gate、Case IR、freshness check,并处理少量 UNPARSED 补写
构建模块级 fixture/module profile 或用例级 suite profile,把 Markdown 用例接入 test-codegen 管线
从已验证 pytest、Case IR 和 profile 中识别可沉淀模式,评估是否晋升为 assertion_rules、case_flows、fixture helper 或 emitter 规则
基于测试知识库和测试规范,为指定模块或需求 suite 生成 Markdown 用例和 mismatch 记录
测试资产维护分诊台:诊断项目当前状态,定位管线断裂层,路由到正确的 skill 或 CLI 命令
将外部/历史/公司测试平台用例迁移为 AITest Markdown suite 用例,并保留语义追溯、阻塞分类和人工 review 清单
| name | project-learning |
| description | 以交互式课堂方式带用户学习一个代码项目,按章节讲解架构、模块、函数调用和数据流,并把关键图、代码地图、理解检查和课堂笔记沉淀到项目文档中 |
| when_to_use | 当用户希望从小白视角学习一个项目、通读代码、理解重要函数/数据流,或要求“交互式学习”“课堂笔记”“写进 lesson/usebook”时 |
| argument-hint | [project_root] [lesson_dir] |
| arguments | ["project_root","lesson_dir"] |
| user-invocable | true |
| allowed-tools | Read Glob Grep Write Edit Bash |
| effort | high |
用课堂式节奏带用户学习一个代码项目:先建立心智模型,再逐层读入口、配置、核心模块、数据流、测试和扩展点。每节课只讲一个可消化主题,并把高价值内容沉淀为 lesson 文档。
帮助用户真正掌握项目,而不是只得到一次性摘要。
交付物包括:
输入 -> 处理 -> 输出。默认 lesson 目录按以下顺序选择:
$lesson_dir。docs/usebook/lessons/,使用它。docs/lessons/,使用它。docs/lessons/。lesson 文件命名:
lesson-1.md
lesson-2.md
lesson-3.md
...
如果已有 lesson,继续追加或创建下一节;不要覆盖用户已有笔记。
读取最小必要上下文:
README*AGENTS.md / CLAUDE.md / 项目协作说明pyproject.toml / package.json / 主配置文件输出 5-10 节学习路线。每节应包含:
不要在第一步就深入解释所有代码。
每节课按这个顺序讲:
lesson 文档建议结构:
# Lesson N:主题
> 学习目标:一句话说明本节目标。
## 调用图 / 数据流图
```mermaid
flowchart TD
A["输入"] --> B["核心处理"]
B --> C["输出"]
| 文件/函数 | 职责 | 本节理解重点 |
|---|---|---|
path/to/file.py | ... | ... |
如果用户指定“把第 2、4、5 点写进 lesson”,只写用户指定内容,避免扩写。
### 第四步:讲解深度控制
默认深度:
- 先解释模块职责和主调用链。
- 再解释关键函数。
- 最后解释关键行。
只有当用户明确要求“逐行解释”时,才做逐行解释。
解释代码时优先回答:
```text
这个函数为什么存在?
谁调用它?
它读什么输入?
它产生什么输出?
它改变了什么状态?
它失败时怎么表现?
它和上一层/下一层怎么连接?
每节结束时优先问检查问题,例如:
用户回答后:
优先使用 Mermaid:
flowchart TD
A["用户命令"] --> B["CLI 入口"]
B --> C["核心模块"]
C --> D["输出产物"]
图要服务理解,不要为了好看画大图。每张图控制在 5-12 个节点。
rg / rg --files。rg "function_name" 查证。一次完整学习任务完成时,应至少有: