Borrowing it
Nothing to install: this file belongs to sei-newbear/xp-harness. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/sei-newbear/xp-harness/main/.claude/skills/announce-release/SKILL.mdgit clone --depth 1 https://github.com/sei-newbear/xp-harnessWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/sei-newbear/xp-harness/announce-release)<a href="https://agentmods.dev/skills/sei-newbear/xp-harness/announce-release"><img src="https://agentmods.dev/badge/skills/sei-newbear/xp-harness/announce-release.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00098 | $0.01586 |
| Opus 5 | $0.00049 | $0.00793 |
| Sonnet 5 | $0.00020 | $0.00317 |
| Haiku 4.5 | $0.00010 | $0.00159 |
Grade A, and why
announce-release scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 72 lines — stays where its author put it; the contents beside it link to each section on GitHub.
announce-release skill
なぜこの skill があるか
リリースのたびに「何が変わったか」を短くチームへ伝える作業を、毎回その場のプロンプトで指示し直すと、要約の粒度・更新手順の書き方がぶれる。skill 化して周知テキストの型を揃える。
責務は release skill と分ける (= 単一責任): release が「リリースを作る (version 上げ・tag・GitHub Release)」、本 skill が「作ったリリースをチームに伝える」。周知はリリース直後だけでなく後追いでも単独で呼びたい (= 「この期間の分まとめて」) ため、release に混ぜず独立させる。
やること
skill が呼ばれたら以下の Step を順番に実行する。
Step 1: 対象リリースを特定
依頼の範囲 (= 期間 / バージョン範囲 / 「前回の周知以降」) から対象の tag を割り出す。
- tag と日付の一覧:
git for-each-ref --sort=-creatordate --format '%(creatordate:short) %(refname:short)' refs/tags - 「土日」「今週」など期間指定は日付で絞る。「v0.10.0 以降」などバージョン指定は該当範囲の tag を拾う
- 範囲が曖昧なときは勝手に決めない。割り出した tag 一覧を依頼者に見せて認識合わせしてから次へ進む
Step 2: 各リリースの利用者向けセクションを取る
- 各 tag の公開済みリリースノートを取得:
gh release view <tag> - 各リリースノートの 「## ユーザー向け」セクションだけ を材料にする (= 開発者向けは既定で載せない、下記「振る舞いのルール」参照)
- コミットから再要約しない。
releaseskill が既にユーザー向け / 開発者向けを分類済みなので、その分類を信頼して利用者向けだけ拾う - 対象範囲に 利用者向けの変化が無いリリース (= 「## ユーザー向け」セクションが空 / 無い、開発者向けのみ) が混ざっていたら、周知テキストから落として依頼者にその旨を伝える (= 空エントリで並べない)
Step 3: 短いドラフトにまとめる
- 1 リリースにつき 1〜2 行に圧縮する。見出し行 (= 何が変わったか) + 観測できる変化の一言。利用者が「自分の作業で何が変わるか」を掴める書き方にする (=
releaseskill の「内容の書きっぷり」と同じ基準、内部の実装 how は載せない) - 末尾に 更新手順を 1 ブロック 添える。対象範囲の最古 → 最新の版を跨ぐ形で書く:
apm.ymlの依存を最新 tag に書き換えるapm install --target claudeContent hash mismatchが出たらapm install --update --target claude
- 全体を短く保つ。詳細は GitHub Releases への 1 行リンクで足りる
Step 4: ドラフトを渡す
- コードブロックで出す (= コピペしやすくする)
- 投稿はしない。周知先への貼り付けは依頼者が行う (下記「振る舞いのルール」参照)
振る舞いのルール
利用者向けだけを既定にする
チーム周知の目的は「使う人の作業で何が変わるか」を伝えること。開発者向け (= リポジトリ内部だけの変更) は既定で載せない。依頼者が「開発者向けも入れて」と言えば足す。
投稿はしない (= ドラフト止まり)
周知先チャンネルへの投稿は外向き操作で取り消しにくい。この skill はドラフト生成に留め、投稿は依頼者に委ねる。ドラフト生成はツール非依存で常に動く形を保つ (= 特定の周知ツール連携に依存させない)。
更新手順は README の正規手順に合わせる
更新手順は思い出しで書かず、README の "Update" セクションを正とする。タグを跨ぐ更新は apm.yml の手編集が必要で、apm install --update だけでは #vX.Y.Z の pin を書き換えない (= APM 0.12.x 時点の仕様)。ここを省くと「--update で上がるはず」と試してハマる。README とずれたら README を正とする。
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 72 lines · 98 tokens per session scan A f8016c77a8ad
announce-release is a skill published in the GitHub repository sei-newbear/xp-harness (9 stars, last pushed 1mo ago), licensed MIT. It adds 98 tokens to every session and 1,586 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
release-announcement
Write a release announcement — changelog, blog post, in-app note, or social post — that leads with user impact, names the audience, and includes upgrade/migration steps without filler.
agent-release-swarm
Agent skill for release-swarm - invoke with $agent-release-swarm.
multi-agent-release-manager
Cleans up the workspace, formats code, runs presubmit checks, and uploads CLs to Gerrit.
release-notes
Generate user-facing release notes from tickets, PRDs, or changelogs. Creates clear, engaging summaries organized by category (new features, improvements, fixes). Use when writing release notes, creating changelogs, announcing product updates, or summarizing what shipped.
pack-submit
Package one of this agent's own skills as a standalone community pack and submit it to the aeon registry as a PR.
updater_guide
Guidance for checking for and installing Row-Bot updates.