🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

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

Versionv0.0.4
Downloads271
TERMINAL
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

  • Repo input: https://github.com// or /
  • Default stateKey: {owner}__{repo}
  • Default template: default
  • Default behavior:
  • - manual: latest formal release only, no state read/write - cron: formal releases only, first run selects latest only, later runs select unprocessed only

    Workflow

    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-only
  • 3. 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

  • Treat prepare output as the source of truth for selection, ordering, first-run behavior, repo normalization, and state path.
  • The output language must follow the primary language of the invocation instruction.
  • The final outgoing message must come from render.
  • In cron mode:
  • - if status=no_update or status=no_release, reply with NO_REPLY - if status=has_updates, emit only the final rendered message
  • Update processed state only after successful delivery.
  • Hard prohibitions

  • Do not skip prepare.
  • Do not bypass render.
  • Do not reorder or silently drop releases selected by prepare.
  • Do not call commit in manual mode.
  • Do not call commit before delivery succeeds in cron mode.
  • Do not replace the summary contract with ad hoc prose outside the required summaries[] string-array shape.
  • In cron mode, when status=no_update or status=no_release, reply exactly NO_REPLY.
  • In cron mode, do not emit progress chatter, intermediate JSON, step labels, or workflow narration.
  • Files to read

  • references/execution-modes.md
  • references/summary-contract.md
  • references/templates.md
  • references/state-format.md
  • πŸ”’ Constraints

  • Treat prepare output as the source of truth for selection, ordering, first-run behavior, repo normalization, and state path.
  • The output language must follow the primary language of the invocation instruction.
  • The final outgoing message must come from render.
  • In cron mode:
  • - if status=no_update or status=no_release, reply with NO_REPLY - if status=has_updates, emit only the final rendered message
  • Update processed state only after successful delivery.