release

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.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "release" with this command: npx skills add schpet/linear-cli/schpet-linear-cli-release

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:

  • changelog skill for changelog management

  • svbump for version bumping (installed)

  • jj for version control operations

  • just for running the release tasks

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 features

  • changed

  • Changes in existing functionality

  • deprecated

  • Soon-to-be removed features

  • removed

  • Removed features

  • fixed

  • Bug fixes

  • security

  • 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, execute the complete tag process from the justfile. This includes:

Run quality checks:

deno check src/main.ts deno fmt --check deno lint deno task test

Update version files:

Get the latest version from changelog

LATEST_VERSION=$(changelog version latest)

Write version to deno.json

svbump write "$LATEST_VERSION" version deno.json

Read version from deno.json and write to dist-workspace.toml

DENO_VERSION=$(svbump read version deno.json) svbump write "$DENO_VERSION" package.version dist-workspace.toml

Regenerate skill documentation:

Generate updated skill docs (includes version from deno.json)

deno task generate-skill-docs

Create commit and tag:

Get the final version

FINAL_VERSION=$(svbump read version deno.json)

Create commit

jj commit -m "chore: Release linear-cli version $FINAL_VERSION"

Set main bookmark to parent commit

jj bookmark set main -r @-

Create tag on the parent commit

jj tag set "v$FINAL_VERSION" -r @-

Push to remote:

Push the bookmark

jj git push --bookmark main

Push tags (using git)

git push origin --tags

Report completion:

Released v$FINAL_VERSION successfully!

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 tag recipe handles the complete process from line 5-21

  • Use jj for all version control operations (per project CLAUDE.md)

  • Always use --ignore-working-copy for read-only jj operations

  • The workflow creates a commit on the parent (@-) and then creates a new working commit

  • Both jj git push and git push origin --tags are needed (jj for bookmark, git for tags)

Post-Release

After successful release:

  • Verify the tag appears on GitHub

  • Check that GitHub Actions release workflow triggers (if configured)

  • Confirm the new version is published

Reference

See justfile lines 5-21 for the complete tag recipe implementation.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

linear-cli

No summary provided by upstream source.

Repository SourceNeeds Review
-1.9K
schpet
Coding

release

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

linear-list

No summary provided by upstream source.

Repository SourceNeeds Review