结构化学习方案

SKILL教育学习
教育学习 未标注权限 许可证不明确
安装这个技能

分阶段结构化学习方案生成器,支持W0摸底到分阶段规划到周复盘全流程

一句话选型结论

按资料字段整理

结构化学习方案是教育学习类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类教育学习 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_61f6dd3a/structured-learning-planner
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

教育学习
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_61f6dd3a仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791713216
正文体量25.2 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
讲解知识点

按水平把知识点讲清楚。

出练习题

按章节生成练习与答案。

制定学习计划

按目标和时间排学习节奏。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在教育学习场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
结构化学习方案当前 未标注权限 未标注 未标注 未标注 有
食谱创建课堂课程 未标注权限 GitHub 仓库 25.5 万 Codex、Claude、Cursor 有
语言学习 联网访问 ClawHub 市场 23.6 万 OpenClaw 有
learning 效率 只读 ClawHub 市场 19.2 万 OpenClaw 有
学习习惯 未标注权限 ClawHub 市场 10.2 万 OpenClaw 有
日语家教 只读 ClawHub 市场 8.2 万 OpenClaw 有

SKILL.md 全文

25.2 KB
模型实际读到的说明书原文,来自技能仓库

structured-learning-planner — 结构化学习方案生成器

> 边界声明:本 Skill 只生成学习计划,不执行学习动作、不生成教学内容、不替代课程


快速上手

1. 用户说"我想学 XX" → 用下方「输入模板」收集信息(一句话也能开工)
2. 产出「起点诊断」两块清单 → 用户确认后铺路线
3. 按下方「输出模板」成文,资源从「资源库」取(1主1备)
4. 对照「完整示例」检查结构是否齐全
5. 生成可勾选 .md 文件,跑「校验脚本」检查质量

触发条件

触发词 说明
我想学XX / 学习XX / 入门XX 直接触发
制定学习方案 / 学习路线 / 学习规划 直接触发
帮我排学习计划 / 学习路径 直接触发
系统性学习 / 体系化学习 直接触发

不适用:用户已有完整计划只需课程内容 / 只想要"推荐一本书" / 目标过于模糊且无法澄清


核心设计原则

  1. 分阶段递进:W0 摸底 → 地基 → 核心 → 前沿,不做跳跃式规划
  2. 学练绑定:每阶段理论必须对接已有或新建项目,杜绝"学完用不上"
  3. 资源精简:每阶段 1 主 + 1 备资源封顶,防松鼠症
  4. 可跟踪溯源:输出可勾选 Markdown 文件,兼容自动化读取 - [ ] 进度
  5. 真实日期:里程碑日历基于用户当前日期推算,不用"第N周"占位符

输入模板(用户怎么给信息)

方式 A:一句话触发(Skill 自动补全)

我想系统学习 <主题>,已经有 <相关基础>,每天能投入 <时间>。

示例:我想系统学习 AI,已经有工程基础(做过记忆系统、多智能体),每天能投入 2 小时。

用户未提供时的推断规则(需在输出中标注"已假设"):

字段 默认值 说明
每日时间预算 1.5-2h/天 匹配工程实践者节奏
总周期预期 8-16 周 按目标复杂度自动选档
数学/理论深度 直觉够用 只补自测标记的弱项
路线模式 按目标自动选 单一技能→轻度;领域体系→标准;跨领域→深度

方式 B:完整信息(推荐)

【学习目标】我想达到什么程度?
  示例:能独立训练并微调一个 LLM / 能用 Rust 写一个 CLI 工具

【现有基础】我已经会什么?(逐条列,别谦虚也别夸大)
  1. ...

【时间预算】每天 / 每周能投入多少?
  示例:工作日 1.5h,周末 4h

【周期预期】想用多久?
  示例:3 个月

【偏好方式】看书 / 视频课 / 项目驱动 / 混合?
  示例:混合,喜欢项目驱动

【硬件或工具约束】(可选)
  示例:只有 6GB VRAM 的显卡,跑不动大模型训练

【最终产出】(可选,会直接变成学练绑定目标)
  示例:学完做一个"每日跑步数据自动分析"工具

诊断输出(Skill 必须产出,给用户确认后才开始规划)

## 起点诊断

