linear-cli
Manage Linear issues from the command line using the linear cli. This skill allows automating linear management.
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
Claude Code
$ npx -y skills add schpet/linear-cli --skill release --agent claude-code
Codex
$ npx skills add schpet/linear-cli --skill release -a codex -y
Cursor
$ npx skills add schpet/linear-cli --skill release -a cursor -y
Gemini CLI
$ npx skills add schpet/linear-cli --skill release -a gemini-cli -y
GitHub Copilot
$ npx skills add schpet/linear-cli --skill release -a github-copilot -y
OpenCode
$ npx skills add schpet/linear-cli --skill release -a opencode -y
Windsurf
$ npx skills add schpet/linear-cli --skill release -a windsurf -y
name: Release description: 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. version: 0.1.0
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.
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.
Ensure the following tools are available:
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.
For each commit identified above, evaluate whether it warrants a changelog entry. Focus on user-facing changes:
**Include in changelog:**
**Exclude from changelog:**
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:
After adding all relevant changelog entries, show the unreleased section of CHANGELOG.md to the user and ask them to review it:
1. Read the CHANGELOG.md file 2. Show the `[Unreleased]` section 3. Ask: "Please review these changelog entries. Are there any changes needed before release?" 4. Make any requested adjustments
Based on the types of changes in the changelog, determine and recommend the appropriate semantic version bump:
**Major (X.0.0):**
**Minor (0.X.0):**
**Patch (0.0.X):**
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.
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.
After the changelog is released, run the tag recipe:
just tag
It does the whole release in order, stopping at the first failure:
1. **Quality checks** (`just check`): `cargo fmt --all --check`, `cargo clippy --locked --workspace --all-targets -- -D warnings`, and `cargo test --locked --workspace` 2. **Version bump:** writes the latest changelog version to `workspace.package.version` in `Cargo.toml` with `svbump`, then refreshes `Cargo.lock` with `cargo update --workspace` 3. **Skill docs** (`just skill-docs`): regenerates `skills/linear-cli/SKILL.md` and its references from the CLI's help 4. **Plugin versions** (`just plugin-version`): sets `version` in `.claude-plugin/plugin.json` and both `version` and `plugins[0].version` in `.claude-plugin/marketplace.json` 5. **Commit and tag:** `jj commit -m "chore: Release linear-cli version <version>"`, then moves the `main` bookmark and sets the `v<version>` tag on that commit (`@-`) 6. **Push:** `jj git push --bookmark main`, then `git push origin --tags`
When it finishes it prints `released v<version>`.
If any step fails:
Always stop and report errors clearly. Never continue the release process if a critical step fails.
After successful release:
1. Verify the tag appears on GitHub 2. Check that the GitHub Actions release workflow (`.github/workflows/release.yml`) builds the binaries and publishes the Homebrew formula and npm package 3. Confirm the new version is published
a cli to list, start and create issues in the linear issue tracker. git and jj aware to keep you in the right views in linear. allows jumping to the web or the linear desktop app similar to gh.
Manage Linear issues from the command line using the linear cli. This skill allows automating linear management.
Command-line interface for AdGuard Home - Network-wide ad blocking and DNS management via AdGuard Home REST API. Designed for AI…
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a…
Install, configure, or troubleshoot Oh My Posh/ohmyposh: shell init, themes, segments, Nerd Font icons, and prompt setup on…
Set up a new integration, connector, or CLI binding for any API. Wrap or generate a ship-ready Go CLI from an OpenAPI, HAR, or…