Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 3 additions & 35 deletions .claude/skills/release/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,11 @@
---
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
name: release
description: Create and publish linear-cli releases with changelog management, semver version bumping, and git tagging. Use when the user says "make a release", "cut a release", "publish a new version", "release linear-cli", "bump version", or "tag a release". Handles reviewing commits, adding changelog entries, running quality checks, updating version files, and pushing tags.
---

# 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
Use `jj` for all version control operations. Use `--ignore-working-copy` for read-only jj operations. Both `jj git push` (bookmark) and `git push origin --tags` (tags) are needed for pushing.

### Step 1: Review Commits Since Last Release

Expand Down Expand Up @@ -195,22 +179,6 @@ If any step fails:

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:

1. Verify the tag appears on GitHub
2. Check that GitHub Actions release workflow triggers (if configured)
3. Confirm the new version is published

## Reference

See `justfile` lines 5-21 for the complete tag recipe implementation.
9 changes: 2 additions & 7 deletions skills/linear-cli/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: linear-cli
description: Manage Linear issues from the command line using the linear cli. This skill allows automating linear management.
description: Create, update, list, search, and close Linear issues, projects, cycles, and initiatives from the command line. Use when the user wants to interact with Linear β€” e.g. "create a Linear issue", "list my tickets", "update issue status", "add a comment on ENG-123", "search Linear for onboarding", or "query the Linear API". Supports issue management, project tracking, label assignment, milestone updates, and raw GraphQL queries via the linear CLI.
allowed-tools: Bash(linear:*), Bash(curl:*)
---

Expand All @@ -26,12 +26,7 @@ When working with issue descriptions or comment bodies that contain markdown, **
- Use `--description-file` for `issue create` and `issue update` commands
- Use `--body-file` for `comment add` and `comment update` commands

**Why use file-based flags:**

- Ensures proper formatting in the Linear web UI
- Avoids shell escaping issues with newlines and special characters
- Prevents literal `\n` sequences from appearing in markdown
- Makes it easier to work with multi-line content
File-based flags avoid shell escaping issues and ensure proper markdown formatting in Linear.

**Example workflow:**

Expand Down
9 changes: 2 additions & 7 deletions skills/linear-cli/SKILL.template.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: linear-cli
description: Manage Linear issues from the command line using the linear cli. This skill allows automating linear management.
description: Create, update, list, search, and close Linear issues, projects, cycles, and initiatives from the command line. Use when the user wants to interact with Linear β€” e.g. "create a Linear issue", "list my tickets", "update issue status", "add a comment on ENG-123", "search Linear for onboarding", or "query the Linear API". Supports issue management, project tracking, label assignment, milestone updates, and raw GraphQL queries via the linear CLI.
allowed-tools: Bash(linear:*), Bash(curl:*)
---

Expand All @@ -26,12 +26,7 @@ When working with issue descriptions or comment bodies that contain markdown, **
- Use `--description-file` for `issue create` and `issue update` commands
- Use `--body-file` for `comment add` and `comment update` commands

**Why use file-based flags:**

- Ensures proper formatting in the Linear web UI
- Avoids shell escaping issues with newlines and special characters
- Prevents literal `\n` sequences from appearing in markdown
- Makes it easier to work with multi-line content
File-based flags avoid shell escaping issues and ensure proper markdown formatting in Linear.

**Example workflow:**

Expand Down
Loading