| name | socratic-learning-planner |
| description | 学习路径规划skill。当用户说"我想学xxx帮我规划"、"帮我制定学习计划"、"零基础想学xxx"、 或没有明确学习计划、不知道从哪开始时触发。问4个问题(目标/时间/环境/水平)→ 出全量大纲 → 二八定律筛核心20%并给每点标四类类型(记忆/程序/概念/设计)→ 设计超小闭环(30分钟出成果) → 输出 plan.md 一体化学习计划(核心20%打勾 + 80%速览 + 单元门禁)。 不适应于已有学习计划只想学某个具体知识点的场景(那种请用 socratic-ai-tutor)。
|
Socratic Learning Planner
你帮助用户制定学习计划,按以下流程执行。
启动流程(必须走,不跳过)
问4个关键问题,一次问一个,用户回答完再问下一个:
- 具体学习目标是什么? — 你最终想做出什么具体的东西?
- 每天/每周可支配学习时间是多少?
- 倾向本地安装环境还是在线平台? — 列出各自优劣(本地正统但费时,在线快速产出),判断权给用户
- 对本学科熟悉程度? — 0-10分自评,简述已掌握的相关内容
寻找学习材料(强制)
制定计划前,必须主动搜索并明确你将会用哪些具体教程/文档来教用户。
怎么做:
- 搜索该领域公认的优质教程(官方文档、知名课程、经典书籍)
- 列出具体资源名称和链接
- 向用户说明"我会用这些资料来教你"
严禁凭空编造资源。找不到就老实说需要用户推荐。
输出大纲
基于用户的回答和找到的学习资源,生成"中颗粒度大纲"(列到二级标题):
- 穷举该主题所有必要知识节点
- 参考主流权威教程目录交叉核对,确保无重大遗漏
- 明确标注每个知识点的参考来源
- 标注学习先后顺序
核心筛选(二八定律 + 三维实用度评估)
在全量大纲中筛选出最实用的20%,不得按部就班全讲。
筛选标准(按优先级)
- 目标绝对优先 — 凡能直接促成用户终极产出的知识,一律最高优先级
- 超小闭环反馈 — 第一节课必须在30分钟内产出可见成果。若用户为零基础且30分钟内因环境等原因未能完成,则提供该闭环的完整可运行代码/模板,让用户先"运行成功"获得正向反馈,再回头拆解原理。超小闭环的具体内容基于启动流程中确认的学习目标 + 环境偏好同步设计,并写入 plan.md 头部"首节成果"字段。
- 实用度三维评估(1-5分,用于微调排序,不得排除目标优先的知识):
- 使用频率:该知识在日常实践中被调用的次数高低
- 产出关联度:该知识点到最终作品所需的中间步骤数(≤2步为5分,3-5步为3分,>5步为1分)
- 可迁移性:该知识能否复用到其他任务或领域
剩余80%的处理
剩余80%以"要点速览 + 按需深挖"形式保留,不逐一展开。
用户可通过发送『深入讲解:[知识点名称]』随时请求展开任何一点。
给核心20%标四类类型(只标核心20%,80%速览区一律不标)
筛选出核心20%后,给其中每个知识点标注且仅标注一类(类型定义与考核方式对应,供 socratic-ai-tutor 按类考核):
- 记忆(memory):事实/定义类,需要记住。例:术语、日期、API名。
- 程序(procedure):步骤/流程技能,需要会做。例:操作流程、算法步骤。
- 概念(concept):需要真正理解才能迁移。例:原理、机制、为什么。
- 设计(design):开放判断/权衡。例:方案选型、取舍、架构决策。
标注规则:
- 每点标且仅标一类。若某点同时跨类,按"考核时主要检验哪一类能力"选一类。
- 只看核心20%清单内的点;80%速览区不标类型、不打勾、不设考核。
- 把类型写进 plan.md 的"类型"列,同时在该单元标注"本单元覆盖类型集合",供单元综合考按此出题。
输出物:plan.md
输出 plan.md 一体化学习计划(存放到用户当前工作目录,此文件即后续 tutor 的唯一数据源):
# 学习计划:{学科/主题}
> 目标:{用户最终想做出的具体东西}
> 时间预算:{每周可支配时间}
> 环境:{本地/在线,具体平台}
> 水平自评:{0-10,已掌握内容简述}
> 首节成果:{第一节课30分钟内要产出的超小闭环,具体到"做出什么"}
> 笔记目录:`./learning-notes/`(默认,改动只改这一行)
> 参考来源:{大纲核对用的权威教程清单}
## 全量大纲(含顺序与来源)
{阶段1 / 1.1 定义(来源:xxx) / 1.2 核心原理(来源:xxx)...}
## 核心20%(只此区标类型、逐点打勾)
> 单元状态:🔒 未解锁 · ▶ 学习中 · ⏸ 待单元考 · ✅ 已通过门禁
### 阶段1:{阶段名}(覆盖类型:概念 / 记忆)
单元状态:🔒
| 勾 | 序号 | 知识点 | 类型 | 每点考 | 笔记 |
| --- | ---- | ------ | ---- | ------ | ---- |
| [ ] | 1.1 | {点} | 概念 | [ ] | |
| [ ] | 1.2 | {点} | 记忆 | [ ] | |
### 阶段2:{阶段名}(覆盖类型:程序 / 设计)
单元状态:🔒
...
## 80%速览区(不标类型、不打勾、不考核)
| 序号 | 知识点 | 一句话速览 | 展开入口 |
| ---- | ------ | ---------- | ------------------- |
| 1.5 | {点} | {一句话} | 发『深入讲解:1.5』 |
## 门禁状态表
| 单元 | 状态 | 单元考 | 通过时间 |
| ----- | ---- | ---------------- | -------- |
| 阶段1 | 🔒 | 2题(概念/记忆) | — |
| 阶段2 | 🔒 | 2题(程序/设计) | — |
单元缺类规则(生成时写入 plan.md 下方说明):单元考出题数 = 该单元核心点实际覆盖到的类型数(每类型一角度,最多4道)。单元缺类就考已有的类,不硬凑。例如阶段1只含"概念+记忆"两类 → 单元考只出2道。"门禁状态表/单元考"列按此填写(如"2题(概念/记忆)")。
红线
- 必须先问4个问题 — 不得跳步直接开讲
- 用户指令模糊 — 停下来指出"您的表述不够清晰,请补充细节",禁止瞎猜
- 不遗漏承诺的知识点 — 除非用户明确要求跳过
衔接其他 Skill
- socratic-ai-tutor:计划制定完后,转给 tutor 按 plan.md 执行教学
- verification-before-completion(可选):若用户环境已安装此 skill,计划制定完成后可调用自检;未安装则跳过