Borrowing it
Nothing to install: this file belongs to adammatthewsteinberger/clippy-pet. 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/adammatthewsteinberger/clippy-pet/develop/.agents/skills/release/SKILL.mdgit clone --depth 1 https://github.com/adammatthewsteinberger/clippy-petWrote 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/adammatthewsteinberger/clippy-pet/release)<a href="https://agentmods.dev/skills/adammatthewsteinberger/clippy-pet/release"><img src="https://agentmods.dev/badge/skills/adammatthewsteinberger/clippy-pet/release/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/adammatthewsteinberger/clippy-pet/release"><img src="https://agentmods.dev/badge/skills/adammatthewsteinberger/clippy-pet/release.svg" alt="Reviewed on agentmods" width="80" 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.00051 | $0.00921 |
| Opus 5.5 | $0.00020 | $0.00368 |
| Sonnet 5.5 | $0.00010 | $0.00184 |
| Haiku 4.5 | $0.00005 | $0.00092 |
Grade A, and why
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 1mo 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 — 57 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Release
Releases are built entirely by CI once a v* tag lands on main — this skill's job is to get main into a state the release workflow's guard job will accept, then tag it. Pushing the tag is public and effectively irreversible (it builds real installers and publishes a real GitHub Release), so always confirm with the user before pushing the tag, even in an otherwise autonomous session.
1. Establish the target commit
git fetch origin
git log origin/main --oneline -5
git tag -l --sort=-v:refname | head -5 # confirm the intended tag doesn't already exist
The release must be tagged on a commit that is an ancestor of origin/main (normally origin/main's current HEAD itself).
2. Check whether main is release-ready
At the target commit, these three must all read the same version string (no v prefix), and it must be the version being released:
VERSION— bare version, e.g.1.1.0CHANGELOG.md— the top entry must be## [x.y.z] - YYYY-MM-DD(a real date, not## [Unreleased])CITATION.cff— theversion:field
This is exactly what release.yml's guard job checks; check it yourself first so a failure doesn't burn a CI run:
cat VERSION
sed -n 's/^## \[\([0-9][^]]*\)\].*/\1/p' CHANGELOG.md | head -n1
sed -n 's/^version: //p' CITATION.cff
If they don't already agree — e.g. there's unreleased content sitting under ## [Unreleased] in CHANGELOG.md that needs to ship — prepare a release commit:
- Rename
## [Unreleased]to## [x.y.z] - YYYY-MM-DD(today's date) inCHANGELOG.md, leaving a fresh empty## [Unreleased]above it. - Update the compare-link footer at the bottom of
CHANGELOG.md(the[Unreleased]: .../compare/vX...HEADand[x.y.z]: .../compare/...lines). - Bump
VERSIONtox.y.z. - Bump
version:inCITATION.cfftox.y.z(anddate-released:if the project keeps that current). - Run
python3 scripts/validate.pyto make sure nothing else is broken. - Commit, and get this onto
mainthrough the project's normal flow — either it's already ondevelopand gets merged via arelease/x.y.zbranch perAGENTS.md's branching model, or, for a hotfix, branchhotfix/<description>frommaindirectly. Do not push straight tomainwithout going through review unless the user explicitly directs otherwise.
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.
- 1mo ago First seen · 57 lines · 51 tokens per session scan A a359250897c0
release is a skill published in the GitHub repository adammatthewsteinberger/clippy-pet (4 stars, last pushed 21d ago), licensed MIT. It adds 51 tokens to every session and 921 once invoked, about $0.0002 per session on Opus 5.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
Cut and maintain Observal release branches, prepare alpha, beta, RC, stable, and patch releases, backport merged main PRs, inspect release status, verify published artifacts, and recover failed release operations. Use for Observal maintainer release tasks and release-process changes, not for installing or upgrading an…
release
Prepare, verify, and publish Sutando engine releases. Use when asked to prepare a release proposal, determine a version bump, audit release documentation, validate release gates, create a release PR, tag a confirmed release, or publish GitHub release notes. Preparation is safe and non-publishing; tagging and…
changelog-composer
Generates structured changelogs and release notes from git history and PRs, classifying breaking changes, features, fixes, performance, docs. Triggers on: "generate changelog", "write release notes", "what changed since", "prepare release", "release notes for", "diff since tag".
repo-sentinel
Full security audit for public repositories across 12 attack surfaces: git history, secrets, CI/CD, containers, dependencies, licenses. Triggers on: "push to GitHub", "make repo public", "open source this", "is this safe to push", "release audit", "secret leaks".
ship-workflow
Resumable shipping lifecycle: reconciles current Git and GitHub facts from any entry (dirty default or feature branch, local commits, published branch, open PR, existing manual or native stack, merged work), commits dirty work as lossless logical commits, publishes or reuses the PR, requires current CI and review…
changelog-sync
Reusable-session release-notes runbook for {{targetrepo}}. Finds the range since the last release covered, reads every PR merged in it, groups them by area, writes plain-language notes in the house voice, and opens a PR against {{changelogpath}} only when a new release has actually shipped.