name: github-deep-research description: 对任何GitHub仓库进行多轮深度研究。当用户请求全面分析、时间线重建、竞争分析或GitHub深度调查时使用。生成结构化Markdown报告,包括执行摘要、时间线、指标分析和Mermaid图表。触发条件为GitHub仓库URL或开源项目。
GitHub深度研究技能
多轮研究,结合GitHub API、web_search、web_fetch以生成全面Markdown报告。
研究流程
- 第1轮: GitHub API
- 第2轮: 发现
- 第3轮: 深度调查
- 第4轮: 深度挖掘
核心方法
查询策略
从广到窄: 从GitHub API开始,然后一般查询,根据发现进行细化。
第1轮: GitHub API
第2轮: “{主题} 概述”
第3轮: “{主题} 架构”, “{主题} vs 替代品”
第4轮: “{主题} 问题”, “{主题} 路线图”, “site:github.com {主题}”
来源优先级:
- 官方文档/仓库(最高权重)
- 技术博客(Medium, Dev.to)
- 新闻文章(已验证来源)
- 社区讨论(Reddit, HN)
- 社交媒体(最低权重,用于情感分析)
研究轮次
第1轮 - GitHub API
直接执行 scripts/github_api.py,不使用 read_file():
python /path/to/skill/scripts/github_api.py <所有者> <仓库> summary
python /path/to/skill/scripts/github_api.py <所有者> <仓库> readme
python /path/to/skill/scripts/github_api.py <所有者> <仓库> tree
可用命令(github_api.py的最后一个参数):
- summary
- info
- readme
- tree
- languages
- contributors
- commits
- issues
- prs
- releases
第2轮 - 发现 (3-5次 web_search)
- 获取概述并识别关键术语
- 查找官方网站/仓库
- 识别主要参与者/竞争对手
第3轮 - 深度调查 (5-10次 web_search + web_fetch)
- 技术架构细节
- 关键事件时间线
- 社区情感
- 对有价值的URL使用web_fetch获取完整内容
第4轮 - 深度挖掘
- 分析提交历史以构建时间线
- 审查问题/PR以了解功能演变
- 检查贡献者活动
报告结构
遵循 assets/report_template.md 中的模板:
- 元数据块 - 日期、置信水平、主题
- 执行摘要 - 2-3句概述,包含关键指标
- 时间线 - 分阶段分解,带日期
- 关键分析部分 - 主题特定的深度挖掘
- 指标与比较 - 表格、增长图表
- 优势与劣势 - 平衡评估
- 来源 - 分类参考
- 置信评估 - 按置信水平分类的声明
- 方法论 - 使用的研究方法
Mermaid图表
在有用处包含图表:
时间线 (甘特图):
gantt
title 项目时间线
dateFormat YYYY-MM-DD
section 阶段 1
开发 :2025-01-01, 2025-03-01
section 阶段 2
发布 :2025-03-01, 2025-04-01
架构 (流程图):
flowchart TD
A[用户] --> B[协调员]
B --> C[规划员]
C --> D[研究团队]
D --> E[报告员]
比较 (饼图/条形图):
pie title 市场份额
“项目A” : 45
“项目B” : 30
“其他” : 25
置信评分
根据来源质量分配置信度:
| 置信度 | 标准 |
|---|---|
| 高 (90%+) | 官方文档、GitHub数据、多个佐证来源 |
| 中 (70-89%) | 单一可靠来源、近期文章 |
| 低 (50-69%) | 社交媒体、未验证声明、过时信息 |
输出
保存报告为: research_{主题}_{YYYYMMDD}.md
格式规则
- 中文内容: 使用全角标点(,。:;!?)
- 技术术语: 首次提及提供Wiki/文档URL
- 表格: 用于指标、比较
- 代码块: 用于技术示例
- Mermaid: 用于架构、时间线、流程图
最佳实践
- 从官方来源开始 - 仓库、文档、公司博客
- 从提交/PR验证日期 - 比文章更可靠
- 三角验证声明 - 2+个独立来源
- 注意冲突信息 - 不要隐藏矛盾
- 区分事实与意见 - 明确标注推测
- 引用来源 - 在声明附近添加来源引用
- 随时更新 - 不要等到最后再综合