Fetch, categorize, and summarize GitHub Trending projects across daily, weekly, and monthly intervals. Use when a user asks for "trending projects", "latest hot repos", or a "summary of GitHub trends" to provide a structured, categorized report with full hyperlinks.
Provide a comprehensive, categorized summary of the latest trending repositories on GitHub.
Before doing anything else, ask the user:
你想要哪种输出格式?
- 📝 Markdown — 对话中展示 + 存入 Obsidian
- 🎨 HTML — Pinterest 风格网页 + 存入 Obsidian
- 📝+🎨 Both — 两个都要
(直接回复 1/2/3 或 md/html/both)
If the user already specified a format in their command arguments (e.g., html, md, both), skip the question and proceed directly. Default to Markdown if no clear preference.
The shell script may fail due to GitHub HTML changes. Use this fallback strategy:
scripts/fetch_trending.sh daily|weekly|monthlygh api with GitHub Search API:
gh api "search/repositories?q=stars:>1000+pushed:>YYYY-MM-DD&sort=stars&order=desc&per_page=30"
gh api "search/repositories?q=created:>YYYY-MM-DD&sort=stars&order=desc&per_page=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"
gh api "search/repositories?q=created:>YYYY-MM-DD&sort=stars&order=desc&per_page=20"
--jq to extract: full_name, language, stargazers_count, description, created_atUse a 2-level taxonomy when total projects > 30 — flat single-level becomes a wall of cards. Single-level is fine for < 30 projects.
full_name → (macro, sub) mappingKeyword-heuristic categorization (if 'skill' in desc and ...) leaves ~20% of projects in a useless "other" bucket. Explicit per-project mapping is 100% coverage and faster to maintain at this scale (≤ 200 projects). See references/hierarchical-classification.md for the canonical pattern.
These are starting points — adjust based on what today's data actually surfaces:
Don't pre-fix sub-buckets — let the data shape them. Example from 2026-06-16 run: Skills macro naturally split into 5 subs (创意/媒体, 写作/语言, 工作流/方法论, 研究/学术, 通用集合) once the 19 projects were laid out. Resist over-engineering: 3-7 subs per macro is the sweet spot.
If "其它" exceeds 8 projects, force them into named buckets even if narrow (e.g. ⚠️ 可疑/Game exploit, ❓ 无描述/不明, 🎮 游戏移植). This makes suspicious items more visible, not less.
Every project MUST include its full GitHub URL: [user/repo](https://github.com/user/repo)
Identify 3-5 high-level trends. Include a one-sentence "vibe summary" of the day.
Based on the user's format choice:
Output in conversation:
# 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)
Generate a single self-contained HTML file following the design spec in references/pinterest-design.md. Open in browser with open <path>.
For longer reports (≥ 6 macro sections), include a floating mini-TOC as specified in the design doc — fixed right-side panel with scroll-spy and collapsible sub-buckets. Avoid the inline full-width TOC: it eats first-screen real estate.
Show Markdown in conversation AND generate the HTML file.
After generating, save to the Obsidian vault:
~/Library/Application Support/obsidian/obsidian.json, pick the accessible vault.GitHub-Trending/GitHub-Trending/YYYY-MM-DD.md with frontmatter:
---
date: YYYY-MM-DD
type: github-trending
tags: [github, trending, AI, open-source]
---
GitHub-Trending/YYYY-MM-DD.htmlIf the user passes 中文 as argument, output everything in Chinese. Otherwise default to English.
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer