mcpField
G
github-stars

github-stars

github.com/openclaudia数据与数据库722187 次安装1 周前更新
代码仓库

关于 github-stars

github-stars 是一项命令行技能,通过 GitHub API 按天和小时绘制仓库的 Star 时间分布,适合跟踪发布活动及仓库增长变化。

主要功能

  1. 01通过 GitHub API 获取 Star 时间戳
  2. 02按天和小时绘制 Star 图表
  3. 03设置时区和图表时间范围
  4. 04根据搜索词解析仓库
  5. 05提示时间戳数据限制

适用场景

  1. 01跟踪产品发布期间的 Star 活动
  2. 02查看 Show HN 或 Product Hunt 热度
  3. 03监测 DevRel 增长
  4. 04比较多次检查间的近期 Star 活动

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/openclaudia/openclaudia-skills --skill github-stars

安装后在 Claude Code 中输入/github-stars确认已加载。

附带文件github-stars.sh

详细介绍

github-stars

从 GitHub API 获取仓库每颗星的时间戳,并在终端中绘制两张 ASCII 图表:每日星标数和每小时星标数(针对最近几天)。适用于跟踪产品发布、Show HN / Product Hunt 带来的增长峰值或 DevRel 增长。

要求

  • 已安装并完成身份验证的 gh CLI(gh auth status)。未经身份验证的调用会受到较低的速率限制,大型仓库在分页过程中可能失败。
  • Python 3.9+(使用标准库 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 只会为前 40k 位点星用户返回 starred_at。超过此数量后,按小时和按天的统计会不完整(脚本会发出警告)。总数仍然准确。
  • 统计净值,而非总量: 点星用户列表反映当前有效的星标。取消的星标不会显示,因此两次检查之间总数不变,也可能掩盖了 +1/−1 的变动。如果实时的 stargazers_count 与时间戳数量不一致,则说明有人取消了星标。
  • 自动处理夏令时,通过 zoneinfo 实现——不要硬编码 UTC 偏移量。

重新检查/实时轮询

只需再次运行脚本——每次都会重新获取实时数据。要跟踪产品发布,请间隔一段时间重新运行并报告变化量;轮询间隔不要短于约 15 分钟(考虑速率限制和礼貌使用)。

评论

支持 Markdown