360 Secure SkillHub
360 安全技能中心

GitHub Release Analyzer

以 prepare→summarize→render→deliver→commit 固定流水线分析 GitHub 仓库的 release:prepare 确定待分析版本,summarize 按 summary-contract 生成汇总,render 输出最终消息。manual 模式只看最新正式版且不读写状态,cron 模式做增量跟踪并在交付成功后提交状态。

stoner-byte
stoner-byte
热度 53.87
最近更新 2026-08-19 12:39:41
分类:数据依赖:代码执行 / 第三方 API / 读写文件 / 内部调用大模型应用场景:摘要总结 / 报告撰写 / 自动化脚本 / DevOps ...

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add github-release-analyzer
Metadata
name
github-release-analyzer
version
0.0.5
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"]}},"hermes":{"tags":["github","releases","monitoring","cron"]}}

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/<owner>/<repo> or <owner>/<repo>
  • 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

Before running any scripts/... command, set the command working directory to the directory containing the loaded SKILL.md (the Skill root). Do not run these commands from the OpenClaw workspace root. This does not require a shell SKILL_DIR environment variable: OpenClaw uses the loaded Skill's installed directory, and Hermes uses the skill_dir returned by skill_view.

  1. Read references/execution-modes.md and choose manual or cron.
  2. From the Skill root, run:
python3 scripts/run.py prepare --repo <repo> --mode <manual|cron>

Useful flags:

  • --state-key <key>
  • --limit <n>
  • --include-prerelease
  • --output-template default
  • --initial-cron-behavior latest-only
  1. 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.

  2. Render the final message:

python3 scripts/run.py render --repo <repo> --mode <manual|cron> < payload.json

When building the render payload, preserve the release fields required by render, especially tag_name, published_at, and html_url.

  1. In cron mode, after successful delivery, commit state:
python3 scripts/run.py commit \
  --repo <repo> \
  --mode cron \
  --processed-tags <comma-separated-tags> \
  --latest-release-id <id> \
  --latest-published-at <iso8601>

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