### 已有基础(不需要重学)
- ✅ <能力1> —— 证据:<做过什么>
- ✅ <能力2> —— 证据:<做过什么>

### 靶点清单(要补的)
- 🎯 <靶点1> —— 为什么是靶点:<一句理由>
- 🎯 <靶点2> —— 为什么是靶点:<一句理由>

> 请确认:以上诊断是否准确?确认后我才开始铺路线。

> 硬约束:禁止跳过诊断直接出计划。诊断产出的"靶点清单"是路线设计的唯一依据。


输出模板(完整可勾选 Markdown 骨架)

> 照此骨架填充,<占位符> 全部替换后即可交付。

# [主题] 学习方案 · YYYY

> 生成日期:YYYY/MM/DD | 方案版本 v1.0 | 复盘节奏:每周日
> 时间预算:<X>h/天 | 路线模式:<轻度8周/标准12周/深度16周>

---

## 一、起点诊断

### 已有基础(不需要重学)
- ✅ <能力1> —— 证据:<做过什么>
- ✅ <能力2> —— 证据:<做过什么>

### 靶点清单(要补的)
| # | 靶点 | 为什么是靶点 |
|---|------|-------------|
| 1 | <靶点> | <一句话理由> |

---

## 二、总体路线

W0 摸底 → 阶段1(<主题>基础) → 阶段2(<主题>进阶) → [阶段3] → 持续

| 阶段 | 内容 | 预计耗时 | 依赖 |
|------|------|---------|------|
| W0 摸底 | 自测 + 定向 | 2-3 天 | — |
| 阶段1 | <内容> | <X>周 | W0 |
| 阶段2 | <内容> | <X>周 | 阶段1 |

---

## 三、W0 摸底(YYYY/MM/DD - YYYY/MM/DD)

**目标**:3-5 题快速定位弱项,决定各阶段时间权重。

- [ ] 知识自测:<列出 3-5 道定位题>(结果标记 会/模糊/不会)
- [ ] 技能自测:<1 个最小实操验证基础>
- [ ] 方向确认:<明确最终产出或里程碑>
- [ ] 产出自测结果表,标注各阶段时间分配权重

---

## 四、阶段 1:<阶段名>(YYYY/MM/DD - YYYY/MM/DD)

### 1. 内容清单
| 学什么 | 为什么学 |
|--------|---------|
| <知识点> | <与目标/后续阶段的关联> |

### 2. 资源推荐(1主1备封顶)
| 角色 | 资源 | 平台/语言 | 难度 | 选它的理由 |
|------|------|----------|------|-----------|
| 主 | <资源> | <平台> | <初/中/高> | <为什么是这个而不是别的> |
| 备 | <资源> | <平台> | <初/中/高> | <何时切到备选> |

**资源备选池**(不进主计划,防松鼠症):<资源A>、<资源B>

### 3. 学练绑定(≥2 项)
- [ ] <动作1> → 产出:<文件名或验收动作>(关联:<与已有项目的关联>)
- [ ] <动作2> → 产出:<文件名或验收动作>(关联:<与已有项目的关联>)

### 4. 验收标准
- [ ] <客观可判断的完成条件,如"能跑通并输出X">
- [ ] <客观可判断的完成条件>

### 5. 预计耗时
<X>h/天 × <N>周 ≈ <Y>h 总投入

### 6. 依赖关系
前置:<W0 / 阶段N-1> | 后置:<阶段N+1>

---

## 五、阶段 2:<阶段名>(YYYY/MM/DD - YYYY/MM/DD)
<!-- 结构与阶段 1 相同,6 要素缺一不可 -->

---

## 里程碑日历

| 阶段 | 起止日期 | 完成标准 | 状态 |
|------|---------|---------|------|
| W0 摸底 | YYYY/MM/DD - YYYY/MM/DD | 自测表 + 方向确认 | ⬜ |
| 阶段1 | YYYY/MM/DD - YYYY/MM/DD | <完成标准> | ⬜ |
| 阶段2 | YYYY/MM/DD - YYYY/MM/DD | <完成标准> | ⬜ |

---

## 风险管理

| # | 风险 | 等级 | 应对 |
|---|------|------|------|
| R1 | <风险> | 🟠 P1 | <应对策略> |
| R2 | <风险> | ... | ... |
| R3 | <风险> | ... | ... |

