Release
This skill should be used when the user asks to "make a release", "create a release", "cut a release", "release a new version", "publish a release", or mentions preparing for release. Provides comprehensive workflow for reviewing changes, updating changelog, determining semver bump, and publishing.
How do I install this agent skill?
npx skills add https://github.com/schpet/linear-cli --skill releaseIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides a standard release workflow for software projects. It automates changelog updates, version bumping, and version control operations like tagging and pushing. All detected behaviors are consistent with its stated purpose.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- Runlayerpass
1 file scanned · No issues
- ZeroLeakspass
Score: 93/100 · 2 sections analyzed
What does this agent skill do?
Release Workflow
This skill provides a systematic workflow for creating and publishing releases for the linear-cli project. It handles changelog management, version bumping, testing, and tagging.
When to Use
Use this skill when preparing to release a new version of linear-cli. The workflow ensures all changes are documented, tests pass, and versions are properly tagged before publishing.
Prerequisites
Ensure the following tools are available:
changelogskill for changelog managementsvbumpfor version bumping (installed)jjfor version control operationsjustfor running the release tasksjqfor updating the Claude Code plugin versions
Release Workflow
Step 1: Review Commits Since Last Release
Determine the commits that have been made since the last release:
jj log --ignore-working-copy --git -r 'tags()..@' --no-graph
This shows all commits from the most recent tag to the current commit.
Step 2: Add Changelog Entries
For each commit identified above, evaluate whether it warrants a changelog entry. Focus on user-facing changes:
Include in changelog:
- New features
- Bug fixes
- Breaking changes
- Significant improvements
- Deprecations
Exclude from changelog:
- Internal refactoring without user impact
- Documentation-only changes
- Build/CI configuration changes
- Chore commits (unless significant)
Use the changelog CLI to add entries. Use --attribute-pr with the commit SHA to automatically look up the associated PR and add attribution, excluding schpet and schpetbot:
changelog add --type <type> "<description>" --attribute-pr <commit-sha> --exclude-users schpet,schpetbot
Omit --attribute-pr for commits without an associated PR or when attribution isn't relevant.
Types match Keep a Changelog categories:
added- New featureschanged- Changes in existing functionalitydeprecated- Soon-to-be removed featuresremoved- Removed featuresfixed- Bug fixessecurity- Security improvements
Step 3: Verify Changelog with User
After adding all relevant changelog entries, show the unreleased section of CHANGELOG.md to the user and ask them to review it:
- Read the CHANGELOG.md file
- Show the
[Unreleased]section - Ask: "Please review these changelog entries. Are there any changes needed before release?"
- Make any requested adjustments
Step 4: Determine Semver Bump
Based on the types of changes in the changelog, determine and recommend the appropriate semantic version bump:
Major (X.0.0):
- Breaking changes
- Removed features
- Significant API changes
Minor (0.X.0):
- New features (added)
- Deprecations
- Backward-compatible functionality additions
Patch (0.0.X):
- Bug fixes
- Security fixes
- Minor improvements with no new features
Present the recommendation to the user:
Based on the changelog entries, I recommend a <MAJOR/MINOR/PATCH> version bump because:
- [reason 1]
- [reason 2]
Current version: <current>
Proposed version: <proposed>
Should I proceed with this version bump?
Wait for user confirmation before proceeding.
Step 5: Run Changelog Release
Once the user confirms the version bump, run the changelog release command with the appropriate semver level:
changelog release <major|minor|patch>
This updates CHANGELOG.md, converting the Unreleased section to a versioned release.
Step 6: Execute Tag Process
After the changelog is released, run the tag recipe:
just tag
It does the whole release in order, stopping at the first failure:
- Quality checks (
just check):cargo fmt --all --check,cargo clippy --locked --workspace --all-targets -- -D warnings, andcargo test --locked --workspace - Version bump: writes the latest changelog version to
workspace.package.versioninCargo.tomlwithsvbump, then refreshesCargo.lockwithcargo update --workspace - Skill docs (
just skill-docs): regeneratesskills/linear-cli/SKILL.mdand its references from the CLI's help - Plugin versions (
just plugin-version): setsversionin.claude-plugin/plugin.jsonand bothversionandplugins[0].versionin.claude-plugin/marketplace.json - Commit and tag:
jj commit -m "chore: Release linear-cli version <version>", then moves themainbookmark and sets thev<version>tag on that commit (@-) - Push:
jj git push --bookmark main, thengit push origin --tags
When it finishes it prints released v<version>.
Error Handling
If any step fails:
- Quality checks fail: Fix the issues before continuing. Do not proceed with release if tests fail or linting errors exist.
- Version bump fails: Verify the version format and files exist.
- Push fails: Check authentication and remote access.
Always stop and report errors clearly. Never continue the release process if a critical step fails.
Important Notes
- The justfile
tagrecipe runs every step above; there is no need to run them by hand - Use
jjfor all version control operations (per the project AGENTS.md) - Always use
--ignore-working-copyfor read-only jj operations - The workflow creates a commit on the parent (@-) and then creates a new working commit
- Both
jj git pushandgit push origin --tagsare needed (jj for bookmark, git for tags)
Post-Release
After successful release:
- Verify the tag appears on GitHub
- Check that the GitHub Actions release workflow (
.github/workflows/release.yml) builds the binaries and publishes the Homebrew formula and npm package - Confirm the new version is published
Reference
See the tag and plugin-version recipes in the justfile for the implementation.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/schpet/linear-cli/release">View Release on skillZs</a>