Skip to content
Back to skills

Smart Learn

ASecurity

独立学习技能,基于费曼学习法的五步闭环。触发方式:输入 /smart-learn 主题,或说"教我XX"、"帮我系统学习XX"。每学完一步自动同步更新 Word 文档 + Mermaid 思维导图。

  • 21 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added June 12, 2026
educationpythonbashkubernetesgitapi

Works with

  • vscode
  • api

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 8 files and shows the line behind each finding

Scanned June 12, 2026

npx -y skills add HYH926/smart-learn --skill smart-learn --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Smart Learn?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Smart Learn
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/hyh926-smart-learn/badge)](https://www.skillsdirectory.com/skills/hyh926-smart-learn)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: smart-learn
description: 独立学习技能,基于费曼学习法的五步闭环。触发方式:输入 /smart-learn 主题,或说"教我XX"、"帮我系统学习XX"。每学完一步自动同步更新 Word 文档 + Mermaid 思维导图。
context: inline
---

# Smart Learn — 增量内联学习技能

基于费曼学习法五步闭环。纯 Markdown 零依赖可用;可选 `pip install python-docx` 获得 Word 文档功能。每一步学习成果同步更新到 **Word 文档** + **Mermaid 思维导图**,全程实时生长。

## 触发

- `/smart-learn 主题名`
- "教我 Kubernetes 网络模型"
- "帮我系统学习 DDD"
- 任何表达出"想系统掌握一个复杂主题"的意图

### 不触发

- 简单定义("X是什么")
- 信息查询("帮我查一下X")
- 内容总结("总结这篇文章")

## 核心原则

1. **禁止使用 Agent 工具** — 所有步骤由主对话直接执行
2. **每步可见** — 输出实时展示,用户确认后进入下一步
3. **自然对话** — 不用弹窗确认,用户用自然语言回应即可
4. **零外部依赖(核心)** — Markdown 学习 + 存储不依赖任何第三方包
5. **三格式持久化** — .md(知识库笔记,始终生成) + .docx(Word文档,可选) + Mermaid 思维导图(零依赖,始终生成)

---

## 初始化(Word 文档 + 思维导图)

学习开始前,同时初始化 Word 文档和 Mermaid 思维导图。Word 失败不影响核心流程;思维导图零依赖始终可用。

```bash
# 思维导图(零依赖,始终生成)
python .claude/skills/smart-learn/mindmap_utils.py init \
  --topic "主题名" \
  --output-dir "knowledge_store"

# Word 文档(可选,需 python-docx)
python .claude/skills/smart-learn/docx_utils.py init \
  --topic "主题名" \
  --output-dir "knowledge_store"
```

- 记录 `MINDMAP_FILE` 和 `MINDMAP_DATA` 路径,后续每步同步更新
- 如果 docx init 返回 `"status": "no_docx"` → 告知用户可 `pip install python-docx`,继续执行
- **智能入口检测**:初始化时按以下顺序检查已学记录,以**非阻塞提示**方式告知用户(不中断流程,用户无需回应即可继续):
  1. 检查 `knowledge_store/{主题slug}_checkpoint.json` → 存在 = 有未完成学习
  2. 检查 `knowledge_store/{主题}.md` 或 `knowledge_store/{主题}_学习笔记.docx` → 存在 = 已学完
  3. 检查 `knowledge_store/` 下文件名含关键词的笔记 → 存在 = 有相关知识

  根据检测结果,在初始化日志中附带提示(不阻塞,不等用户选择):
  - **有未完成学习** → 告知"💡 检测到未完成的学习(步骤N/5)。输入 `继续` 可续学,或正常开始全新学习"
  - **已学完该主题** → 告知"💡 你已学过「{主题}」。需要复习时随时输入 `/smart-review {主题}`"
  - **有相关主题笔记** → 告知"💡 检测到相关笔记「{主题}」,步骤4将自动关联"
  - **无任何记录** → 正常开始
  - 用户如果回应"继续上次" → 跳转到对应步骤恢复
  - 用户如果回应"复习" → 切换到复习流程
  - **用户不回应 → 不阻塞,直接进入步骤1**
  - 每完成一步 → 更新 checkpoint(`{"topic":"...", "last_step": N, "mindmap_data":"...", "docx_path":"..."}`)

---

## 五步工作流

每一步的核心输出格式保持不变。Word 写入是每步末尾的附加操作。

---

## 步骤0:前置评估(可选,仅在用户表明已有基础时触发)

**触发条件**:用户说"我已经了解XX部分"、"XX我比较熟"、"跳过基础直接讲进阶"等。

**不触发**:用户直接说"/smart-learn 主题"不带任何基础说明 → 跳过步骤0,正常从步骤1开始。

**执行**:
1. 仍然先执行步骤1生成完整概念地图(确保知识结构完整)
2. 概念地图展示给用户后,额外询问:"你对哪些概念已经比较熟悉?"
3. 用户可多选或描述(如"1、2、3 我熟 / 前三个入门的基本都会")
4. 为每个概念打上用户掌握度标记:
   - 🟢 熟悉 → 步骤2 只讲核心思想+一句话(跳过完整五维),步骤3 只出 1 道边界层题
   - 🟡 了解 → 步骤2 正常讲但可精简,步骤3 正常出题
   - 🔴 新手 → 步骤2 完整五维,步骤3 从最合适层出题
5. **重要**:即使是"熟悉"的概念,仍要写入 Markdown 笔记和思维导图(确保笔记完整性),只是在对话中加速讲解。Word 文档中标注 `[已掌握]`。

**约束**:
- 步骤0 是可选加速器,不改变五步闭环结构
- 用户标记为"熟悉"的概念 ≠ 不学,只是讲得更快、题更少
- 如果用户发现"熟悉"的概念实际不熟(步骤3答错),自动降级为 🔴 并完整补充

1. 调用 WebSearch 搜索该主题的最新资料(中文优先,确保准确性和及时性)
2. 读取 `templates/1-concept-map.md` 按模板执行
3. 将主题拆解为 5~8 个子概念,按学习依赖排序,标注难度

**固定输出格式**:
```
## 📊 概念地图:{主题}

1. {概念名}({难度})→ {一句话解决什么问题}
   ↓
2. {概念名}({难度})→ {一句话解决什么问题}
   ↓
...
```

输出后等待用户回应:
- "继续" / "OK" → 进入步骤2
- "调整XX" → 修改概念地图 → 重新输出 → **重新执行 mindmap 和 Word 同步(覆盖更新)** → 重新询问确认

**→ 保存检查点**(中断恢复用):
```bash
python -c "import json; json.dump({'topic':'{主题}','last_step':1}, open('knowledge_store/{主题slug}_checkpoint.json','w'))"
```

**→ 同步到思维导图**(始终执行):
```bash
python .claude/skills/smart-learn/mindmap_utils.py update \
  --file "{MINDMAP_FILE}" --data-file "{MINDMAP_DATA}" --step 1 \
  --concepts '[{"name":"概念1","difficulty":"入门","purpose":"解决问题X"}, ...]'
```
执行后告知用户:`🧠 思维导图已更新:knowledge_store/{主题}_思维导图.md`

**→ 写入 Word**(如果 DOCX_PATH 存在):
```bash
python .claude/skills/smart-learn/docx_utils.py add-step \
  --file "{DOCX_PATH}" --step 1 --title "概念地图" \
  --content-file /tmp/smart-learn-step1.md
```
执行后告知用户:`📄 Word 文档已更新:knowledge_store/{主题}_学习笔记.docx`

---

### 步骤 2:费曼解释

读取 `templates/2-feynman.md` 按模板执行。对步骤1中的每个概念,逐一用五维框架解释。

**每个概念的固定输出结构**:
```markdown
### {序号}. {概念名}

**为什么需要?** → {背景与动机,旧方案有什么问题}
**核心思想** → {一句话说清本质}
**类比理解** → {日常场景类比,完全非技术领域}
**示例** → {最小可运行的代码/真实场景}
**一句话** → {离开后能记住的那句}
```

**每个概念的执行顺序(严格遵守,不可跳过任何一步)**:

```
1. 输出该概念的五维解释
        ↓
2. ⚡ 执行 mindmap 同步命令(必须实际运行 Bash,不可只声明)
        ↓
3. ⚡ 将解释内容写入临时文件,执行 Word 写入命令(必须实际运行 Bash)
        ↓
4. 告知用户文件已更新(显示路径)
        ↓
5. 询问用户:继续 / 修改 / 换类比 / 提问
```

**用户回应后的处理**:

| 用户回应 | 处理方式 |
|---------|---------|
| "继续" / "下一个" | 已完成同步,直接讲下一个概念 |
| "修改XX部分" | 按反馈调整解释 → 重新执行步骤 1→2→3→4→5(mindmap 覆盖更新,Word 以 `{概念名}(修正)` 追加修订版) |
| "换一个类比" / "没懂" | 用不同类比重讲,用户确认后执行步骤 2→3→4→5 |
| 任意提问 | 针对性解答,确认后继续 |

**→ 同步到思维导图**(每概念确认后必须执行):
```bash
python .claude/skills/smart-learn/mindmap_utils.py update \
  --file "{MINDMAP_FILE}" --data-file "{MINDMAP_DATA}" --step 2 \
  --concept "{概念名}" --core "{核心思想摘要}" --analogy "{类比关键词}"
```
执行后告知用户:`🧠 已同步到思维导图:knowledge_store/{主题}_思维导图.md`

**→ 写入 Word**(每概念确认后必须执行):
```bash
# 先将该概念的完整 Markdown 解释写入临时文件
cat > /tmp/smart-learn-step2-concept.md << 'EOF'
### {序号}. {概念名}

**为什么需要?**
{解释内容}
...
EOF
python .claude/skills/smart-learn/docx_utils.py add-step \
  --file "{DOCX_PATH}" --step 2 --title "{序号}. {概念名}" \
  --content-file /tmp/smart-learn-step2-concept.md
```
执行后告知用户:`📄 已写入 Word:knowledge_store/{主题}_学习笔记.docx`

全部概念讲完后,用 3~5 句话串联串讲,然后进入步骤3。

**禁止**:
- 用未解释的术语解释另一个术语
- 从定义开始(必须从"为什么需要"开始)
- 类比用另一个技术概念
- **声明"已同步"但未实际执行 Bash 命令**(这是最严重的执行错误)

---

### 步骤 3:递进式自测

读取 `templates/3-self-test.md` 按模板执行。为每个概念出 1 道题,从三层中选最合适的一层:

| 层次 | 考察目标 | 适合什么概念 |
|------|---------|------------|
| 理解层 | 改变条件问变化 | 核心机制类(如缓存策略) |
| 应用层 | 新场景设计方案 | 工程实践类(如API设计) |
| 边界层 | 什么时候失效 | 理论约束类(如CAP定理) |

**每题的执行顺序(严格遵守)**:

```
1. 出题,等待用户回答
        ↓
2. 给出点评 + 参考答案 + 掌握度
        ↓
3. ⚡ 如果是 ❌ 薄弱 → 执行 mindmap 标记命令
        ↓
4. ⚡ 执行 Word 写入命令(含题目+回答+点评+参考答案)
        ↓
5. 告知用户文件已更新
        ↓
6. 出下一道题(或汇总)
```

**逐个提问**,每次只出一道题。用户回答后给出:
- **点评**:具体评价哪里好、哪里不足
- **参考答案**:一个高质量的示范回答
- **掌握度**:✅ 已掌握 / ⚠️ 部分掌握 / ❌ 薄弱

全部完成后汇总薄弱点,询问用户:
- "继续" → 进入步骤4
- "回顾薄弱概念" → 对每个 ❌ 薄弱概念:
  1. 用不同的类比重新解释该概念(不重复步骤2的原版)
  2. 出一道新的同类层级的题目
  3. 用户回答后点评
  4. 直到掌握度变为 ✅/⚠️ 或用户说"先继续"
  5. 更新思维导图移除该概念的 ⚠️ 标记(如果已掌握)
  6. **薄弱概念回顾的每一步也要同步到 Word(追加"回顾修正"记录)**

**→ 同步到思维导图**(每题点评后,❌ 薄弱则必须执行):
```bash
python .claude/skills/smart-learn/mindmap_utils.py update \
  --file "{MINDMAP_FILE}" --data-file "{MINDMAP_DATA}" --step 3 \
  --concept "{概念名}" --weak "{薄弱原因摘要}"
```
执行后告知用户:`🧠 {概念名} 已标记薄弱点到思维导图`

**→ 写入 Word**(每题点评后必须执行):
```bash
cat > /tmp/smart-learn-step3-q.md << 'EOF'
**问题**:{题目}
**你的回答**:{用户回答摘要}
**点评**:{点评}
**参考答案**:{参考答案}
**掌握度**:{✅/⚠️/❌}
EOF
python .claude/skills/smart-learn/docx_utils.py add-step \
  --file "{DOCX_PATH}" --step 3 --title "{概念名} — 自测" \
  --content-file /tmp/smart-learn-step3-q.md
```
执行后告知用户:`📄 自测记录已写入 Word`

---

### 步骤 4:关联内化

读取 `templates/4-association.md` 按模板执行。

1. 用 Glob 检查 `knowledge_store/` 下已有的学习笔记
2. 如果有相关主题,做四维对比:
   - 解决的是同一个问题吗?
   - 哪些经验可以直接迁移?
   - 新概念有什么独特性?
   - 知识地图中位置关系?
3. 如果没有,告知"这是该领域的第一个知识节点"
4. 输出文本版知识网络图

**步骤4的执行顺序(严格遵守)**:

```
1. 检索并输出知识网络图
        ↓
2. ⚡ 对每个关联主题执行 mindmap 关联命令
        ↓
3. ⚡ 执行 Word 写入命令(含对比表格和网络图)
        ↓
4. 告知用户文件已更新
        ↓
5. 询问用户:继续 / 补充关联
```

用户回应:
- "继续" → 进入步骤5
- "补充关联" → 用户提出更多关联角度 → 追加分析 → 重新执行步骤 2→3→4(mindmap 自动去重,Word 追加新关联)

**→ 同步到思维导图**(每个关联主题必须执行):
```bash
python .claude/skills/smart-learn/mindmap_utils.py update \
  --file "{MINDMAP_FILE}" --data-file "{MINDMAP_DATA}" --step 4 \
  --assoc-target "{关联主题名}" --assoc-relation "{一句话关系}"
```
执行后告知用户:`🧠 知识关联已添加到思维导图`

**→ 写入 Word**(必须执行):
```bash
cat > /tmp/smart-learn-step4.md << 'EOF'
{关联分析的对比表格和网络图内容}
EOF
python .claude/skills/smart-learn/docx_utils.py add-step \
  --file "{DOCX_PATH}" --step 4 --title "关联内化" \
  --content-file /tmp/smart-learn-step4.md
```
执行后告知用户:`📄 关联分析已写入 Word`

---

### 步骤 5:巩固总结并保存

读取 `templates/5-summary.md` 按模板执行。

**输出精华笔记**(≤500 字):
```markdown
## 🎯 核心公式
{一句"懂了就懂了80%"的话}

## 🔑 三个关键点
1. {洞察一}
2. {洞察二}
3. {洞察三}

## ⚠️ 薄弱点
- **{具体薄弱点}**:{为什么容易搞混} → {正确理解}(首次标记:{今天日期})

## 🏗️ 一句话类比
{日常场景一句话总结}

## 🏷️ 关键词
`{k1}` `{k2}` `{k3}` `{k4}` `{k5}`
```

输出精华笔记后等待用户回应:
- "保存" → 写入所有文件(见下方持久化步骤)
- "修改XX" → 调整对应部分 → 重新输出完整精华笔记 → 重新询问确认(确认后一次性写入所有文件)

**持久化**(用户确认后执行):
1. **必做**:将完整五步报告写入 `knowledge_store/{主题slug}.md`
2. **必做**:最终化思维导图:
```bash
python .claude/skills/smart-learn/mindmap_utils.py finalize \
  --file "{MINDMAP_FILE}" --data-file "{MINDMAP_DATA}" \
  --summary "{核心公式}" \
  --weak-points "{薄弱点1; 薄弱点2}" \
  --keywords "{k1, k2, k3, k4, k5}"
```
3. **可选**:最终化 Word 文档:
```bash
python .claude/skills/smart-learn/docx_utils.py finalize \
  --file "{DOCX_PATH}" \
  --summary "{核心公式}" \
  --weak-points "{薄弱点1; 薄弱点2}" \
  --keywords "{k1, k2, k3, k4, k5}"
```

最后以可点击路径告知用户全部产出物位置:
- 📝 Markdown 笔记:`knowledge_store/{主题slug}.md`
- 🧠 思维导图:`knowledge_store/{主题}_思维导图.md`(Mermaid 格式,GitHub/VSCode 原生渲染)
- 📄 Word 文档:`knowledge_store/{主题}_学习笔记.docx`(如有)
- ⚠️ 薄弱点列表:(逐一列出)

**→ 清理临时文件和检查点**(学习完成):
```bash
rm -f /tmp/smart-learn-step*.md /tmp/smart-learn-concept*.md
rm -f knowledge_store/{主题slug}_checkpoint.json
```

---

## 同步更新流程图

```
/smart-learn 主题
     │
     ├─ 初始化 ──→ 🧠 创建空白思维导图 + 📄 创建 Word(可选)
     │
     ├─ 步骤1 ──→ 🧠 写入概念节点 + 📄 写入概念地图
     │
     ├─ 步骤2 ──→ 🧠 每概念追加核心思想/类比 + 📄 写入解释
     │
     ├─ 步骤3 ──→ 🧠 标记薄弱点 ⚠️ + 📄 写入问答记录
     │
     ├─ 步骤4 ──→ 🧠 追加知识关联 🔗 + 📄 写入对比分析
     │
     └─ 步骤5 ──→ 🧠 最终化思维导图 + 📄 最终化 Word + 📝 Markdown
```

---

## 知识连续性

- 学习前检查 `knowledge_store/` 目录已有笔记
- 发现关键词匹配的旧笔记时,主动在步骤4做关联
- 所有笔记(.md + .docx + 思维导图.md)保存到同一目录,形成累积知识库

## 模板与工具

| 文件 | 用途 | 依赖 |
|------|------|------|
| `templates/1-concept-map.md` | 概念地图模板 | 无 |
| `templates/2-feynman.md` | 费曼解释模板 | 无 |
| `templates/3-self-test.md` | 递进式自测模板 | 无 |
| `templates/4-association.md` | 关联内化模板 | 无 |
| `templates/5-summary.md` | 巩固总结模板 | 无 |
| `mindmap_utils.py` | Mermaid 思维导图同步生成 | **零依赖** |
| `docx_utils.py` | Word 文档增量生成 | python-docx(可选) |

Files in this skill

  • SKILL.md16.2 KB
  • docx_utils.py11.3 KB
  • mindmap_utils.py10.2 KB
  • templates/1-concept-map.md1.5 KB
  • templates/2-feynman.md1.5 KB
  • templates/3-self-test.md1.8 KB
  • templates/4-association.md1.7 KB
  • templates/5-summary.md1.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…