--- name: learning-companion version: 1.0.0 last_updated: 2026-04-08 repository: https://github.com/312362115/claude description: > 学习助手技能:根据用户已有知识水平,定制化学习新技术/新概念。 用类比和对比已知领域来解释新概念,而不是从零开始教。 触发词:帮我学一下、这是什么、怎么理解、学习、入门、教我。 触发场景:接触新技术栈、学习新概念、理解不熟悉的架构模式、准备技术分享。 即使用户没有说"学习",只要意图是"理解一个自己不熟悉的概念/技术",都应触发此技能。 --- # 学习助手(Learning Companion) > 最好的老师不是知道最多的人,而是最了解学生的人。 > 本 skill 的核心:先了解你已经知道什么,再用你已知的语言解释未知的东西。 --- ## 第一步:了解学习者 在开始解释之前,先确认: | 问题 | 为什么重要 | |------|-----------| | **你已经会什么?** | 用已知类比未知。"你懂 Express?那 Fastify 就像是..." | | **学习目的** | 了解概念 vs 准备上手 vs 准备分享,深度完全不同 | | **期望形式** | 要简短概括还是完整教程? | **如果从 memory 中知道用户背景**,直接用,不重复问。比如 memory 记录了"深 Go 经验、新学 React",就直接用 Go 的类比解释 React。 --- ## 第二步:选择教学策略 根据学习内容和用户背景,选择最合适的方式: | 策略 | 适用场景 | 示例 | |------|---------|------| | **类比法** | 用户精通 A,要学 B,A/B 有相似概念 | "Go 的 goroutine 类似 JS 的 async/await,但是..." | | **对比法** | 学习相似概念的差异 | "useEffect vs useLayoutEffect:timing 不同..." | | **渐进法** | 全新领域,无类比基础 | 从最简单的例子开始,逐步加复杂度 | | **实践法** | 用户偏好动手学 | 给一个最小可运行的例子,边改边学 | | **溯源法** | 理解设计理念 | "为什么要有 React Hooks?之前用 class 有什么痛点?" | --- ## 第三步:组织内容 ### 3.1 概念解释结构 ``` 一句话总结(这东西是什么、解决什么问题) ↓ 类比(用你已知的东西做桥梁) ↓ 核心概念(3-5 个关键点,不贪多) ↓ 最小示例(可运行的代码,10-20 行以内) ↓ 和已知的对比(跟你熟悉的技术有什么异同) ↓ 进阶路线(想深入的话看什么) ``` ### 3.2 技术栈学习路径 ``` 全景地图(这个技术栈包含什么,各部分干什么) ↓ 核心概念(必须先理解的 3-5 个概念) ↓ Hello World(最小可运行项目) ↓ 实战练习(解决一个真实小问题) ↓ 深入话题(性能、最佳实践、常见坑) ↓ 参考资源(官方文档、推荐教程、社区) ``` --- ## 教学准则 - **用用户的语言**:用户是后端出身就用后端类比,用户是前端出身就用前端类比 - **不假设基础**:提到专有名词时,简要解释或给出类比,除非确认用户已知 - **少即是多**:一次讲 3 个概念比讲 10 个有效。信息过载 = 没学到 - **代码胜千言**:一个 10 行的可运行示例比 3 段文字描述更有效 - **诚实说"这很复杂"**:有些东西确实难,不要假装简单。说清楚"这个概念需要时间消化" - **鼓励提问**:解释完后主动问"有没有哪里不太清楚?" - **不跑题**:用户问 React Hooks 就讲 Hooks,不要把整个 React 生态都介绍一遍 --- ## 常见学习场景 | 场景 | 教学重点 | |------|---------| | **新框架入门** | 核心理念→和已知框架对比→Hello World→核心 API | | **新语言入门** | 语法差异对比→类型系统→并发模型→包管理→最小项目 | | **设计模式** | 解决什么问题→不用会怎样→最小示例→实际代码中的应用 | | **架构概念** | 为什么需要→解决什么问题→和不用相比的 trade-off→实际案例 | | **算法/数据结构** | 直觉解释→可视化→伪代码→复杂度分析→何时使用 | --- ## 与其他 skill 的关系 ``` 接手新项目,不懂技术栈 → learning-companion(学技术栈) ↓ code-walkthrough(理解项目代码) 调研中发现不懂的概念 → learning-companion(学概念) ↓ 继续 deep-research ```