Skip to content

ship 5.2.0

Latest

Choose a tag to compare

@truehazker truehazker released this 02 Sep 09:31
· 1 commit to main since this release
0bc9dc9

What's Changed

🧰 Internal

  • Release tags are now <bucket>@X.Y.Zship@5.2.0, docs@3.0.0, dev@1.0.0, with no v prefix. This is the convention changesets, Lerna in independent mode, Nx and semantic-release already use for per-package releases in a monorepo.
  • Supersedes the <bucket>/vX.Y.Z form from 5.1.0, which was published but never consumed, and the original <bucket>--vX.Y.Z form before it.
  • The release skill no longer assumes claude plugin tag. That command emits only the double-dash form and has no format option, so a repository defining its own tag shape in .agents/ship.md takes precedence, and tags are created with git tag -a.
  • The manifest check claude plugin tag performed is written into the workflow instead: before tagging, the plugin's plugin.json version and its marketplace entry must agree with the tag.

📋 Why @ rather than a slash

GitHub has no native mechanism for releasing part of a repository — a release is a tag plus notes, repo-wide, and the Releases docs place no constraint on tag names. The separator is therefore a convention choice, and @ avoids two rough edges that slashes carry:

  • Actions filter globs treat / specially. * matches everything except /, so a workflow triggered on tags: ['v*'] silently skips dev/v1.0.0.
  • Bare-tag collision. Git stores refs as paths, so a tag named ship could never coexist with ship/v*.

⚠️ If you use this skill in your own repository

Nothing changes unless you ask for it. The reference doc still describes claude plugin tag and the <plugin-name>--vX.Y.Z form as the default, because that is what Claude Code itself produces. The @ form applies only where a repository's own .agents/ship.md asks for it.

Full Changelog: https://github.com/skrrt-sh/skills/compare/ship--v5.0.0...ship@5.2.0