chore: import upstream snapshot with attribution
CI (OpenClaw E2E) / openclaw test (push) Has been cancelled
CI / coverage-report (push) Has been cancelled
CI / test-kubernetes (push) Has been cancelled
CI / should-run-thorough (push) Has been cancelled
CI / test-thorough (cloudwatch-demo) (push) Has been cancelled
CI / test-thorough (flink-ecs) (push) Has been cancelled
CI / test-thorough (upstream-lambda) (push) Has been cancelled
CI / test-thorough (prefect-ecs-fargate) (push) Has been cancelled
Release / build-binaries (zip, opensre.exe, onefile, windows-latest, windows-x64) (push) Has been cancelled
Benchmark image — build + push to ECR (any adapter) / build + push (push) Has been cancelled
CI / quality (ubuntu-latest) (push) Has been cancelled
CI / test (tools-runtime) (push) Has been cancelled
CI / test (e2e-general) (push) Has been cancelled
CI / test (cli-runtime) (push) Has been cancelled
CI / test (e2e-provider-and-openclaw) (push) Has been cancelled
CI / test (integrations-and-misc) (push) Has been cancelled
Release / verify (push) Has been cancelled
Release / build-python-dist (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, macos-15-intel, darwin-x64) (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, macos-latest, darwin-arm64) (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04, linux-x64) (push) Has been cancelled
Release / publish-release (push) Has been cancelled
Release / publish-main-release (push) Has been cancelled
Interactive Shell Live (PR + post-merge) / turn-checks (no-LLM) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Interactive Shell Live (PR + post-merge) / turn-live shard ${{ matrix.shard_index }} (push) Has been cancelled
Release / prepare (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04-arm, linux-arm64) (push) Has been cancelled
Synthetic Deterministic Tests / Synthetic offline (deterministic) (push) Has been cancelled
CI (OpenClaw E2E) / openclaw test (push) Has been cancelled
CI / coverage-report (push) Has been cancelled
CI / test-kubernetes (push) Has been cancelled
CI / should-run-thorough (push) Has been cancelled
CI / test-thorough (cloudwatch-demo) (push) Has been cancelled
CI / test-thorough (flink-ecs) (push) Has been cancelled
CI / test-thorough (upstream-lambda) (push) Has been cancelled
CI / test-thorough (prefect-ecs-fargate) (push) Has been cancelled
Release / build-binaries (zip, opensre.exe, onefile, windows-latest, windows-x64) (push) Has been cancelled
Benchmark image — build + push to ECR (any adapter) / build + push (push) Has been cancelled
CI / quality (ubuntu-latest) (push) Has been cancelled
CI / test (tools-runtime) (push) Has been cancelled
CI / test (e2e-general) (push) Has been cancelled
CI / test (cli-runtime) (push) Has been cancelled
CI / test (e2e-provider-and-openclaw) (push) Has been cancelled
CI / test (integrations-and-misc) (push) Has been cancelled
Release / verify (push) Has been cancelled
Release / build-python-dist (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, macos-15-intel, darwin-x64) (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, macos-latest, darwin-arm64) (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04, linux-x64) (push) Has been cancelled
Release / publish-release (push) Has been cancelled
Release / publish-main-release (push) Has been cancelled
Interactive Shell Live (PR + post-merge) / turn-checks (no-LLM) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Interactive Shell Live (PR + post-merge) / turn-live shard ${{ matrix.shard_index }} (push) Has been cancelled
Release / prepare (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04-arm, linux-arm64) (push) Has been cancelled
Synthetic Deterministic Tests / Synthetic offline (deterministic) (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
---
|
||||
name: github-star-velocity
|
||||
description: Compute GitHub repository star velocity over a rolling time window using the stargazers API.
|
||||
tools:
|
||||
- execute_python_code
|
||||
---
|
||||
|
||||
# GitHub Star Velocity
|
||||
|
||||
Use this skill when the user asks for GitHub star velocity, stars gained in the
|
||||
last N hours, star growth rate, or similar metrics for a repository.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
1. Set `allow_network: true` on `execute_python_code`.
|
||||
2. Read `GITHUB_TOKEN` from the subprocess environment (injected when GitHub
|
||||
credentials are configured). Never print the token.
|
||||
3. Parse `owner/repo` from the repository URL or user input.
|
||||
|
||||
## API approach
|
||||
|
||||
1. Fetch current `stargazers_count` from `GET /repos/{owner}/{repo}`.
|
||||
2. Fetch stargazers with timestamps from
|
||||
`GET /repos/{owner}/{repo}/stargazers?per_page=100` using
|
||||
`Accept: application/vnd.github.v3.star+json`.
|
||||
3. Each entry includes `starred_at`. Count stars where `starred_at` is within
|
||||
the requested window (for example, the last 24 hours).
|
||||
|
||||
## Critical pagination trap
|
||||
|
||||
Stargazers are returned **oldest first**, not newest first. Do **not** stop
|
||||
after the first page when the newest entries on that page fall outside the
|
||||
window — that produces a false zero.
|
||||
|
||||
Instead, paginate through **all** pages (follow the `Link` response header
|
||||
until there is no `rel="next"`) and count every `starred_at` inside the window.
|
||||
|
||||
## Sanity check before reporting
|
||||
|
||||
Treat these results as suspicious and rerun with a full paginated scan before
|
||||
answering:
|
||||
|
||||
- `0` stars in the last 24 hours for a repo with thousands of stars and recent
|
||||
activity
|
||||
- Velocity that implies losing stars without an explicit unstar request
|
||||
- Counts that disagree sharply with `stargazers_count` deltas when you have a
|
||||
recent baseline
|
||||
|
||||
When a result looks wrong, widen the scan (all pages), print the most recent
|
||||
`starred_at` observed, and only then return the velocity.
|
||||
|
||||
## Output shape
|
||||
|
||||
Return:
|
||||
|
||||
- Total current stars
|
||||
- Stars gained in the window
|
||||
- Velocity (stars per hour and stars per day)
|
||||
- Window start timestamp (UTC)
|
||||
- Most recent `starred_at` in the window
|
||||
- Optional hourly breakdown for the last 24 hours
|
||||
Reference in New Issue
Block a user