---

## 待确认决策点

- [ ] <需要用户拍板的事项1>(如:时间预算是否按 2h/天?)
- [ ] <需要用户拍板的事项2>(如:产出形式是否接受?)

---

*方案版本 v1.0 | 复盘节奏:每周日 | 下次复盘:YYYY/MM/DD*

填充要点速查

章节 必含要素 常见错误
起点诊断 已有基础✅ + 靶点清单🎯 只列靶点不列已有 → 学重
阶段内容 6 要素全 缺"为什么学" → 学了不知道关联
资源 1主1备 + 备选池 塞 3+ 资源 → 松鼠症
学练绑定 ≥2 项具体动作 写"练习一下" → 无法验收
验收标准 客观可判断 写"理解了" → 无法检查
里程碑 真实日期 YYYY/MM/DD 写"第4周" → 无法排日程
风险 ≥3 条 + 应对 只列风险不给应对 → 等于没说

资源库(多领域,1主1备封顶)

> 生成计划时直接从此取资源。库外领域按此格式现场补充。
> 标注 [中文] = 中文讲解可用;难度:初/中/高。

AI / 机器学习

子领域 角色 资源 平台 难度 选它的理由
数学直觉 主 3Blue1Brown《线性代数的本质》+《微积分的本质》[中文] B站/YouTube 初 几何直觉第一,治公式恐惧症
数学直觉 备 李航《统计学习方法》[中文] 书 中 需要系统补 ML 数学时切入
ML 入门 主 吴恩达《Machine Learning Specialization》[中文] Coursera 初 最经典的入门课,练习完善
DL 入门 主 李沐《动手学深度学习》(d2l) [中文] B站+开源书 中 中文 + 全代码,理论实操一体
Transformer 主 Karpathy《Zero to Hero》(micrograd→nanoGPT) YouTube 中 从零手写,理解最深
LLM 微调 主 HuggingFace PEFT + TRL 文档 文档 中 微调实操唯一权威入口

编程语言

语言 角色 资源 平台 难度 选它的理由
Python 主 官方 Tutorial + 《Python Cookbook》 文档+书 初 官方权威,Cookbook 治"会写但不地道"
Python 备 《流畅的Python》[中文] 书 中 进阶特性系统化
Rust 主 《The Rust Programming Language》 官网 初 所有权讲解行业最佳
Rust 备 Rustlings 练习 GitHub 初 编译错误即反馈,动手党福音
Go 主 《The Go Programming Language》 书 初 官方合著,权威且例子精
Go 备 Go by Example 网页 初 快速查语法对照
TypeScript 主 TypeScript Handbook 官方文档 文档 初 唯一权威,类型系统讲得最清楚

系统设计 / 架构

方向 角色 资源 平台 难度 选它的理由
系统设计 主 《Designing Data-Intensive Applications》(DDIA) 书 中 数据系统圣经,架构讨论的公共语言
系统设计 备 System Design Primer GitHub 中 面试向 + 案例全
微服务 主 《微服务设计》(Sam Newman) [中文] 书 中 微服务领域公认入门

数据分析 / 数据科学

方向 角色 资源 平台 难度 选它的理由
数据分析 主 《Python for Data Analysis》(pandas 作者) [中文版] 书 初 pandas 作者亲自写,数据操作最透
数据分析 备 Kaggle Learn 系列 网页 初 实战数据集 + 即时反馈
SQL 主 《SQL 必知必会》[中文] 书 初 短小精悍,一周末读完
数据可视化 主 《Storytelling with Data》 书 中 可视化"为什么"而非只是"怎么画"

前端 / 后端 / DevOps

方向 角色 资源 平台 难度 选它的理由
前端基础 主 MDN Web Docs 文档 初 唯一权威源头
React 主 React 官方文档 文档 初 官方文档近年重写后质量极高
后端 API 主 FastAPI / Django 官方文档(二选一) 文档 初 框架文档即最佳教材
Docker/K8s 主 官方 Docker 入门 + 《Docker 实战》[中文] 文档+书 初 先跑起来,再看原理
CI/CD 主 GitHub Actions 官方文档 文档 初 用自己仓库练,即学即用
Linux 备 《鸟哥的 Linux 私房菜》[中文] 书 初 中文 Linux 经典

