Borrowing it
Nothing to install: this file belongs to Ovid/paad. 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/Ovid/paad/main/.claude/skills/release/SKILL.mdgit clone --depth 1 https://github.com/Ovid/paadWrote 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/ovid/paad/release)<a href="https://agentmods.dev/skills/ovid/paad/release"><img src="https://agentmods.dev/badge/skills/ovid/paad/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/ovid/paad/release"><img src="https://agentmods.dev/badge/skills/ovid/paad/release.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00034 | $0.03718 |
| Opus 5.5 | $0.00014 | $0.01487 |
| Sonnet 5.5 | $0.00007 | $0.00744 |
| Haiku 4.5 | $0.00003 | $0.00372 |
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 26d 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 — 320 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Start
Announce: "Preparing a paad release…"
Read @CLAUDE.md.
make release and make tag own everything mechanical: the promotion of
preview/paad into plugins/paad, the changelog roll, the version rewrite across
every manifest and announce line in both trees, the export regeneration, the full
check suite, and the annotated tag. This skill owns the parts a Makefile cannot
decide — which number to bump to, whether a release is wanted at all, and whether
the thing users install actually works afterwards.
Never hand-edit plugin.json, marketplace.json, package.json, a SKILL.md
announce line, or the changelog's version headings and link refs. Those are
generated. If the generated result is wrong, fix the generator.
Never hand-edit plugins/paad at all. It is written only by promotion. A
hand edit there does not survive: make release opens with make promote, whose
rsync -a --delete copies the pre-fix preview/paad straight over it. Nothing
catches that — the tree is committed so the dirty guard passes, and the result is
self-consistent so every check passes. The release ships and the changelog
announces a fix that is not in it. Fixes go in preview/paad, hotfixes included.
digraph release {
"Read [Unreleased]" [shape=box];
"Anything there?" [shape=diamond];
"STOP — ask whether a release is wanted" [shape=box, style=bold];
"Entries within the length rule?" [shape=diamond];
"STOP — trim first, as its own commit" [shape=box, style=bold];
"Propose MAJOR/MINOR/PATCH with reasoning" [shape=box];
"User confirms version?" [shape=diamond];
"Every preview skill in README?" [shape=diamond];
"STOP — add the README entry as its own commit" [shape=box, style=bold];
"On a branch?" [shape=diamond];
"Create release branch" [shape=box];
"make release VERSION=X.Y.Z" [shape=box];
"Passed?" [shape=diamond];
"STOP — report the failure and the half-applied state" [shape=box, style=bold];
"Read git diff plugins/ — the payload" [shape=box];
"Show the diff, get sign-off" [shape=box];
"Commit, merge to main, push" [shape=box];
"make tag" [shape=box];
"Draft release notes, get sign-off" [shape=box];
"gh release create" [shape=box];
"Hand off in-app verification" [shape=doublecircle];
"Read [Unreleased]" -> "Anything there?";
"Anything there?" -> "STOP — ask whether a release is wanted" [label="empty"];
"Anything there?" -> "Entries within the length rule?" [label="entries"];
"Entries within the length rule?" -> "STOP — trim first, as its own commit" [label="no"];
"Entries within the length rule?" -> "Propose MAJOR/MINOR/PATCH with reasoning" [label="yes"];
"Propose MAJOR/MINOR/PATCH with reasoning" -> "User confirms version?";
"User confirms version?" -> "Propose MAJOR/MINOR/PATCH with reasoning" [label="no"];
"User confirms version?" -> "Every preview skill in README?" [label="yes"];
"Every preview skill in README?" -> "STOP — add the README entry as its own commit" [label="no"];
"Every preview skill in README?" -> "On a branch?" [label="yes"];
"On a branch?" -> "Create release branch" [label="on main"];
"On a branch?" -> "make release VERSION=X.Y.Z" [label="on a branch"];
"Create release branch" -> "make release VERSION=X.Y.Z";
"make release VERSION=X.Y.Z" -> "Passed?";
"Passed?" -> "STOP — report the failure and the half-applied state" [label="no"];
"Passed?" -> "Read git diff plugins/ — the payload" [label="yes"];
"Read git diff plugins/ — the payload" -> "Show the diff, get sign-off";
"Show the diff, get sign-off" -> "Commit, merge to main, push";
"Commit, merge to main, push" -> "make tag";
"make tag" -> "Draft release notes, get sign-off";
"Draft release notes, get sign-off" -> "gh release create";
"gh release create" -> "Hand off in-app verification";
}
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.
- 26d ago Changed · +18 lines 7a964f442fbb
- 27d ago Changed · +2 lines 9aed27b90219
- 2mo ago First seen · 300 lines · 34 tokens per session scan A c519f75c77ed
release is a skill published in the GitHub repository Ovid/paad (150 stars, last pushed yesterday), licensed MIT. It adds 34 tokens to every session and 3,718 once invoked, about $0.0001 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-30.
release compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| releaseOvid/paad | Skill | 150 | yesterday | MIT | A | 34 | Claude Code |
| tag-releasejssblck/agents | Skill | 0 | 8d ago | GPL-3.0 | A | 19 | Claude Code, Codex |
| finishing-a-development-branchjnMetaCode/superpowers-zh | Skill | 8.5k | 11d ago | MIT | A | 25 | Claude Code |
| git-workflowhashgraph-online/awesome-codex-plugins | Skill | 1.5k | yesterday | Apache-2.0 | A | 33 | Claude Code, Codex |
| goal-releasedyoshikawa/rulesync | Skill | 1.6k | yesterday | MIT | A | 86 | Claude Code, Codex |
| writing-modpack-changeloghashgraph-online/awesome-codex-plugins | Skill | 1.5k | yesterday | Apache-2.0 | A | 69 | Claude Code, Codex |
| merge-prdyoshikawa/rulesync | Skill | 1.6k | yesterday | MIT | A | 13 | Claude Code, Codex |