GitHub Stars Tracker

Github stars

by OpenClaudia · MIT license · ★ 705 on GitHub

Github stars cover

Show a GitHub repo's star growth as CLI charts — by day and by hour, in any timezone. Use when the user asks to "check GitHub stars", "stars by hour/day for <repo>", "star growth", "how many stars did <repo> get today", or shares a repo…

---
name: github-stars
description: Show a GitHub repo's star growth as CLI charts — by day and by hour, in any timezone. Use when the user asks to "check GitHub stars", "stars by hour/day for <repo>", "star growth", "how many stars did <repo> get today", or shares a repo name and wants its starring activity over time.
---

# github-stars

Fetch a repo's per-star timestamps from the GitHub API and render two ASCII charts in the terminal: **stars by day** and **stars by hour** (for the most recent day(s)). Useful for tracking a launch, a Show HN / Product Hunt spike, or DevRel growth.

## Requirements

- The [`gh` CLI](https://cli.github.com/) installed and authenticated (`gh auth status`). Unauthenticated calls hit a low rate limit and large repos fail mid-pagination.
- Python 3.9+ (uses the stdlib `zoneinfo` for correct DST handling).

## How it works

The script calls `gh api` with the `application/vnd.github.star+json` Accept header, which adds a `starred_at` timestamp to each stargazer. It paginates through all stargazers, converts each timestamp to the target timezone, and buckets them by day and by hour.

Overview

Fetch a repo's per-star timestamps from the GitHub API and render two ASCII charts in the terminal: stars by day and stars by hour (for the most recent day(s)). Useful for tracking a launch, a Show HN / Product Hunt spike, or DevRel growth.

Manual install (npx, ZIP)
Claude Codenpx skills add OpenClaudia/openclaudia-skills --skill github-stars -g -a claude-code
Claude Code (degit)npx degit OpenClaudia/openclaudia-skills/skills/github-stars#main ~/.claude/skills/github-stars
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md3.5 KB
Read SKILL.md here
OpenClaudia/main1 file shown
SKILL.md
Show the full text72 lines

github-stars

Fetch a repo's per-star timestamps from the GitHub API and render two ASCII charts in the terminal: stars by day and stars by hour (for the most recent day(s)). Useful for tracking a launch, a Show HN / Product Hunt spike, or DevRel growth.

Requirements

  • The gh CLI installed and authenticated (gh auth status). Unauthenticated calls hit a low rate limit and large repos fail mid-pagination.
  • Python 3.9+ (uses the stdlib zoneinfo for correct DST handling).

How it works

The script calls gh api with the application/vnd.github.star+json Accept header, which adds a starred_at timestamp to each stargazer. It paginates through all stargazers, converts each timestamp to the target timezone, and buckets them by day and by hour.

Usage

The script lives next to this file. From the skill directory:

bash github-stars.sh <owner/repo | search-term> [--tz <IANA tz>] [--days N] [--hours-days N]
  • <owner/repo> — exact repo (e.g. facebook/react). Skips the search.
  • <search-term> — a bare word (no /) is resolved to the top repo by stars.
  • --tz — IANA timezone for all buckets. Default America/Los_Angeles. Use e.g. UTC, America/New_York, Asia/Shanghai, Europe/Berlin.
  • --days N — how many recent days to show in the daily chart (default 14).
  • --hours-days N — how many recent days to break out hourly (default 2).

Examples

# 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

Sample output

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  ████████████

Caveats — surface these to the user when relevant

  • 40,000-star cap: GitHub only returns starred_at for the first 40k stargazers. Past that, the hourly/daily breakdown is incomplete (the script warns). The plain total stays accurate.
  • Net, not gross: the stargazer list reflects stars currently in place. Un-stars don't appear, so a flat total between two checks can hide +1/−1 churn. If the live stargazers_count disagrees with the timestamp count, an un-star happened.
  • DST is handled automatically via zoneinfo — don't hardcode UTC offsets.

Re-checking / live polling

Just run the script again — it re-fetches live each time. To watch a launch, re-run on an interval and report the delta; don't poll faster than every ~15 minutes (rate limits + politeness).

1---
2name: github-stars
3description: Show a GitHub repo's star growth as CLI charts — by day and by hour, in any timezone. Use when the user asks to "check GitHub stars", "stars by hour/day for <repo>", "star growth", "how many stars did <repo> get today", or shares a repo name and wants its starring activity over time.
4---
5 
6# github-stars
7 
8Fetch a repo's per-star timestamps from the GitHub API and render two ASCII charts in the terminal: **stars by day** and **stars by hour** (for the most recent day(s)). Useful for tracking a launch, a Show HN / Product Hunt spike, or DevRel growth.
9 
10## Requirements
11 
12- The [`gh` CLI](https://cli.github.com/) installed and authenticated (`gh auth status`). Unauthenticated calls hit a low rate limit and large repos fail mid-pagination.
13- Python 3.9+ (uses the stdlib `zoneinfo` for correct DST handling).
14 
15## How it works
16 
17The script calls `gh api` with the `application/vnd.github.star+json` Accept header, which adds a `starred_at` timestamp to each stargazer. It paginates through all stargazers, converts each timestamp to the target timezone, and buckets them by day and by hour.
18 
19## Usage
20 
21The script lives next to this file. From the skill directory:
22 
23```bash
24bash github-stars.sh <owner/repo | search-term> [--tz <IANA tz>] [--days N] [--hours-days N]
25```
26 
27- **`<owner/repo>`** — exact repo (e.g. `facebook/react`). Skips the search.
28- **`<search-term>`** — a bare word (no `/`) is resolved to the top repo by stars.
29- **`--tz`** — IANA timezone for all buckets. Default `America/Los_Angeles`. Use e.g. `UTC`, `America/New_York`, `Asia/Shanghai`, `Europe/Berlin`.
30- **`--days N`** — how many recent days to show in the daily chart (default 14).
31- **`--hours-days N`** — how many recent days to break out hourly (default 2).
32 
33## Examples
34 
35```bash
36# default: last 14 days daily + last 2 days hourly
37bash github-stars.sh vercel/next.js
38 
39# resolve a search term, show UTC
40bash github-stars.sh next.js --tz UTC
41 
42# zoom in: only today hourly, 7-day daily window
43bash github-stars.sh facebook/react --days 7 --hours-days 1
44```
45 
46## Sample output
47 
48```
49owner/repo — 284 stars (with timestamps)
50newest: 2026-06-15 02:03 PM PDT | now: 2026-06-15 02:11 PM PDT
51 
52STARS BY DAY (PDT)
53 2026-06-13 16 █████████
54 2026-06-14 69 ████████████████████████████████████████ ← peak
55 2026-06-15 22 █████████████
56 
57STARS BY HOUR — 2026-06-15 (PDT) total 22
58 06:00 5 ██████████████████████████████
59 07:00 2 ████████████
60 14:00 2 ████████████
61```
62 
63## Caveats — surface these to the user when relevant
64 
65- **40,000-star cap:** GitHub only returns `starred_at` for the first 40k stargazers. Past that, the hourly/daily breakdown is incomplete (the script warns). The plain total stays accurate.
66- **Net, not gross:** the stargazer list reflects stars currently in place. Un-stars don't appear, so a flat total between two checks can hide +1/−1 churn. If the live `stargazers_count` disagrees with the timestamp count, an un-star happened.
67- **DST is handled** automatically via `zoneinfo` — don't hardcode UTC offsets.
68 
69## Re-checking / live polling
70 
71Just run the script again — it re-fetches live each time. To watch a launch, re-run on an interval and report the delta; don't poll faster than every ~15 minutes (rate limits + politeness).
72 
View all files on GitHub →

Details

License
MIT
Stars on the repo
★ 705
Checked
Source
OpenClaudia/openclaudia-skills ↗
Creator
OpenClaudia · 78 listings
View creator

Similar skills

See all →

More from OpenClaudia

SkillA/B Testing FrameworkOpenClaudia/openclaudia-skills · by OpenClaudiaDesign, plan, and analyze A/B tests with statistical rigor. Use when the user asks about A/B testing, split testing, experiment design, statistical significance, sample size calculation, test duration, multivariate testing, or conversion experiments. Trigger phrases include "A/B test", "split test", "experiment", "statistical significance", "sample size", "test duration", "which version wins", "conversion experiment", "hypothesis test", "variant testing".★ 705 GitHub starsSkillAffiliate Marketing ProgramOpenClaudia/openclaudia-skills · by OpenClaudiaBuild and manage an affiliate marketing program. Use when the user says "affiliate program", "affiliate marketing", "affiliate partners", "referral commissions", "affiliate network", "partner program", "affiliate tracking", or asks about creating, managing, or growing an affiliate or partner program.★ 705 GitHub starsSkillAhrefs API ManagerOpenClaudia/openclaudia-skills · by OpenClaudiaManages Ahrefs API usage in Python using `ahrefs-python` library. Use when working with SEO / marketing related tasks or with data including backlinks, keywords, domain ratings, organic traffic, site audits, rank tracking, and brand monitoring. Covers `ahrefs-python` usage including AhrefsClient / AsyncAhrefsClient, typed request/response models, error handling, and all API sections.★ 705 GitHub starsSkillAI Citations Report GeneratorOpenClaudia/openclaudia-skills · by OpenClaudiaGenerate an AI Citations Report (GEO) for a domain — which AI-search prompts cite the site across Google AI Overview and ChatGPT, plus organic-traffic context and per-article citation coverage. Use when the user asks for an 'AI citations report', 'GEO citations report', or 'which AI prompts cite <domain>'.★ 705 GitHub starsSkillB2B Lead EnricherOpenClaudia/openclaudia-skills · by OpenClaudiaResearch and enrich B2B leads using the Apollo.io API. Use when the user says "find leads", "prospect research", "company enrichment", "find decision makers", "B2B leads", "lead research", "enrich contacts", "find VP of marketing at", or asks about finding people at specific companies or in specific roles.★ 705 GitHub starsSkillBacklink Health CheckerOpenClaudia/openclaudia-skills · by OpenClaudiaAudit a domain's backlink profile using the SemRush API. Use when the user says "audit backlinks", "check my backlinks", "backlink analysis", "link profile", "toxic links", "disavow", "link building opportunities", "referring domains", "anchor text", or asks about a site's link authority.★ 705 GitHub stars