通用补位

场景 资源 说明
概念看不懂 Wikipedia + 对应领域综述 先建地图再深入
代码跑不通 官方文档 + Stack Overflow 先搜错误原文,再搜概念
想验证理解 向 AI 解释(Feynman 技巧) 讲不清就是没懂
想找练习 对应语言官方 Exercises + LeetCode 语法题用官方,算法题用 LeetCode

完整示例:AI 系统学习方案(标准 12 周)

> 以下为可直接套用的完整成文示例。替换主题和细节即可复用。

# AI 系统学习方案 · 2026

> 生成日期:2026/08/20 | 方案版本 v1.0 | 复盘节奏:每周日
> 时间预算:2h/天(工作日)+ 4h/天(周末) | 路线模式:标准 12 周

---

## 一、起点诊断

### 已有基础(不需要重学)
- ✅ 工程实战:做过记忆系统(BM25 + embedding)、多智能体系统、Agent 平台
- ✅ Python 熟练:numpy/pandas 日常使用无压力
- ✅ 概念接触:知道 Transformer/注意力机制"是什么",但没系统学过

### 靶点清单(要补的)
| # | 靶点 | 为什么是靶点 |
|---|------|-------------|
| 1 | 数学语言(线性代数/概率) | 读论文和源码推导全靠它,现在说不出为什么 |
| 2 | Transformer 机理 | 会用 API 但不知道内部怎么算——限制调优和排错 |
| 3 | 训练侧全链路 | 只会推理不会训练,无法做微调和评估 |
| 4 | 理论地图 | 知识碎片化,没有"哪些概念属于同一体系"的全局观 |

---

## 二、总体路线

W0 摸底 → 阶段1(数学+ML 4周) → 阶段2(DL+Transformer 4周) → 阶段3(LLM+Agent 4周) → 前沿追踪

---

## 三、W0 摸底(2026/08/24 - 2026/08/26)

- [ ] 知识自测(结果标记 会/模糊/不会):
  1. 矩阵乘法的几何意义?为什么 Transformer 用矩阵乘法?
  2. 贝叶斯公式是什么?dropout 和它有什么关系?
  3. 简述 Transformer 的 attention 计算流程(Q/K/V 各是什么)?
  4. 什么是反向传播?梯度消失怎么发生?
  5. 什么是 LoRA?为什么能省显存?
- [ ] 技能自测:用 numpy 手写矩阵乘法 + 最小线性回归
- [ ] 方向确认:3 个月后能独立微调一个 7B 模型并做评估
- [ ] 产出自测结果表 → 决定阶段 1/2/3 的时间分配权重

---

## 四、阶段 1:数学 + ML 基础(2026/08/27 - 2026/09/23)

### 1. 内容清单
| 学什么 | 为什么学 |
|--------|---------|
| 线性代数(向量/矩阵/特征值) | 理解 embedding、attention 的矩阵运算 |
| 概率统计(分布/贝叶斯/最大似然) | 理解 loss 函数、正则化、采样 |
| 微积分(导数/梯度/链式法则) | 反向传播的唯一数学基础 |
| ML 基础(损失函数/过拟合/评估指标) | 建立"模型怎么学"的直觉 |

### 2. 资源推荐
| 角色 | 资源 | 平台 | 难度 | 选它的理由 |
|------|------|------|------|-----------|
| 主 | 3Blue1Brown《线性代数的本质》+《微积分的本质》 | B站 | 初 | 几何直觉优先,治公式恐惧症 |
| 备 | 李航《统计学习方法》 | 书 | 中 | 数学功底扎实时切入 |

**资源备选池**:吴恩达 ML 课、Khan Academy、花书《深度学习》

### 3. 学练绑定
- [ ] numpy 手写线性回归 + 逻辑回归 → 产出:`ml_from_scratch.py`
- [ ] 用 numpy 实现 3 种常用 loss(MSE/交叉熵/正则项)→ 产出:`losses.py`

### 4. 验收标准
- [ ] 不看笔记能解释特征值分解的几何意义
- [ ] `ml_from_scratch.py` 在 iris 数据上跑通,准确率 > 90%

### 5. 预计耗时
2h/天 × 5天 + 4h/天 × 2天 ≈ 18h/周,4 周 ≈ 72h

