github-trending-analyzer について
GitHub のトレンドリポジトリを収集・分類し、レポートにまとめるエージェント向けスキルです。Markdown、HTML、または両方の出力に対応し、検索 API へのフォールバック、重複排除、Obsidian への保存手順も含みます。
主な機能
- 01Markdown と HTML のレポート形式
- 02トレンド取得スクリプトと API フォールバック
- 03リポジトリ一覧の整理と重複排除
- 04大量リスト向けの二階層分類
- 05Obsidian へのレポート保存
活用シーン
- 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 に保存
- 📝+🎨 Both — 両方
(1/2/3 または md/html/both でそのまま返信してください)
コマンド引数(例:html、md、both)でユーザーがすでに形式を指定している場合は、質問を省略して直接進めます。明確な希望がない場合は、デフォルトで Markdown にします。
ステップ 1:データを取得する
GitHub の HTML の変更により、シェルスクリプトが失敗する場合があります。次のフォールバック戦略を使用してください。
- まずスクリプトを試す:
scripts/fetch_trending.sh daily|weekly|monthly - 結果が空の場合は、GitHub Search API で
gh apiにフォールバックします。- 日次の代替(過去 7 日間に push された、スター数の多いアクティブなリポジトリ):
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" - 今日の注目リポジトリ(今日 push された、スター数の多いリポジトリ):
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 日間に push された、スター数の多いアクティブなリポジトリ):
--jqを使って、full_name、language、stargazers_count、description、created_atを抽出します。
ステップ 2:全件リストアップと重複排除
- 見つかったプロジェクトをすべてリストアップします。1 件も省略しないでください。
- 複数の期間に登場するプロジェクトには、その旨を記載します(例:「日次 + 月次」)。
ステップ 3:詳細なカテゴリ分類(2 階層)
プロジェクトの合計が 30 件を超える場合は、2 階層の分類体系を使います。1 階層だけではカードが並ぶだけになってしまいます。プロジェクトが 30 件未満の場合は、1 階層でもかまいません。
方法:full_name → (macro, sub) を明示的にマッピングする
キーワードに基づくヒューリスティックな分類(if 'skill' in desc and ...)では、プロジェクトの約 20% が役に立たない「その他」カテゴリに分類されます。この規模(200 件以下)では、プロジェクトごとに明示的にマッピングすれば、網羅率 100% を達成でき、メンテナンスも容易です。標準的なパターンについては references/hierarchical-classification.md を参照してください。
推奨する 7 つの大分類
これらは出発点です。実際に今日のデータに現れた傾向に応じて調整してください。
- 🤖 AI ネイティブ開発スタック — スキル、AI コーディング CLI、エージェントハーネス、LLM プラットフォーム、AI ワークスペース、評価/可観測性、MCP/SDK
- 🎨 モデルとクリエイティブ生成 — 大規模モデル、マルチモーダル生成、モデル用ハードウェア
- 🛡️ セキュリティと防御 — 防御/脅威モデリング、サプライチェーン/スキャン、OSINT、デュアルユースの脆弱性
- 🛠️ エンジニアリングと生産性 — macOS/iOS、ターミナル、Web、データ統合、ビジネス/SaaS の代替
- 🔬 研究と学習リソース — 教育リソース、awesome リスト、RAG/ナレッジシステム
- 🌳 プラットフォームと定番インフラ — フロントエンドフレームワーク、システム/カーネル、汎用開発ツール
- 🌎 その他 — 不審なもの/ゲームのエクスプロイト、説明なし、ゲーム移植
サブカテゴリはデータから導き出す
サブカテゴリを事前に固定せず、データに基づいて決めてください。2026-06-16 の実行例では、19 件のプロジェクトを並べてみると、スキルの大分類が自然に 5 つのサブカテゴリ(クリエイティブ/メディア、文章作成/言語、ワークフロー/手法、研究/学術、汎用コレクション)に分かれました。過剰な設計は避けてください。大分類ごとに 3〜7 個のサブカテゴリが適切です。
「その他」でひとまとめにしない
「その他」が 8 件を超える場合は、範囲が狭くても名前の付いたカテゴリに必ず分類してください(例:⚠️ 不審なもの/ゲームのエクスプロイト、❓ 説明なし/不明、🎮 ゲーム移植)。これにより、不審な項目が目立ちやすくなります。
ステップ 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 ファイルを 1 つ生成します。open <path> でブラウザーで開きます。
長めのレポート(大区分が 6 つ以上)の場合は、デザインドキュメントの仕様に従ってフローティングミニ TOCを含めます。スクロール位置を追跡する機能と、折りたたみ可能なサブバケットを備えた、右側に固定されるパネルです。最初の画面のスペースを圧迫する、インラインの全幅 TOC は避けてください。
両方(オプション 3)
会話内に Markdown を表示し、HTML ファイルも生成します。
ステップ 7:Obsidian に保存する
生成後、Obsidian の保管庫に保存します。
- 保管庫のパス:
~/Library/Application Support/obsidian/obsidian.jsonを読み込み、アクセス可能な保管庫を選びます。 - フォルダー:
GitHub-Trending/ - Markdown:
GitHub-Trending/YYYY-MM-DD.md。フロントマターは次のとおりです。--- date: YYYY-MM-DD type: github-trending tags: [github, trending, AI, open-source] --- - HTML:
GitHub-Trending/YYYY-MM-DD.html - ユーザーが指定した形式のみを保存します。
- 保管庫にアクセスできない場合(権限エラー)は、作業ディレクトリに保存し、その旨をユーザーに知らせます。
言語
ユーザーが引数として 中文 を渡した場合は、すべて中国語で出力します。それ以外の場合は、デフォルトで英語を使用します。