github-stars について
github-stars は GitHub API を使い、リポジトリのスター時刻を日別・時間別に表示するコマンドラインスキルです。リリース時の反応やリポジトリの成長状況を追跡できます。
主な機能
- 01GitHub API からスター時刻を取得
- 02日別・時間別のチャート表示
- 03タイムゾーンと期間の指定
- 04検索語からリポジトリを解決
- 05時刻データの制約を通知
活用シーン
- 01製品リリース時のスター動向の追跡
- 02Show HN や Product Hunt の反応確認
- 03DevRel の成長状況の監視
- 04複数回の確認による最近の動向比較
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ openclaudia/ openclaudia-skills --skill github-starsインストール後、Claude Code で/github-starsを入力して読み込まれたか確認します。
同梱ファイルgithub-stars.sh
詳細
github-stars
GitHub API からリポジトリのスター獲得時刻を取得し、ターミナルに ASCII チャートを 2 つ表示します:日別スター数と時間別スター数(直近の日)。ローンチや Show HN/Product Hunt での急増、DevRel の成長を追跡するのに便利です。
要件
ghCLI がインストールされ、認証済みであること(gh auth status)。未認証の場合、レート制限が低く、大規模なリポジトリではページネーションの途中で失敗します。- Python 3.9 以降(DST を正しく処理するため、標準ライブラリの
zoneinfoを使用します)。
仕組み
スクリプトは application/vnd.github.star+json の Accept ヘッダーを指定して gh api を呼び出し、各スター獲得ユーザーに starred_at タイムスタンプを追加します。すべてのスター獲得ユーザーをページネーションで取得し、各タイムスタンプを指定のタイムゾーンに変換して、日別および時間別に集計します。
使い方
スクリプトはこのファイルと同じ場所にあります。スキルのディレクトリから実行します:
bash github-stars.sh <owner/repo | search-term> [--tz <IANA tz>] [--days N] [--hours-days N]
<owner/repo>— 対象のリポジトリを正確に指定します(例:facebook/react)。検索は行いません。<search-term>—/を含まない単語を指定すると、スター数が最も多いリポジトリが選ばれます。--tz— すべての集計に使用する IANA タイムゾーンです。デフォルトはAmerica/Los_Angelesです。例:UTC、America/New_York、Asia/Shanghai、Europe/Berlin。--days N— 日別チャートに表示する直近の日数です(デフォルトは 14)。--hours-days N— 時間別に表示する直近の日数です(デフォルトは 2)。
使用例
# default: last 14 days daily + last 2 days hourly
bash github-stars.sh vercel/next.js
# resolve a search term, show UTC
bash github-stars.sh next.js --tz UTC
# zoom in: only today hourly, 7-day daily window
bash github-stars.sh facebook/react --days 7 --hours-days 1
出力例
owner/repo — 284 stars (with timestamps)
newest: 2026-06-15 02:03 PM PDT | now: 2026-06-15 02:11 PM PDT
STARS BY DAY (PDT)
2026-06-13 16 █████████
2026-06-14 69 ████████████████████████████████████████ ← peak
2026-06-15 22 █████████████
STARS BY HOUR — 2026-06-15 (PDT) total 22
06:00 5 ██████████████████████████████
07:00 2 ████████████
14:00 2 ████████████
注意事項 — 該当する場合はユーザーに伝えてください
- スター数の上限は 40,000 件です: GitHub が
starred_atを返すのは、最初の 40,000 人のスター獲得ユーザーのみです。それを超えると、時間別/日別の内訳は不完全になります(スクリプトが警告します)。合計数は正確なままです。 - 純増減であり、累計ではありません: スター獲得ユーザーのリストに反映されるのは、現在スターしているユーザーです。スター解除は表示されないため、2 回の確認で合計数が変わらなくても、+1/−1 の入れ替わりが隠れている場合があります。ライブの
stargazers_countとタイムスタンプの件数が一致しない場合は、スター解除が発生しています。 - DST は
zoneinfoによって自動的に処理されます — UTC オフセットをハードコードしないでください。
再確認/ライブポーリング
スクリプトをもう一度実行するだけで、毎回最新のデータを再取得します。ローンチを見守る場合は、一定の間隔で再実行して差分を報告します。レート制限とマナーを考慮し、約 15 分より短い間隔でポーリングしないでください。
コメント
Markdown 対応