### 6. 依赖关系
前置:W0 摸底 | 后置:阶段 2

---

## 五、阶段 2:DL 基础 + Transformer 机理(2026/09/24 - 2026/10/21)

### 1. 内容清单
| 学什么 | 为什么学 |
|--------|---------|
| 神经网络基础(前向/反向/优化器) | 从"手写 ML"升级到"理解深度学习训练" |
| Transformer 完整机理(Q/K/V、多头、位置编码) | 核心靶点——LLM 的地基 |
| 训练技巧(正则/学习率/梯度问题) | 直接服务阶段 3 的微调实操 |

### 2. 资源推荐
| 角色 | 资源 | 平台 | 难度 | 选它的理由 |
|------|------|------|------|-----------|
| 主 | Karpathy《Zero to Hero》(micrograd + nanoGPT) | YouTube | 中 | 从零手写反向传播和 GPT |
| 备 | 李沐《动手学深度学习》 | B站 | 中 | 中文 + 代码全,卡住时兜底 |

### 3. 学练绑定
- [ ] 手写 micrograd(自动微分)→ 产出:`micrograd.py`
- [ ] 手搓 nanoGPT → 产出:`nano_gpt.py`
- [ ] 用 numpy 实现单头 attention → 产出:`attention_numpy.py`

### 4. 验收标准
- [ ] 不看源码能画出 Transformer 结构图并解释每层数据形状变化
- [ ] `nano_gpt.py` 训练出可生成连贯句子的最小模型

### 5. 预计耗时
18h/周 × 4 周 ≈ 72h

### 6. 依赖关系
前置:阶段 1 | 后置:阶段 3

---

## 六、阶段 3:LLM 工程 + Agent + 微调(2026/10/22 - 2026/11/18)

### 1. 内容清单
| 学什么 | 为什么学 |
|--------|---------|
| LLM 推理与 API 工程 | 系统化补全盲区 |
| Agent 架构(ReAct/规划/记忆/工具) | 把已有 Agent Loop 经验上升到方法论 |
| 微调(LoRA/QLoRA/评估) | 核心靶点——从"用模型"到"改模型" |
| 评估体系(指标/基准/人工评测) | 微调没有评估等于瞎调 |

### 2. 资源推荐
| 角色 | 资源 | 平台 | 难度 | 选它的理由 |
|------|------|------|------|-----------|
| 主 | HuggingFace PEFT + TRL 官方文档 | 文档 | 中 | 微调实操唯一权威入口 |
| 备 | 吴恩达《Building Systems with the ChatGPT API》 | 视频 | 初 | Agent 工程化轻量补位 |

### 3. 学练绑定
- [ ] 用 QLoRA 微调 7B 模型 → 产出:微调模型 + 训练日志
- [ ] 为微调模型设计 5 项评估指标 → 产出:`eval_report.md`
- [ ] 把 Agent Loop 升级为带记忆的 ReAct → 产出:`agent_loop_v2.py`

### 4. 验收标准
- [ ] 微调前后模型在自建评测集上指标可量化对比
- [ ] `agent_loop_v2.py` 通过端到端测试,记忆召回率可复现

### 5. 预计耗时
18h/周 × 4 周 ≈ 72h

### 6. 依赖关系
前置:阶段 2 | 后置:前沿追踪(持续)

---

## 里程碑日历

| 阶段 | 起止日期 | 完成标准 | 状态 |
|------|---------|---------|------|
| W0 摸底 | 2026/08/24 - 2026/08/26 | 自测表 + 方向确认 | ⬜ |
| 阶段1 数学+ML | 2026/08/27 - 2026/09/23 | `ml_from_scratch.py` 跑通 iris > 90% | ⬜ |
| 阶段2 DL+Transformer | 2026/09/24 - 2026/10/21 | `nano_gpt.py` 生成连贯文本 | ⬜ |
| 阶段3 LLM+Agent | 2026/10/22 - 2026/11/18 | 微调模型 + 可量化评估报告 | ⬜ |

---

## 风险管理

