关于 github-trending-analyzer
这项技能指导 Agent 收集、分类并汇总 GitHub 热门仓库,支持 Markdown、HTML 或两种格式,并包含备用搜索查询、去重及将所需报告保存到 Obsidian 的流程。
主要功能
- 01支持 Markdown 和 HTML 报告
- 02热门数据脚本及 API 备用方案
- 03仓库清单整理与去重
- 04大型列表采用两级分类
- 05将报告保存到 Obsidian
适用场景
- 01制作每日、每周或每月趋势报告
- 02比较不同热门周期中的仓库
- 03在 Obsidian 中保存分类后的仓库报告
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jackjin1997/ clawforge --skill github-trending-analyzer安装后在 Claude Code 中输入/github-trending-analyzer确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/hierarchical-classification.mdpinterest-design.mdscripts/fetch_trending.sh详细介绍
GitHub 趋势分析器
全面、分类汇总 GitHub 上最新的热门仓库。
步骤 0:询问输出格式
在进行任何操作之前,先询问用户:
你想要哪种输出格式?
- 📝 Markdown — 在对话中展示 + 存入 Obsidian
- 🎨 HTML — Pinterest 风格网页 + 存入 Obsidian
- 📝+🎨 两者都要 — 两个都要
(直接回复 1/2/3 或 md/html/both)
如果用户已在命令参数中指定格式(例如 html、md、both),则跳过提问,直接继续。若用户没有明确偏好,则默认使用 Markdown。
步骤 1:获取数据
Shell 脚本可能因 GitHub HTML 变更而失败。请使用以下备用策略:
- 先尝试运行脚本:
scripts/fetch_trending.sh daily|weekly|monthly - 如果结果为空,则回退到使用 GitHub Search API 的
gh api:- 每日代理指标(过去 7 天内推送过代码的高星仓库):
gh api "search/repositories?q=stars:>1000+pushed:>YYYY-MM-DD&sort=stars&order=desc&per_page=30" - 每周(过去 7 天内创建的新仓库,按星标数排序):
gh api "search/repositories?q=created:>YYYY-MM-DD&sort=stars&order=desc&per_page=30" - 每月(过去 30 天内创建的新仓库,按星标数排序):
gh api "search/repositories?q=created:>YYYY-MM-DD&sort=stars&order=desc&per_page=30" - 今日最热门(今天推送过代码的高星仓库):
gh api "search/repositories?q=stars:>5000+pushed:>YYYY-MM-DD&sort=updated&order=desc&per_page=25" - 全新仓库(过去 2 天内创建):
gh api "search/repositories?q=created:>YYYY-MM-DD&sort=stars&order=desc&per_page=20"
- 每日代理指标(过去 7 天内推送过代码的高星仓库):
- 使用
--jq提取:full_name、language、stargazers_count、description、created_at
步骤 2:完整清单与去重
- 列出发现的每一个项目,不要遗漏。
- 标注同时出现在多个时间范围内的项目(例如“每日 + 每月”)。
步骤 3:深度分类(两级层级)
当项目总数 > 30 时,使用两级分类体系——单层分类会变成卡片墙。项目少于 30 个时,使用单层分类即可。
方法:显式的 full_name → (macro, sub) 映射
基于关键词启发式分类(if 'skill' in desc and ...)会让约 20% 的项目落入无用的“其它”类别。在这个规模(≤ 200 个项目)下,逐个项目显式映射可实现 100% 覆盖,也更容易维护。规范模式请参见 references/hierarchical-classification.md。
推荐的 7 个宏观主题
这些主题仅供起步参考——请根据当天实际呈现的数据进行调整:
- 🤖 AI 原生开发栈 — Skills、AI 编码 CLI、Agent harness、大模型平台、AI 工作区、评估/可观测性、MCP/SDK
- 🎨 模型与创意生成 — 大模型、多模态生成、模型硬件
- 🛡️ 安全与防御 — 防御/威胁建模、供应链/扫描、OSINT、双重用途漏洞
- 🛠️ 工程与生产力 — macOS/iOS、终端、Web、数据集成、业务/SaaS 替代品
- 🔬 研究与学习资源 — 教育资源、awesome 清单、RAG/知识系统
- 🌳 平台与经典基础设施 — 前端框架、系统/内核、通用开发工具
- 🌎 其它 — 可疑/Game exploit、无描述、游戏移植
根据数据形成子类
不要预先固定子类,让数据来决定分类方式。例如,在 2026-06-16 的运行中,列出 19 个项目后,Skills 宏观类别自然分成了 5 个子类(创意/媒体、写作/语言、工作流/方法论、研究/学术、通用集合)。避免过度设计:每个宏观类别划分为 3-7 个子类最合适。
不设“其它”兜底类别
如果“其它”超过 8 个项目,就必须将它们归入有名称的类别,即使类别较窄(例如 ⚠️ 可疑/Game exploit、❓ 无描述/不明、🎮 游戏移植)。这样能提高可疑项目的可见度,而不是降低它们的曝光。
步骤 4:添加超链接
每个项目都必须包含完整的 GitHub URL:[user/repo](https://github.com/user/repo)
步骤 5:战略洞察
指出 3-5 个高层次趋势,并用一句话概括当天的整体氛围。
步骤 6:输出
根据用户选择的格式:
Markdown(选项 1)
在对话中输出:
# GitHub Trending 全景分析(YYYY-MM-DD)
## 📅 Part 1:完整热门列表
### 🔴 每日热门(Daily) — table
### 🟡 每周热门(Weekly) — table
### 🟢 每月热门(Monthly)— table
## 🏗️ Part 2:分类分析
(One table per category)
## 💡 Part 3:战略洞察
(3-5 insights + vibe summary)
HTML(选项 2)
按照 references/pinterest-design.md 中的设计规范,生成一个独立的 HTML 文件。使用 open <path> 在浏览器中打开。
对于较长的报告(≥ 6 个宏观章节),按照设计文档的规范添加浮动迷你目录——固定在右侧的面板,带有滚动定位和可折叠的子分组。避免使用占满整行的目录:它会占用首屏空间。
两者(选项 3)
在对话中显示 Markdown,并生成 HTML 文件。
步骤 7:保存到 Obsidian
生成后,保存到 Obsidian 库:
- 库路径:读取
~/Library/Application Support/obsidian/obsidian.json,选择可访问的库。 - 文件夹:
GitHub-Trending/ - Markdown:
GitHub-Trending/YYYY-MM-DD.md,并添加 frontmatter:--- date: YYYY-MM-DD type: github-trending tags: [github, trending, AI, open-source] --- - HTML:
GitHub-Trending/YYYY-MM-DD.html - 只保存用户请求的格式。
- 如果无法访问库(权限错误),保存到工作目录并告知用户。
语言
如果用户将 中文 作为参数传入,则所有内容均使用中文输出。否则默认使用英文。