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 decocms/studio --skill jira-releasegit clone --depth 1 https://github.com/decocms/studioWrote 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/decocms/studio/jira-release)<a href="https://agentmods.dev/skills/decocms/studio/jira-release"><img src="https://agentmods.dev/badge/skills/decocms/studio/jira-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/decocms/studio/jira-release"><img src="https://agentmods.dev/badge/skills/decocms/studio/jira-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.00060 | $0.01548 |
| Opus 5.5 | $0.00024 | $0.00619 |
| Sonnet 5.5 | $0.00012 | $0.00310 |
| Haiku 4.5 | $0.00006 | $0.00155 |
Grade A, and why
jira-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 15d 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 — 140 lines — stays where its author put it; the contents beside it link to each section on GitHub.
jira-release — assemble the release, ship it when told
Insert this into the prompt of a run you start on the issues that ship
together ("one run for all of them"). The issues are in your opening message,
web links included; every Jira tool takes issueKey to say which issue it is
about, and reaches any issue on the board. Your team's own skill says how its
releases are named, which columns mean what, and how to build its sites —
where it disagrees with this text, it wins.
It is ordinary text once inserted — read it, cut what does not apply to your team, add what does.
You are releasing work that has already been implemented and reviewed: the issues above, each carrying its pull request(s) as web links.
There are two phases, and this run does one. Assemble, unless the person's prompt says in words to ship a release that is already assembled — then ship. Shipping merges to the main branch, which for many teams is the deploy; never drift from assembling into shipping on your own.
Assemble
Group by repository
One release per repository: its own branch, pull request, preview and tracking issue, so a rollback stays inside one site. Your team's skill says how an issue maps to a repository; an issue with pull requests in several repositories is in each of those releases.
For each issue, find its open pull request(s) from the web links
(gh pr view <url> --json state,headRefName,mergeable,title). Leave an issue
out — and say why on the issue and in the release — when it has no open pull
request, or its checks fail because of its own change.
Build the branch
In a checkout of the repository (mcp__studio__TASK_ADD_REPO accumulates
them):
git fetch origin
git rev-parse origin/main # the base — record it
git checkout -B release/YYYY-MM-DD origin/main
git merge --no-ff -m "Merge <KEY> (PR #<n>): <title>" origin/<head-branch> # per issue
- One merge commit per issue, in the order the issues are listed. That
commit is the issue's unit:
git revert -m 1 <commit>takes exactly one issue back out of the main branch later. - A conflict is yours to resolve, preserving both sides' intent. Write down each one — file, which issues, what you kept — for the tracking issue. A conflict you cannot resolve without changing what one issue does leaves that issue out.
- A release branch from an earlier attempt today: reuse it if its pull request is open, merging only the issues it lacks; otherwise start over from the main branch.
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.
- 15d ago Changed · -1 lines 84e26830e263
- 20d ago Changed · +6 lines 0586b41a79d2
- 21d ago First seen · 135 lines · 60 tokens per session scan A c6c62b7f6d7b
jira-release is a skill published in the GitHub repository decocms/studio (409 stars, last pushed today), licensed MIT. It adds 60 tokens to every session and 1,548 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-09-25.
Other skills, from other repositories
changelog
Turn a range of commits or merged PRs into a changelog entry grouped by change type. Use when the user asks for release notes, a changelog, or "what changed" between two points.
github
Drive GitHub via the official gh CLI — repos, issues, pull requests, releases, gists, Actions runs, and raw REST through gh api. Use when the user asks to inspect or manage GitHub.
goal-issues-and-release
Clear the open issue backlog and then cut a release, in one autonomous run: use the batch-all-issues skill to resolve every open issue, then the goal-release skill to draft, merge, and see the release through publication. Never asks the user anything — every decision is made autonomously, and blockers are reported at…
create-milestone
Create a GitHub milestone for an upcoming release. Suggests the next version based on the latest release, gathers all merged PRs and closed issues since that release, presents a draft with two tables (Issues and PRs) for user approval, then creates the milestone and assigns all approved items.
shiplog
Recap of everything shipped since the last run - cross-repo PRs, security fixes, star deltas, and X traction, synthesized into a digest article and a ready-to-post shiplog in your voice.
pod-init
Initialize CocoPlus project bundle in the current directory. Creates .cocoplus/ directory structure, copies all templates, initializes AGENTS.md, project.md, flow.json, and creates the initial git commit. Run this once per project before using any other CocoPlus command.