| # | 风险 | 等级 | 应对 |
|---|------|------|------|
| R1 | 数学劝退(阶段1最容易放弃) | 🟠 P1 | 3Blue1Brown 几何直觉优先;只补自测标"模糊/不会"的;连续卡 2 天降级为"看懂结论即可" |
| R2 | 学习与工作抢时间 | 🟠 P1 | 学练绑定内建——产出直接复用工作数据,学习即项目升级 |
| R3 | 资源松鼠症 | 🟡 P2 | 1主1备硬约束;备选池只登记不展开 |
| R4 | 显存不够(6GB VRAM 训不动 7B) | 🟡 P2 | 阶段3 预设 QLoRA + 4bit 量化;不行降级到 3B |
| R5 | 精力断档(4 周无正反馈) | 🟡 P2 | 每周日复盘强制检查;每阶段产出物即正反馈 |

---

## 待确认决策点

- [ ] 时间预算:是否按 2h/天 + 4h/周末执行?(可调)
- [ ] 微调目标:用 7B 还是降级 3B?(受显存影响,阶段 3 前拍板)
- [ ] 前沿追踪:是否纳入正式计划,还是只保持"关注"?

---

*方案版本 v1.0 | 复盘节奏:每周日 | 下次复盘:2026/08/30*

> 第二个示例(Rust 轻度 8 周):用户输入 我想学 Rust,有 Python 5 年经验,每天能投入 1 小时。结构与上方相同但只 2 个阶段(语法+所有权 4周 → 实战项目 4周),资源用 The Book + Rustlings,学练绑定用 Rustlings 练习 + "用 Rust 重写 Python 工具"作为验收。完整版见 references/EXAMPLE_RUST.md。


校验脚本(交付前必跑)

> 将以下代码保存为 validate_plan.py,生成方案后运行检查质量。

#!/usr/bin/env python3
"""validate_plan.py — 结构化学习方案输出质量校验

用法:
    python validate_plan.py <plan.md>
    python validate_plan.py <plan.md> --strict   # 严格模式: 失败返回非零退出码

校验项:
    C1  可勾选: 任务全部使用 - [ ] 格式 (≥8个)
    C2  日期真实: 里程碑含具体日期 YYYY/MM/DD, 无"第N周"占位符
    C3  资源不超: 每阶段主资源 ≤ 2 (1主1备封顶)
    C4  风险登记: ≥ 3 条风险 + 应对方案
    C5  验收明确: 无"理解了/掌握了/学会了"等模糊验收词
    C6  W0 摸底: 包含起点诊断章节
    C7  决策点: 包含待确认决策点章节
"""
import re
import sys


def check_plan(path):
    """返回 (检查项id, 是否通过, 说明) 列表"""
    try:
        with open(path, encoding="utf-8") as f:
            text = f.read()
    except OSError as e:
        print(f"错误: 无法读取文件 {path}: {e}")
        sys.exit(2)

    results = []

    # C1 可勾选: - [ ] 任务数量充足(>=8), 不混入已完成标记
    checkbox_open = re.findall(r"^\s*-\s*\[ \]", text, re.MULTILINE)
    checkbox_done = re.findall(r"^\s*-\s*\[[xX]\]", text, re.MULTILINE)
    ok_c1 = len(checkbox_open) >= 8 and len(checkbox_done) == 0
    results.append(("C1 可勾选格式", ok_c1,
                    f"- [ ] 任务 {len(checkbox_open)} 个, 已完成标记 {len(checkbox_done)} 个"))

    # C2 日期真实
    has_dates = bool(re.search(r"20\d{2}/\d{2}/\d{2}", text))
    week_placeholder = bool(re.search(r"第\s*[0-9N一二三四五六七八九十]+\s*周", text))
    results.append(("C2 真实日期", has_dates and not week_placeholder,
                    f"含真实日期: {has_dates}; 含'第N周'占位符: {week_placeholder}"))

    # C3 资源不超
    main_resources = re.findall(r"^\|\s*主\s*\|", text, re.MULTILINE)
    stage_blocks = re.findall(r"^#{2,4}\s*(阶段\s*\d|四、|五、|六、|七、)", text, re.MULTILINE)
    results.append(("C3 资源1主1备", len(main_resources) <= max(len(stage_blocks) * 2, 2),
                    f"主资源 {len(main_resources)} 个 / 阶段区块 {len(stage_blocks)} 个"))

    # C4 风险登记 >= 3
    risk_rows = re.findall(r"^\|\s*R\d+\s*\|", text, re.MULTILINE)
    results.append(("C4 风险≥3条", len(risk_rows) >= 3, f"风险条目 {len(risk_rows)} 条"))

    # C5 验收明确: 无模糊词
    fuzzy_words = ["理解了", "掌握了", "学会了", "大概明白", "差不多会"]
    found_fuzzy = [w for w in fuzzy_words if w in text]
    results.append(("C5 验收明确", not found_fuzzy,
                    f"模糊词: {found_fuzzy if found_fuzzy else '无'}"))

    # C6 W0 摸底
    has_w0 = bool(re.search(r"W0|起点诊断", text))
    results.append(("C6 起点诊断", has_w0, f"含W0/起点诊断: {has_w0}"))

    # C7 决策点
    has_dec = bool(re.search(r"待确认决策点|决策点", text))
    results.append(("C7 决策点", has_dec, f"含待确认决策点: {has_dec}"))

    return results


