Github Release Analyzer
by @stoner-byte
Analyze GitHub repository releases and summarize release notes. Use when the user asks to analyze, summarize, review, or track the latest release or recent r...
clawhub install github-release-analyzerπ About This Skill
name: github-release-analyzer description: Analyze GitHub repository releases and summarize release notes. Use when the user asks to analyze, summarize, review, or track the latest release or recent releases for a GitHub repo, including phrases like "εζζζ° release", "latest release", "release ζ΄ζ°δΊδ»δΉ", "ζ±ζ»δ»εΊ release", or requests to build a cron that tracks GitHub releases. Supports manual one-off analysis and cron-driven incremental tracking. metadata: {"openclaw":{"emoji":"π¦","requires":{"bins":["python3"]}}}
GitHub Release Analyzer
Use this skill as a fixed pipeline:
prepare -> summarize -> render -> deliver -> commit
Only summarize is free-form. prepare, render, and commit are deterministic script steps.
Inputs
https://github.com// or / stateKey: {owner}__{repo}defaultWorkflow
1. Read references/execution-modes.md and choose manual or cron.
2. Run:
python3 skills/github-release-analyzer/scripts/run.py prepare --repo --mode
Useful flags:
--state-key --limit --include-prerelease--output-template default--initial-cron-behavior latest-only3. If status=has_updates, read references/summary-contract.md and produce one summary string per selected release.
Keep the summary language aligned with the primary language of the invocation instruction.
4. Render the final message:
python3 skills/github-release-analyzer/scripts/run.py render --repo --mode < payload.json
When building the render payload, preserve the release fields required by render, especially tag_name, published_at, and html_url.
5. In cron mode, after successful delivery, commit state:
python3 skills/github-release-analyzer/scripts/run.py commit \
--repo \
--mode cron \
--processed-tags \
--latest-release-id \
--latest-published-at
Rules
prepare output as the source of truth for selection, ordering, first-run behavior, repo normalization, and state path.render.status=no_update or status=no_release, reply with NO_REPLY
- if status=has_updates, emit only the final rendered message
Hard prohibitions
prepare.render.prepare.commit in manual mode.commit before delivery succeeds in cron mode.summaries[] string-array shape.status=no_update or status=no_release, reply exactly NO_REPLY.Files to read
references/execution-modes.mdreferences/summary-contract.mdreferences/templates.mdreferences/state-format.mdπ Constraints
prepare output as the source of truth for selection, ordering, first-run behavior, repo normalization, and state path.render.status=no_update or status=no_release, reply with NO_REPLY
- if status=has_updates, emit only the final rendered message