github-repo-learning Skill
描述
帮助用户深入学习 GitHub 开源代码仓库的 AI 助手技能。当用户想要系统学习某个开源项目时,自动分析仓库、设计课程规划、生成课时内容,并同步到飞书多维表格和日程。
触发条件
当用户同时满足以下条件时触发:
- 提供 GitHub 仓库地址(如
https://github.com/xxx/yyy)或仓库名(如xxx/yyy) - 表达学习意图,如:
- "深入学习"
- "帮我规划课程"
- "设计学习路线"
- "系统学习这个仓库"
- "想搞懂这个项目的代码"
- "帮我分析这个开源项目"
核心功能
1. 仓库分析与摘要生成
- 访问 GitHub 仓库页面
- 获取 README、项目结构、核心文件
- 转换为 deepwiki 地址(如支持)
- 生成
repo-summary.md作为项目引入文档
2. 交互式课程规划
询问用户以下参数:
- 课时数量:计划分几节课学习?
- 学习深度:入门了解 / 掌握应用 / 精通原理
- 时间投入:每天/每周可投入多少时间?
- 侧重方向:原理剖析 / 实战应用 / 源码扩展 / 架构设计
- 基础水平:是否有相关技术栈基础?
3. 课程大纲生成
根据用户参数生成循序渐进的课程大纲,包含:
- 课程目标
- 前置知识
- 每节课主题和学习要点
- 预计学习时长
- 实践作业概览
4. 课时详细内容生成
为每节课生成独立的 Markdown 文档,包含:
- 学习目标:这节课结束后能做什么
- 核心概念:关键知识点讲解
- 代码 walkthrough:关键代码段解析
- 生动比喻:用生活化类比帮助理解
- 实践作业:动手练习任务
- 代码样例:可运行的示例代码
- 延伸阅读:相关文档/视频链接
5. 飞书同步
- 使用用户飞书身份创建 Bitable 多维表格
- 表格字段:课程名称、课时编号、学习状态、截止日期、作业状态
- 为每节课创建待办任务
- 为每节课的作业创建子待办
- 根据用户时间表设置提醒
输出产物
~/openclaw/workspace/github-learning/[repo-name]/
├── repo-summary.md # 仓库摘要与介绍
├── course-outline.md # 课程大纲
├── lessons/
│ ├── lesson-01-[topic].md
│ ├── lesson-02-[topic].md
│ └── ...
└── feishu-bitable-url.txt # 飞书表格链接
技术实现
依赖工具
web_fetch:获取 GitHub 页面内容browser:必要时进行浏览器自动化(复杂页面)feishu_bitable_*:飞书多维表格 APIexec:本地文件操作
外部 API
- GitHub API(公开仓库无需 token,私有仓库需用户提供)
- DeepWiki API(如可用)
- 飞书开放平台 API(使用用户已授权身份)
使用示例
用户输入:
我想深入学习 https://github.com/vercel/next.js 这个仓库,帮我规划一个系统学习课程
Skill 响应流程:
- 分析 Next.js 仓库,生成
repo-summary.md - 询问用户:
- "你希望分几个课时学习?(建议 8-12 节)"
- "学习目标是什么?(入门使用/掌握原理/能贡献代码)"
- "每周能投入多少时间?"
- 生成课程大纲
course-outline.md - 逐课生成
lessons/lesson-XX.md - 创建飞书表格并同步所有任务
注意事项
- 仓库规模:超大型仓库(如 kubernetes)建议分模块学习
- 语言识别:自动识别仓库主要编程语言,调整课程重点
- 文档完整性:优先使用官方文档,其次分析源码
- 实践导向:每节课必须有可执行的作业
- 飞书权限:确保用户已授权飞书 API 访问
更新日志
- 2026-03-28: 初始版本创建
微信扫一扫