6eb137bec1302c7faf8cdb753deb9ef16caad697
Code Mentor - AI 编程导师
一款全面的 OpenClaw 技能,通过互动教学、代码审查、调试指导和动手实践来学习编程。
功能特性
🎓 8 种教学模式
- 概念学习 - 通过渐进式示例学习编程概念
- 代码审查与重构 - 获取代码反馈并获得引导式改进
- 调试侦探 - 使用苏格拉底式方法学习调试(不直接给答案!)
- 算法练习 - 掌握数据结构和算法
- 项目指导 - 在架构指导下设计和构建项目
- 设计模式 - 学习何时以及如何应用设计模式
- 面试准备 - 练习编程面试和系统设计
- 语言学习 - 通过从熟悉的语言映射来学习新语言
📚 综合参考资料
- 算法:15 种以上常见模式(双指针、滑动窗口、DFS/BFS、动态规划等)
- 数据结构:数组、字符串、树、图、堆
- 设计模式:创建型、结构型、行为型模式及示例
- 语言:Python 和 JavaScript 快速参考
- 最佳实践:整洁代码、SOLID 原则、测试策略
🛠️ 实用脚本
analyze_code.py:静态代码分析,检测错误、风格、复杂度、安全问题run_tests.py:执行测试并输出格式化结果(pytest、unittest、jest)complexity_analyzer.py:使用大 O 表示法分析时间/空间复杂度
安装
环境要求
# 用于脚本功能(可选)
pip install -r requirements.txt
该技能无需脚本也能完美运行——脚本是可选的增强功能!
使用方法
快速入门
激活技能后,告诉它:
- 你的经验水平(初级/中级/高级)
- 你想学习或做什么
- 你喜欢的学习方式
示例:
"我是初学者,教我 Python 基础"
"帮我调试这段代码" [粘贴代码]
"给我一个中等难度的算法题"
"审查我的实现" [上传文件]
"我想构建一个 REST API"
教学模式
模式 1:概念学习
"教我递归"
"解释 JavaScript 中闭包是如何工作的"
"什么是动态规划?"
模式 2:代码审查
"审查我的代码" [粘贴或上传文件]
"如何改进这个函数?"
"这是否遵循了最佳实践?"
模式 3:调试(苏格拉底式方法)
"帮我调试这个错误"
"我的函数返回了 None 而不是总和"
"这个循环为什么没起作用?"
导师会通过提问引导你,帮助你自行发现错误!
模式 4:算法练习
"给我一个简单的算法题"
"练习链表"
"LeetCode 风格的中等难度题"
模式 5:项目指导
"帮我设计一个任务管理 API"
"我在搭建一个博客,从哪里开始?"
"应该用什么技术栈?"
模式 6:设计模式
"教我单例模式"
"什么时候应该使用工厂模式?"
"给我演示观察者模式的实际应用"
模式 7:面试准备
"模拟技术面试"
"系统设计:设计 Twitter"
"练习数组和字符串"
模式 8:语言学习
"我会 Python,教我 JavaScript"
"在 Rust 中怎么做 X?"
"比较 Python 和 Java"
使用脚本
代码分析器
分析代码中的错误、风格违规、复杂度和安全问题。
# 分析 Python 文件
python scripts/analyze_code.py mycode.py
# 输出 JSON 格式
python scripts/analyze_code.py mycode.py --format json
# 分析 JavaScript
python scripts/analyze_code.py app.js
输出包含:
- 度量指标(行数、注释数、复杂度)
- 按严重程度分类的问题(严重、警告、提示)
- 具体的改进建议
测试运行器
运行测试并输出格式化结果。
# 自动检测框架
python scripts/run_tests.py tests/
# 指定框架
python scripts/run_tests.py tests/ --framework pytest
# JSON 输出
python scripts/run_tests.py tests/ --format json
支持的框架:
- pytest (Python)
- unittest (Python)
- Jest (JavaScript)
复杂度分析器
分析时间复杂度和空间复杂度。
# 分析所有函数
python scripts/complexity_analyzer.py algorithm.py
# 分析特定函数
python scripts/complexity_analyzer.py algorithm.py --function bubble_sort
# JSON 输出
python scripts/complexity_analyzer.py algorithm.py --format json
输出包含:
- 时间复杂度(大 O 表示法)
- 空间复杂度
- 递归检测
- 优化建议
目录结构
code-mentor-1.0.0/
├── SKILL.md # 主要技能定义文件
├── README.md # 本文件
├── requirements.txt # Python 依赖
│
├── references/ # 知识库
│ ├── algorithms/
│ │ └── common-patterns.md # 15 种以上算法模式
│ ├── data-structures/
│ │ ├── arrays-strings.md
│ │ └── trees-graphs.md
│ ├── design-patterns/
│ │ └── creational-patterns.md
│ ├── languages/
│ │ └── python-reference.md
│ ├── best-practices/
│ │ └── clean-code.md
│ └── user-progress/
│ └── learning_log.md # 自动记录你的学习进度
│
└── scripts/ # 实用脚本
├── analyze_code.py
├── run_tests.py
└── complexity_analyzer.py
进度追踪
你的学习进度会在每次会话后自动保存到 references/user-progress/learning_log.md。内容包括:
- 已学主题和已掌握的概念
- 已解决的算法问题
- 练习过的技能和使用过的模式
- 重要的见解和突破
- 需要进一步复习的领域
你的进度会跨会话持续保留,因此你可以从上次中断的地方继续学习!
学习方法
苏格拉底式方法(调试)
导师在调试时从不直接给出答案。而是:
- 观察:"你期望什么结果?实际发生了什么?"
- 定位:"问题可能出在哪里?"
- 假设:"你认为它为什么会失败?"
- 检验:"你如何验证这一点?"
- 解决:"什么能修复它?"
这样可以教会你独立调试!
渐进式提示(算法)
练习算法时:
- 提示:"想想如何手动解决这个问题"
- 方向:"考虑使用哈希表……"
- 结构:"这是一般方法……"
- 骨架:"这是一个供你填写的模板……"
- 解答:完整解决方案及解释(仅在必要时提供)
自适应难度
导师会根据你的水平进行调整:
- 初级:清晰的解释、简单的示例、更多的指导
- 中级:最佳实践、有挑战性的问题、较少的引导
- 高级:架构设计、性能优化、复杂场景
示例
示例 1:学习概念
你:"教我 Python 中的列表推导式"
导师:我们来探索列表推导式!它们是创建列表的简洁方式。
这是传统的循环写法:
squares = []
for x in range(10):
squares.append(x ** 2)
这是使用列表推导式的写法:
squares = [x ** 2 for x in range(10)]
你注意到语法上有什么不同吗?
[后续进行互动讨论……]
示例 2:调试(苏格拉底式)
你:"我的函数返回了 None 而不是总和!"
导师:我们来调查一下。你期望这个函数返回什么?
你:"列表中所有数字的总和"
导师:好的。你能追踪一下第一次迭代吗?sum 变量发生了什么?
[引导你发现遗漏的 return 语句]
示例 3:代码审查
你:[提交了包含嵌套循环的代码]
导师:我发现了一个可以优化的地方。这个嵌套循环的时间复杂度是多少?
你:"O(n²)"
导师:没错。对于每个元素,你都在检查其他所有元素。
你能想到一种支持 O(1) 查找的数据结构吗?
[引导重构为使用哈希表]
高效学习小贴士
- 定期练习 - 持续学习胜过突击
- 先自己尝试 - 在寻求提示前先尝试自己解决问题
- 多提问 - 导师鼓励好奇心
- 动手做项目 - 在真实代码中应用所学知识
- 审查你的代码 - 使用代码审查模式来改进
- 测试你的代码 - 在学习过程中编写测试
支持的语言
主要关注:Python、JavaScript、TypeScript
也支持:Java、C++、Go、Rust、C#、Ruby、PHP、Swift、Kotlin 等更多语言!
故障排除
脚本无法运行?
安装依赖:
pip install -r requirements.txt
对于 JavaScript 测试(Jest):
npm install --save-dev jest
找不到参考资料?
参考资料按类别组织:
- 算法:
references/algorithms/ - 数据结构:
references/data-structures/ - 设计模式:
references/design-patterns/ - 语言:
references/languages/ - 最佳实践:
references/best-practices/
技能不理解你的请求?
尝试更具体一些:
- "教我关于 [概念]"
- "给我一个关于 [主题] 的 [难度] 问题"
- "审查我的 [语言] 代码"
- "帮我调试这个 [错误]"
贡献
想要添加更多参考资料或改进该技能?
- 将新算法添加到
references/algorithms/ - 将语言参考资料添加到
references/languages/ - 向
references/design-patterns/贡献设计模式 - 用新功能增强脚本
许可证
MIT 许可证 - 欢迎使用和修改!
致谢
基于 OpenClaw 框架构建,用于创建教育型 AI 技能。
学习愉快! 🚀
记住:学习编程最好的方式就是动手做。这位导师会在这里引导你、挑战你、帮助你自行发现解决方案。挣扎是学习的一部分——拥抱它吧!
Description
Comprehensive AI programming tutor for all levels. Teaches programming through interactive lessons, code review, debugging guidance, algorithm practice, project mentoring, and design pattern exploration. Use when the user wants to: learn a programming language, debug code, understand algorithms, review their code, learn design patterns, practice data structures, prepare for coding interviews, understand best practices, build projects, or get help with homework. Supports Python and JavaScript.