Skills DirectorySearch all skills ↗

AI agent skill · by @huangkiki

Github Trending

抓取 GitHub 上 star 涨得最快的项目(Trending 榜),打分标注是否与研究方向相关, 生成 Obsidian 笔记到 GitHubTrending 文件夹。默认周榜。 触发词:"GitHub 周榜"、"star 涨得最快"、"过去一周 GitHub 热门"、"GitHub trending"、 "看看这周 GitHub 上火了什么"、"GitHub 日榜"、"GitHub 月榜"

Archived 2026-10-23 · Source updated 2026-09-15 · License: Apache-2.0. Check the original repository for the latest version.

SKILL.md instructions

> **开始前**: 先说一声 "开始抓 GitHub 榜单 🐙" 并告知今天日期与抓取周期(默认周榜)。

# GitHub Trending 抓取

抓取 GitHub Trending → 用关键词打分标注 → 写成 Obsidian 笔记。纯 Python 脚本,零 token。

## Step 0: 读取共享配置

配置在 `../_shared/user-config.json`,个人覆盖在 `../_shared/user-config.local.json`(存在则以 local 为准)。
脚本内部已通过 `../_shared/user_config.py` 自动加载,无需手动传参。相关字段:

- `paths.obsidian_vault` — vault 根路径
- `paths.github_trending_folder` — 输出文件夹(默认 `GitHubTrending`)
- `daily_papers.keywords / negative_keywords / domain_boost_keywords` — 复用它们给项目打分、标注相关性

## 解析周期与语言

从用户输入解析 `--since`:
- "周榜"、"过去一周"、"这周"、"本周" → `--since weekly`(默认)
- "日榜"、"今天"、"今日" → `--since daily`
- "月榜"、"这个月"、"本月" → `--since monthly`

可选 `--language`(如 "只看 Python" → `--language python`),不指定则抓全部语言。

## 工作流程

### Phase 1: 抓取 + 打分(fetch_trending.py)

```bash
python3 fetch_trending.py --since weekly > /tmp/github_trending.json
# 指定语言示例:
# python3 fetch_trending.py --since weekly --language python > /tmp/github_trending.json
```

脚本自动完成:
- 抓取 `github.com/trending?since=<周期>`(兼容 SSL 拦截环境,自动退回不验证证书)
- regex 解析:repo、简介、语言、累计 star/fork、本周期新增 star
- 用共享配置关键词打分,标注 `relevant`(命中正向/领域词且未被负向词压过),**不丢弃非相关项**
- 按本周期新增 star 降序排序

**检查输出**:确认 `/tmp/github_trending.json` 是非空 JSON 数组。为空则看 stderr 诊断。

### Phase 2: 写 Obsidian 笔记(write_trending_note.py)

```bash
python3 write_trending_note.py /tmp/github_trending.json
```

- 输出到 `{vault}/{github_trending_folder}/`
- 周榜文件名按 ISO 周编号,如 `2026-W28 GitHub周榜.md`;日/月榜用日期
- 笔记结构:摘要 → 「🎯 与研究方向相关」列表 → 「📊 完整榜单」表格(含 ✅ 相关标记)
- 脚本把最终笔记路径打到 stdout

## 输出

完成后告知用户:
- 抓取了多少个项目、其中多少个与研究方向相关
- 生成的笔记路径

## 注意事项

- 两个脚本都不启动 Task Agent,零 token 消耗
- **不做 git 操作**(与 daily-papers 一致,git 自动化默认关闭)
- 网络不通时参考全局 CLAUDE.md 的代理规则(17890 端口);脚本已内置 SSL 兜底
- GitHub Trending 只有 daily/weekly/monthly 三档,无法自定义任意天数

Related skills