| name | github-repo-analyzer |
| description | 自动分析 GitHub 仓库,获取并整理 README、文档、Issues、GitHub Actions、Releases 等所有重要信息,由 LLM 进行深度分析并生成智能 HTML 报告。 |
GitHub 仓库分析 Skill
概述
这个 Skill 帮助你快速深入了解任何 GitHub 仓库。它不是简单的数据搬运,而是通过 LLM 智能分析,将仓库的各类信息整合、归纳、总结,生成一份真正有价值的分析报告。
核心理念
让 LLM 成为分析引擎,而非数据搬运工。
与直接浏览 GitHub 页面不同,本 Skill 会:
- 🧠 智能归纳:从 README、Issues、Releases 中提炼关键信息
- 🔗 关联分析:发现信息之间的联系,识别项目的核心特征
- 📊 健康评估:从多个维度评价项目的状态
- ✨ 洞察提炼:总结项目亮点、风险和上手建议
使用方式
输入
用户提供 GitHub 仓库的完整 URL,例如:
https://github.com/facebook/react
执行步骤
重要:此 Skill 使用
uv自动管理依赖和虚拟环境,无需用户手动安装任何依赖。
步骤 1:环境检查
首次运行时,检查 uv 是否可用:
uv --version
如果 uv 未安装,先安装它:
# Windows PowerShell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
步骤 2:获取仓库数据
进入 Skill 目录并运行数据获取脚本:
cd .claude/skills/github-repo-analyzer
uv run scripts/fetch_repo_info.py <仓库URL>
脚本会自动将数据保存到 output/{owner}_{repo}/raw_data.json。
步骤 3:生成 Markdown 格式数据
重要:由于 Read 工具有单行 2000 字符的限制,必须先将 JSON 转换为 Markdown 格式:
uv run scripts/prepare_for_analysis.py output/{owner}_{repo}/raw_data.json
uv run scripts/generate_analysis_md.py output/{owner}_{repo}/analysis_ready.json
输出:output/{owner}_{repo}/analysis_ready_for_llm.md(可以被完整读取)
步骤 4:LLM 智能分析(核心)
Claude 必须执行以下深度分析任务:
使用 Read 工具读取 analysis_ready_for_llm.md 文件(完整保留所有内容),从以下维度进行分析:
| 分析维度 | 分析要点 |
|---|---|
| 🎯 项目定位 | 这是什么类型的项目(库/框架/工具/应用)?解决什么问题?目标用户是谁? |
| 🔧 技术栈解析 | 使用了哪些核心技术?整体架构是怎样的? |
| 📖 快速上手指南 | 从 README 提炼:如何安装?前置条件?最简使用示例? |
| 🌡️ 健康度评估 | 活跃度(最近更新时间)、社区参与度(Issue 数量和活跃度)、维护状态 |
| 🔥 热点问题分析 | 从 Issues 中提炼:社区最关注的问题是什么?有哪些常见困惑? |
| 📈 版本演进 | 从 Releases 分析:最近版本的主要更新内容?项目发展趋势? |
| 🚀 核心亮点 | 这个项目最值得关注的特性是什么?与同类项目相比的优势? |
| ⚠️ 潜在风险 | 是否有已知的安全问题?重大 Bug?维护问题? |
| 📝 贡献指南 | 如何为这个项目做贡献?有哪些规范要求? |
| 💡 使用建议 | 适合什么场景使用?有什么需要注意的地方? |
步骤 5:生成 HTML 报告
根据分析结果,生成一份美观的 HTML 报告,保存到 output/{owner}_{repo}/report.html。
报告结构要求:
- 仓库概览卡片 - Stars/Forks/License/语言/更新时间
- 一句话总结 - 用最简洁的语言概括项目
- 项目定位与技术栈 - 类型识别、技术架构
- 快速上手 - 安装步骤、使用示例
- 健康度仪表盘 - 可视化展示项目状态
- 社区热点 - Issues 分析结论
- 版本演进 - Releases 时间线
- 亮点与风险 - 优势和需注意的地方
- 贡献指南摘要 - 如何参与项目
设计要求:
- 深色模式主题
- 响应式布局
- 代码语法高亮
- 可折叠的详细内容
- 现代化 UI(渐变色、圆角、阴影)
GitHub Token 配置(可选但推荐)
为提高 API 速率限制(从 60 次/小时提升到 5000 次/小时),可以配置 Token:
- 复制
.env.example为.env - 填入你的 GitHub Personal Access Token
或者通过命令行参数传递:
uv run scripts/fetch_repo_info.py <仓库URL> --token ghp_xxx
输出文件
所有输出文件集中在 output/ 目录,按仓库分目录:
output/
└── {owner}_{repo}/
├── raw_data.json # 原始 API 数据(462KB)
├── analysis_ready.json # 预处理后 JSON 数据(122KB)
├── analysis_ready_for_llm.md # Markdown 格式数据(供 LLM 分析)
└── report.html # 最终分析报告
重要说明:
analysis_ready.json中的长文本(README、Issue body 等)都在单行中,会被 Read 工具截断analysis_ready_for_llm.md解决了这个问题,所有内容都可以被完整读取
注意事项
- 如果未设置
GITHUB_TOKEN环境变量,API 速率限制为 60 次/小时 - 使用 Token 后速率限制提升至 5,000 次/小时
- 私有仓库需要对应的访问权限
- 此 Skill 使用
uv自动管理虚拟环境,不会污染全局 Python 环境 - 输出文件统一保存在
output/目录,便于管理