agentleFS
CodeAlive-AICodeAlive-AI/ceo-ai-os/skills/github-stars-monitor/SKILL.md

github-stars-monitor

Skill9 starsChanged 6 months agoMITView on GitHub

Cron-triggered: monitor GitHub stars and forks on [YOUR_PRODUCT] repos, research new stargazers by profile, alert CEO when someone interesting stars/forks. Runs automatically.

  • Reads credentials

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Run the collector script. It handles pagination (per_page=100), deduplication against state, and profile enrichment automatically:

    line 36
  2. Very specific:

    CRITICAL: Use the exact absolute path above.

    line 42
  3. Very specific:

    If total_new == 0 → reply HEARTBEAT_OK, done.

    line 56
  4. Very specific:

    If stargazer has no company but has a personal site in blog, check it via Exa for affiliation.

    line 88

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

GitHub Stars & Forks Monitor

Track who stars and forks [YOUR_PRODUCT] repos. Research their profile. Alert when someone from a notable company or with a large following engages.

Why

A GitHub star from a VP Eng at Stripe is worth more than 100 random stars. Forks are even stronger — they indicate intent to evaluate. Cross-referencing GitHub profiles with company data surfaces enterprise prospects hiding in OSS engagement.

Setup

Requires two env vars in ~/.openclaw/gateway.env (or your agent's secrets store):

GITHUB_TOKEN=<fine-grained token with read access to Starring + Contents for the org>
MONITORED_REPOS=owner/repo-1,owner/repo-2,owner/repo-3

Repos to Monitor

Set via the MONITORED_REPOS env var (comma-separated owner/repo entries). Examples:

MONITORED_REPOS=acme-org/acme-cli,acme-org/acme-mcp,acme-org/acme-skills

Workflow

Step 1: Collect New Stars & Forks

Run the collector script. It handles pagination (per_page=100), deduplication against state, and profile enrichment automatically:

python3 /home/openclaw/.openclaw/workspace/skills/github-stars-monitor/collect.py

CRITICAL: Use the exact absolute path above. Do NOT use cd /path && python3 script.py (triggers exec preflight block). Do NOT append 2>&1. Direct form only.

Output is JSON:

{
  "new_stargazers": [{"repo": "...", "username": "...", "starred_at": "...", "profile": {"name": "...", "company": "...", ...}}],
  "new_forkers": [{"repo": "...", "username": "...", "forked_at": "...", "profile": {...}}],
  "repo_stats": {"owner/repo-1": {"total_stars": N, "new_stars": N, ...}},
  "total_new": N
}

State is saved to memory/github-stars.json automatically — processed users won't appear again on next run.

If total_new == 0 → reply HEARTBEAT_OK, done.

Step 2: Qualify

For each new stargazer/forker, score as HOT / WARM / SKIP using profile data from the collector output:

HOT (alert immediately):

  • company field mentions a known tech company (>100 employees)
  • followers > 500 (influential developer)
  • bio contains leadership keywords: VP, CTO, Director, Head, Lead, Principal, Staff
  • Profile shows they match your ICP profile (active repos, relevant tech stack, contribution patterns)

WARM (include in summary):

  • Business company in company field but small/unknown
  • Moderate activity (20+ public repos)
  • Forked (stronger signal than star)

SKIP:

  • Empty profile, no company, <5 repos, bot-like

Step 3: Research HOT Candidates

For HOT candidates, run Exa to find more about their company:

exa-search__web_search_advanced_exa \
  query="COMPANY_NAME company" \
  category=company \
  numResults=3 \
  type=auto

If stargazer has no company but has a personal site in blog, check it via Exa for affiliation.

Step 4: Alert

For HOT candidates:

GitHub: [username] starred [repo]
[Real name] — [bio/title]
[Company] — [one-line from Exa research]
[followers] followers | [public_repos] repos
Profile: github.com/USERNAME

Summary for WARM:

Also starred: [N] others ([username1] @ [company], ...)

Repo stats summary:

Stars: [repo1] N (+new), [repo2] N (+new)

Notes

  • GitHub API rate limit: 5000 req/hour with token. Collector uses ~10-50 requests per run depending on star count.
  • Fork is a stronger signal than star — forkers appear first in output.
  • State file keeps up to 2000 processed users per repo. Old entries trimmed automatically.
  • First run will report ALL existing stargazers as "new". Review and send HEARTBEAT_OK if no HOT candidates.

Related Skills

  • signup-monitor — if a stargazer later signs up, connect the dots
  • exa-company-research — deep company research for HOT leads
  • exa-people-research — deep people research
  • pipeline-manager — add HOT stargazers as prospects

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.