npx skills add https://github.com/schpet/linear-cli --skill Release此技能为 linear-cli 项目提供了一套系统化的创建和发布版本的工作流程。它负责处理更新日志管理、版本号递增、测试和打标签。
当准备发布 linear-cli 的新版本时,请使用此技能。该工作流确保在发布前,所有变更都已记录、测试通过且版本已正确打上标签。
确保以下工具可用:
changelog 技能,用于更新日志管理svbump 用于递增版本号(已安装)jj 用于版本控制操作just 用于运行发布任务确定自上次发布以来所做的提交:
jj log --ignore-working-copy --git -r 'tags()..@' --no-graph
这将显示从最近一个标签到当前提交的所有提交。
对于上面识别出的每个提交,评估其是否值得添加更新日志条目。重点关注面向用户的变更:
应包含在更新日志中:
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
不应包含在更新日志中:
使用 changelog CLI 添加条目。使用 --attribute-pr 参数并附带提交 SHA,以自动查找关联的 PR 并添加归属信息,同时排除 schpet 和 schpetbot:
changelog add --type <type> "<description>" --attribute-pr <commit-sha> --exclude-users schpet,schpetbot
对于没有关联 PR 或归属信息不相关的提交,请省略 --attribute-pr 参数。
类型与 Keep a Changelog 类别匹配:
added - 新功能changed - 现有功能的变更deprecated - 即将移除的功能removed - 已移除的功能fixed - 错误修复security - 安全性改进添加完所有相关的更新日志条目后,向用户展示 CHANGELOG.md 文件中未发布的部分,并请他们审阅:
[Unreleased] 部分根据更新日志中变更的类型,确定并推荐适当的语义化版本号递增级别:
主版本号 (X.0.0):
次版本号 (0.X.0):
修订号 (0.0.X):
向用户展示推荐:
根据更新日志条目,我建议进行 <MAJOR/MINOR/PATCH> 版本号递增,原因是:
- [原因 1]
- [原因 2]
当前版本:<current>
建议版本:<proposed>
我应该继续执行此版本号递增吗?
等待用户确认后再继续。
一旦用户确认版本号递增,使用适当的语义化版本级别运行更新日志发布命令:
changelog release <major|minor|patch>
这将更新 CHANGELOG.md,将未发布部分转换为带版本号的发布。
更新日志发布后,执行 justfile 中的完整标签流程。这包括:
运行质量检查:
deno check src/main.ts
deno fmt --check
deno lint
deno task test
更新版本文件:
# 从更新日志获取最新版本
LATEST_VERSION=$(changelog version latest)
# 将版本写入 deno.json
svbump write "$LATEST_VERSION" version deno.json
# 从 deno.json 读取版本并写入 dist-workspace.toml
DENO_VERSION=$(svbump read version deno.json)
svbump write "$DENO_VERSION" package.version dist-workspace.toml
重新生成技能文档:
# 生成更新的技能文档(包含来自 deno.json 的版本)
deno task generate-skill-docs
创建提交和标签:
# 获取最终版本
FINAL_VERSION=$(svbump read version deno.json)
# 创建提交
jj commit -m "chore: Release linear-cli version $FINAL_VERSION"
# 将主书签设置到父提交
jj bookmark set main -r @-
# 在父提交上创建标签
jj tag set "v$FINAL_VERSION" -r @-
推送到远程仓库:
# 推送书签
jj git push --bookmark main
# 推送标签(使用 git)
git push origin --tags
报告完成:
Released v$FINAL_VERSION successfully!
如果任何步骤失败:
始终停止并清晰地报告错误。如果关键步骤失败,切勿继续发布流程。
tag 配方处理了第 5-21 行的完整流程jj(根据项目 CLAUDE.md)--ignore-working-copyjj git push 和 git push origin --tags(jj 用于书签,git 用于标签)成功发布后:
完整的标签配方实现请参见 justfile 第 5-21 行。
每周安装次数
203
代码仓库
GitHub 星标数
506
首次出现
2026年2月17日
安全审计
安装于
codex201
opencode200
github-copilot199
cursor199
gemini-cli198
amp198
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:
changelog skill for changelog managementsvbump for version bumping (installed)jj for version control operationsjust for running the release tasksDetermine 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:
added - New featureschanged - Changes in existing functionalitydeprecated - Soon-to-be removed featuresremoved - Removed featuresfixed - Bug fixessecurity - Security improvementsAfter adding all relevant changelog entries, show the unreleased section of CHANGELOG.md to the user and ask them to review it:
[Unreleased] sectionBased 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, 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 @-
If any step fails:
Always stop and report errors clearly. Never continue the release process if a critical step fails.
tag recipe handles the complete process from line 5-21jj for all version control operations (per project CLAUDE.md)--ignore-working-copy for read-only jj operationsjj git push and git push origin --tags are needed (jj for bookmark, git for tags)After successful release:
See justfile lines 5-21 for the complete tag recipe implementation.
Weekly Installs
203
Repository
GitHub Stars
506
First Seen
Feb 17, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
codex201
opencode200
github-copilot199
cursor199
gemini-cli198
amp198
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!