Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add sungurerdim/dev-skills --skill ds-releasegit clone --depth 1 https://github.com/sungurerdim/dev-skillsWrote 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/sungurerdim/dev-skills/ds-release)<a href="https://agentmods.dev/skills/sungurerdim/dev-skills/ds-release"><img src="https://agentmods.dev/badge/skills/sungurerdim/dev-skills/ds-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/sungurerdim/dev-skills/ds-release"><img src="https://agentmods.dev/badge/skills/sungurerdim/dev-skills/ds-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.00064 | $0.04436 |
| Opus 5 | $0.00032 | $0.02218 |
| Sonnet 5 | $0.00013 | $0.00887 |
| Haiku 4.5 | $0.00006 | $0.00444 |
Grade A, and why
ds-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 5d 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 — 194 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/ds-release
Cutting a release by hand means a version bumped in one file but not the other, a CHANGELOG still saying "Unreleased", a tag that points at the wrong commit, and a GitHub release created before the check was green. This skill derives the version from the commits, writes the changelog section, bumps every version surface consistently, proves the tree green, and tags — then stops at the boundary where work leaves the machine.
Release Cutter — version → changelog → bump → check → commit + tag → publish handoff → post-release verification.
Completion Evidence — applies to every phase: Report
done/OKonly with the machine-checkable evidence the gates name — the exact command run and its observed output (orfile:linediff). Missing evidence → reportINCOMPLETEplus what is missing. Self-assessment is never evidence. (This band repeats at file end by design — both copies are normative.)
Triggers
- User runs
/ds-release - User says "cut the next release", "tag a version", "release 1.3.0", "prepare the changelog for release"
- ds-ship's release or launch mode reaches the release chain; ds-freeze's kept set is implemented and ready to ship
Triggers — INVOKE / DON'T INVOKE
| INVOKE | DON'T INVOKE |
|---|---|
| "cut the next release", "bump the version and tag it" | "audit the CI pipeline" (→ ds-devops) |
| "reconcile the changelog for 1.3.0" | "write release notes for the app store listing" (→ ds-launch) |
| "verify the published release" (post-release) | "deploy to production" (→ ds-deploy) |
| "what version should the next release be" | "commit my changes" (→ ds-commit) |
| "the last release was wrong — roll it back" | "fix the failing test before we release" (→ ds-debug) |
Contract
Dimensions: D6 (release engineering)
- Produces a local, verifiable release state: version files, CHANGELOG, a release commit and an annotated tag. Everything that publishes —
git push, tags to a remote,gh release create, registry publish, store submission — is on the exception list (../core/ask-exception-list.md): reportedonly you can dowith the exact command by default;--askmay confirm and run it. - Standalone. Reads git history, the changelog and the version surfaces; blueprint profile's
Type/Stack/Deploynarrow that search and pick the registry/smoke target when present, own detection otherwise. CI status only throughghwhen present (absent →not verifiedfor anything remote). - Full accounting enforced: every finding and planned check ends in an explicit disposition (fixed / skipped + reason / only you can do); summary totals balance.
- Pre-existing / out-of-scope errors detected during work are NOT skipped — fixed inline or escalated with concrete blocker.
- The version comes from the commits. Conventional Commits since the last tag decide the bump (
feat→ minor,fix/perf→ patch,!orBREAKING CHANGE:→ major, pre-1.0 → minor for breaking);--bumpoverrides with the reason recorded. No commit-type signal →only you can do: state the bump(default: patch, recorded underDecided without asking). - One version, every surface. Every version-carrying file in the repo is found and bumped together (manifest, lockfile entry,
__version__,pubspec.yaml,Cargo.toml,version.txt, docs badge); a surface left behind is a finding. - Checkpoint (../core/checkpoint-protocol.md):
git status --porcelainbefore the first write; a dirty tree → stop-hard (only you can do: commit or stash first) — a release commit must contain only the release. - Mechanical Done Gate:
{check-cmd}(ds-quality arm when installed, else the stack-native chain from ../core/toolchains.md) captured at baseline and re-run after the bump; red → the release does not proceed to tagging; baseline red reported red-at-baseline and blocks the tag unless--allow-red-baselineis passed with the reason. - State-exempt: the release commit, the tag and the CHANGELOG are the durable record.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 5d ago First seen · 194 lines · 64 tokens per session scan A feb07a865ac3
ds-release is a skill published in the GitHub repository sungurerdim/dev-skills (1 stars, last pushed 3d ago), licensed MIT. It adds 64 tokens to every session and 4,436 once invoked, about $0.0003 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-09-03.
Other skills, from other repositories
execution/release-executor
Internal: Release Executor. Implements version/changelog updates, rollout flags, rollback plans, release notes, and migration sequencing. Write evidence on completion.
add-changelog-entry
Add a changelog entry to UNRELEASED.md.
memstack-development-changelog-generator
Use when the user says 'generate changelog', 'update changelog', 'what changed', 'release notes', 'write changelog', or needs a formatted CHANGELOG.md from git commit history. Do NOT use for diary entries, git log viewing, or commit message writing.
ijfw-ship
Use when the user says 'ship it', 'ship this', 'release', 'publish', 'launch', 'deploy', 'go live', 'wrap this up', 'time to ship', or invokes '/ijfw-ship'. Domain-aware release — software (test → tag → push → publish), book (final edit → format → KDP / agent / Substack), campaign (review → schedule → launch →…
ijfw-preflight
Run the IJFW preflight pipeline (11 gates, fail-fast). Trigger: 'ijfw preflight', 'run preflight', 'check before ship', 'preflight gates', 'validate before release'.
ring:committing-changes
Commit changes with scope allowlist enforcement, atomic grouping, GPG-signed conventional commits, and trailer management. Detects the repo's PR-validation scope policy before proposing any message. Use when the user asks to commit or has changes ready to record. Skip when the working tree is clean or the user wants…