← ClaudeAtlas

releaselisted

Cut a release of @askviraj/ai-plugins — the i:release ritual, the GitHub Release note format, and the CI facts that make a failed publish legible. Run when the user asks to cut, tag, or publish a release.
virajp/ai-plugins · ★ 1 · AI & Automation · score 75
Install: claude install-skill virajp/ai-plugins
# Release **Ask the user before running `i:release`.** It is the repo's hard rule, and the task commits, tags, pushes and triggers a publish. Releasing via CI is preferred over the local `i:publish`, so every version keeps the strongest npm trust level (trusted publisher). `v*` is the **installer CLI's** namespace, matching `package.json` — not a plugin version. Marketplace plugin versions are not separately tagged; they ride the CLI release that carries them. ## The procedure ### 1. Cut the tag ```sh mise run i:release # patch; --minor / --major to choose the bump ``` It requires a clean tree, runs `i:test`, bumps `package.json`, commits `ops: release vX.Y.Z`, creates the annotated tag, then — interactively — pushes the commit and tag and watches the `release.yml` run with `gh run watch --exit-status`, so the task only succeeds if the publish pipeline does. It needs `gh` installed and authenticated. `--ci` stops after the tag, with no push and no watch. `deps-update.yml` passes it and does its own push and dispatch. Do not pass it by hand. ### 2. Cut the GitHub Release Every `vX.Y.Z` tag carries one — the tag is the npm-publish trigger, the Release is the human-readable record beside it. The mapping is **1:1**, so a missing Release means a missed step. ```sh gh release create vX.Y.Z --title vX.Y.Z --notes-file <notes> --verify-tag ``` - **Creating a Release never publishes.** `release.yml` triggers on `push: tags: v*`; nothing listens for `release`