Release
SkillDev toolsCut a kolu release — tag master, promote the Unreleased changelog entry, publish a GitHub release. ONLY invoke when the user explicitly types `/release` or `$release`; never auto-select from a natural-language request.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Release skill
What this skill tells your AI
The instructions your AI receives, as published by juspay/kolu in .apm/skills/release/SKILL.md and read by ahel’s review.
A kolu release is a tag on master (kolu ships only as a Nix flake; master stays the channel). Version's single source of truth: packages/server/package.json. Do these in order — nothing is committed, tagged, or pushed before the human approves.
- Settle inputs — version from the argument, else ask (valid semver
X.Y.Z, differs from the last tag; show thefeat/fixhistory since the last tag to inform the call — it's an editorial choice, kolu is an app, not a library). Date: default today, confirm. - Preflight (refuse if any fails) — on
master, clean tree, synced withorigin/master, latest/cigreen onHEAD. - Fix the changelog — its own approved commit — audit every entry in
unreleased.mdxagainst.apm/instructions/changelog.instructions.mdand fix violations in place, uncommitted. Show the human the diff andAskUserQuestionto approve; iterate until approved, then commit (changelog: reconcile for ${version}). A separate commit is the point: promotion renames the file, so folding fixes into it would bury the one diff the human can actually review. - Stage the promotion — uncommitted — promote the fixed
unreleased.mdxbody towebsite/src/content/changelog/<X-Y-Z>.mdxwith{ version, date }frontmatter — consolidate duplicate product-area###headings (first-seen order, merge their bullets — never regroup bykind), and open with one editorial summary paragraph (thesummaryfrontmatter field; the build fails without it). Resetunreleased.mdxto an empty open section. Set the version inpackages/server/package.json. - Approval gate — show the human the staged (uncommitted) diff — the promoted changelog as it will actually publish, the version bump, and the tag
v${version}— andAskUserQuestionto proceed. Iterate until approved;Nodiscards the staged changes, leaving only the approved changelog commit. - Commit + push — commit (
release ${version}) and pushmaster(both commits). Do not tag yet. /cigate — run/cion the exact release commit. On failure, open a PR with the fix, let the human merge it, run/cion the resulting commit, and tag that instead; never tag a commit/cihasn't passed.- Tag & publish — annotated tag
v${version}on the green release commit; push it;gh release create v${version}with notes pointing atkolu.dev/changelog#v<X-Y-Z>. - Verify & report — tag on
master, GitHub release live,kolu.dev/changelogshows the release. Report the tag URL, the release URL, and the pin:nix run github:juspay/kolu/v${version}.
ARGUMENTS: $ARGUMENTS
Signals
- GitHub stars
- 78
- Forks
- 12
- Last commit
- Sep 2026
- Hacker News mentions
- 20
Advanced
- Catalog kind
- skill
- Gateway key
release-juspay- Source
- github.com/juspay/kolu