def main():
    if len(sys.argv) < 2:
        print("用法: python validate_plan.py <plan.md> [--strict]")
        sys.exit(2)
    path = sys.argv[1]
    strict = "--strict" in sys.argv

    results = check_plan(path)

    print(f"校验文件: {path}\n")
    passed = 0
    for cid, ok, desc in results:
        mark = "✅" if ok else "❌"
        print(f"  {mark} {cid:<14s} {desc}")
        passed += 1 if ok else 0

    score = passed / len(results) * 100
    print(f"\n得分: {score:.0f}/100 ({passed}/{len(results)} 项通过)")
    if passed == len(results):
        print("结论: 通过, 方案符合输出质量标准")
        return 0
    print("结论: 存在失败项, 按上述 ❌ 项修正后重新校验")
    return 1 if strict else 0


if __name__ == "__main__":
    sys.exit(main())

七项检查:C1 可勾选格式 / C2 真实日期 / C3 资源1主1备 / C4 风险≥3条 / C5 验收无模糊词 / C6 含起点诊断 / C7 含决策点。任何 ❌ 项修正后重新校验,全绿才交付。


输出质量标准

检查项 标准 校验
可勾选 每个任务使用 - [ ] 格式 C1
日期真实 里程碑含具体日期(YYYY/MM/DD),非"第N周" C2
验收明确 每阶段有可客观判断的完成标准 C5
资源不超 每阶段 ≤ 2 个主资源 C3
风险登记 ≥ 3 条风险 + 应对方案 C4
决策点 明确标注哪些需要用户拍板 C7

注意事项

  1. 先诊断再规划:不知道用户现有基础绝不开始输出方案
  2. 防松鼠症:1主1备是硬约束,不能因为"这个也不错"多塞一个资源
  3. 学练绑定是底线:没有绑定项目的学习计划等于没用,每阶段至少 2 个绑定点
  4. 复盘钩子必留:输出文件必须 - [ ] 格式,可被自动化读取进度
  5. 日期推算:里程碑使用真实日期推算,不许用占位符
  6. 不替代课程:本 Skill 只规划"学什么、怎么学、何时验收",不生成教学内容
  7. 模板优先:成文用上方输出模板,资源从资源库取,不每次现场即兴

扩展文件(可选,本文件已自包含)

本 SKILL.md 已内联全部核心内容。以下文件为扩展版本,有更详细的内容但非必需:

文件 用途
references/EXAMPLE_RUST.md 第二个完整示例(Rust 轻度 8 周)
references/EXAMPLE_AI_LEARNING.md AI 示例独立文件版(与本文件内联版相同)
references/RESOURCE_LIBRARY.md 资源库独立文件版(含更多备选资源)
scripts/validate_plan.py 校验脚本独立文件(与本文件内联版相同)
references/INPUT_TEMPLATE.md 输入模板独立文件版(含系统 Prompt 骨架)
references/OUTPUT_TEMPLATE.md 输出模板独立文件版

版本 1.2.0 | 创建 2026-07-30 | 更新 2026-08-20(全部核心内容内联,单文件自包含)

常见问题

5 问
答案由本站依据条目字段整理
结构化学习方案怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_61f6dd3a/structured-learning-planner。安装方式为未标注。装完刷新技能列表或重开客户端。

结构化学习方案支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

结构化学习方案权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

结构化学习方案收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

结构化学习方案用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。