# Github Trending

Discover trending GitHub repositories and research-related project updates.

- Repository: https://github.com/huangkiki/dailypaper-skills (1329 stars)
- Category: Git and review
- License: Apache-2.0
- Last updated: 2026-10-29
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add huangkiki/dailypaper-skills --skill github-trending -g -a claude-code -y`
Codex: `npx skills add huangkiki/dailypaper-skills --skill github-trending -g -a codex -y`
Cursor: `npx skills add huangkiki/dailypaper-skills --skill github-trending -g -a cursor -y`
Gemini CLI: `npx skills add huangkiki/dailypaper-skills --skill github-trending -g -a gemini-cli -y`

## Description

Discover trending GitHub repositories and research-related project updates. English triggers: "weekly GitHub trending", "daily GitHub trending", "monthly GitHub trending". 抓取 GitHub 上 star 涨得最快的项目（Trending 榜），打分标注是否与研究方向相关， 生成 Obsidian 笔记到 GitHubTrending 文件夹。默认周榜。 触发词："GitHub 周榜"、"star 涨得最快"、"过去一周 GitHub 热门"、"GitHub trending"、 "看看这周 GitHub 上火了什么"、"GitHub 日榜"、"GitHub 月榜

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

## Language / 语言

First resolve `OUTPUT_LANGUAGE` using [language selection](../_shared/language.md).
For an English request (or an explicit request for English), read and follow
[the English workflow](SKILL.en.md) instead of the Chinese body below.
中文请求继续执行下文；用户明确指定的语言优先。内部阶段继承语言，不从论文或工具输出重新判断。

## 执行环境

开始前读取 [Agent 运行约定](../_shared/agent-runtime.md)，解析当前 Skill 目录、有效配置和 `TEMP_DIR`，再执行下文。

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

# GitHub Trending 抓取

抓取 GitHub Trending + 按主题搜索仿真新项目 / 近期更新 → 标注研究相关性 → 写成 Obsidian 笔记。纯 Python 脚本，脚本本身不调用大模型。

## Step 0: 读取共享配置

运行 `python3 ../_shared/user_config.py` 读取有效配置及 `runtime.temp_dir`。
脚本内部已通过 `../_shared/user_config.py` 自动加载，无需手动传参。相关字段：

- `paths.obsidian_vault`, vault 根路径
- `paths.github_trending_folder`, 输出文件夹（默认 `GitHubTrending`）
- `daily_papers.keywords / negative_keywords / domain_boost_keywords`, 复用它们给项目打分、标注相关性
- `daily_papers.project_queries`, 广泛检索仿真引擎、求解器与相关基础设施；项目名示例不构成白名单

## 解析周期与语言

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

可选 `--language`（如 "只看 Python" → `--language python`），不指定则抓全部语言。

## 工作流程

### Phase 1: 抓取 + 打分（fetch_trending.py）

```bash
python3 fetch_trending.py --since weekly --output "{TEMP_DIR}/github_trending.json"
# 指定语言示例：
# python3 fetch_trending.py --since weekly --language python --output "{TEMP_DIR}/github_trending.json"
```

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

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

### Phase 1b: 发现新项目和生态更新

```bash
python3 discover_projects.py --days 7 --output "{TEMP_DIR}/github_projects.json"
```

The rest: https://github.com/huangkiki/dailypaper-skills/blob/HEAD/skills/github-trending/SKILL.md
