Release
Plugin with opinionated set of Claude Code agents nad skills
npx -y skills add lklimek/claudius --skill releaseAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Bump version (SemVer 2.0), update changelog, commit, push, and create GitHub release. Auto-detects project tech stack (Rust, Python, JS/TS, Claude Code plugins, etc.). Args: major|minor|patch or auto-detect from commits. User-invocable only — agents must not invoke this skill autonomously.
SKILL.md
4.0 KB, as published. Nobody here has run it
Release
Load claudius:git-and-github first — all commit, push, and PR conventions come from there.
Arguments
Optional: major, minor, or patch. If omitted, auto-detect from git history.
Steps
0. Pre-flight
- Working tree must be clean. If dirty, stop and ask.
- If on a feature branch, warn and ask whether to release from here or switch to main first.
1. Detect Project Stack
Scan repo for version-carrying files:
| File | Version location |
|---|---|
Cargo.toml (root/workspace) | [package].version or [workspace.package].version |
Cargo.toml (workspace members) | each member's [package].version (may use workspace = true) |
pyproject.toml | [project].version or [tool.poetry].version |
setup.py / setup.cfg | version= kwarg or [metadata].version |
package.json (root + workspaces) | "version" field |
lerna.json | "version" ("independent" = per-package) |
.claude-plugin/plugin.json | "version" field |
version.txt / VERSION | entire file content |
If no version files found, stop and ask.
2. Validate Version Consistency
Collect all detected versions:
- All identical — proceed.
- Intentionally independent (Cargo workspace members with explicit versions, lerna
"independent", npm workspaces with different versions) — list each component + version, ask user which to release. - Unexpectedly inconsistent — stop, show mismatch table, let user decide.
3. Determine New Version
-
Get commits since last tag:
git log $(git describe --tags --abbrev=0 2>/dev/null || git rev-list --max-parents=0 HEAD)..HEAD --oneline --no-decorate -
Investigate actual diffs — commit prefixes can be misleading. Read full diffs for commits touching public APIs, interfaces, or config formats.
-
If bump type provided as argument, use it. Otherwise auto-detect:
- major: breaking changes in diffs,
BREAKING CHANGEin body, or type suffix! - minor: new features in diffs, or
feat:commits - patch: only fixes, refactors, docs, CI
- Default to
patchif unclear
- major: breaking changes in diffs,
-
Ask for confirmation. Show: current → proposed version, commit list, key diff findings, justification, files to update, post-bump commands. Options: proposed (recommended), alternatives, or abort.
4. Update Version Files
Update all version files (within confirmed scope from Step 2). Then sync lock files:
Cargo.lock→cargo update --workspacepackage-lock.json/yarn.lock/pnpm-lock.yaml→ run matching package manager installpoetry.lock→poetry lock
5. Generate Changelog Entry
If CHANGELOG.md exists, prepend new entry after header. If absent, create it. Format per Keep a Changelog. Map conventional commit types to sections. Omit empty sections. If compare links exist at bottom, add one for this version.
6. Commit and Push
Stage all modified version files, lock files, and CHANGELOG.md. Commit as chore: release v{new}. Push per git-and-github conventions. Verify push succeeds before proceeding.
7. Create GitHub Release
Write new changelog entry (this version only) to a temp file:
gh release create v{new} --title "v{new}" --notes-file {changelog_temp_file}
8. Summary
Print: version change, updated files, release URL, triggered workflows (if known from CI config).
Constraints
- NEVER create the release before pushing — tag must reference a remote commit.
- NEVER skip lock file sync.
- If any step fails, stop and report. Do not continue with partial state.
- If versions are inconsistent and user hasn't confirmed scope, do not proceed.