jackin-release — скилл для Claude Code: что делает и как установить
Автоматизирует подготовку и публикацию релиза на базе cargo-release. Проверяет готовность проекта, правит changelog и ждёт подтверждения оператора перед пушем.
npx skills add jackin-project/jackin-dev --skill jackin-release -a claude-codeЧто делает jackin-release
Скилл по шагам готовит выпуск новой версии в проектах на Rust. Сначала он запускает проверки readiness gates через команду jackin-release-check и собирает изменения из [Unreleased] с помощью jackin-release-notes. На основе записей скилл рекомендует уровень версионирования: мажорный для ломающих правок, минорный для новых функций или патч для багфиксов.
Финальный шаг необратим: утилита cargo release --execute обновляет версию в Cargo.toml, меняет заголовки в CHANGELOG.md, ставит тег и отправляет коммиты в репозиторий. Без установленного cargo-release, авторизации в gh и настроенного release.toml запуск завершится ошибкой. Агент не начнёт публикацию сам — требуется строгое явное подтверждение «yes» от разработчика.
Какие задачи решает
- проверить готовность кодовой базы к публикации перед созданием тега
- обновить журнал изменений CHANGELOG.md на основе секции [Unreleased]
- определить следующий номер версии по семантическому версионированию
- выполнить публикацию пакета через cargo-release с ручным подтверждением
Примеры запросов агенту
- Подготовь публикацию проекта с помощью скилла
jackin-release. - Запусти выпуск минорной версии через
jackin-release minor. - Собери изменения и выпусти патч через
jackin-release patch.
Как установить jackin-release
1Через Skills CLI (Vercel)
npx skills add jackin-project/jackin-dev --skill jackin-release -a claude-code2Вручную: положить файлы
~/.claude/skills/jackin-release/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/jackin-release/
1Через Skills CLI (Vercel)
npx skills add jackin-project/jackin-dev --skill jackin-release -a codex2Вручную: положить файлы
.agents/skills/jackin-release/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add jackin-project/jackin-dev --skill jackin-release -a cursor2Вручную: положить файлы
.cursor/skills/jackin-release/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install jackin-project/jackin-dev jackin-release2Вручную: положить файлы
.github/skills/jackin-release/SKILL.md1Через Skills CLI (Vercel)
npx skills add jackin-project/jackin-dev --skill jackin-release -a gemini-cli2Командой платформы
gemini skills install https://github.com/jackin-project/jackin-dev --path skills/jackin-releaseВручную: положить файлы
.devin/skills/jackin-release/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add jackin-project/jackin-dev --skill jackin-release -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о jackin-release
Как установить jackin-release в Claude Code?
Выполните команду npx skills add jackin-project/jackin-dev --skill jackin-release -a claude-code. Файл скилла запишется по пути ~/.claude/skills/jackin-release/SKILL.md.
Что делает скилл jackin-release?
Он проверяет проект перед выпуском, собирает журнал изменений, рассчитывает следующий номер версии и ждёт явного подтверждения «yes», после чего вызывает cargo release --execute.
Что необходимо настроить до первого запуска?
Требуются установленный инструмент cargo-release, авторизованная утилита gh, файл release.toml с блоком pre-release-replacements, а также маркер <!-- next-header --> в CHANGELOG.md.
Исходный текст
SKILL.md · Apache-2.0
--- name: jackin-release description: Use only when the user explicitly requests this skill. Cuts a jackin❯ release — runs the readiness gates, writes the changelog, recommends a version, then executes cargo release on explicit operator confirmation. argument-hint: "[major|minor|patch|version]" disable-model-invocation: true license: Apache-2.0 user-invocable: true --- # jackin-release **Cut** a release. The only irreversible skill in the suite — `cargo release --execute` bumps the version, rewrites the changelog header, tags, and pushes. Hard-gated on one explicit operator "yes"; nothing releases on assumption. Orchestrates `jackin-release-check` (the gates) and `jackin-release-notes` (the changelog), then recommends a version from the changelog shape and cuts. ## When to use - The operator asks to cut / ship / release a version. ## When NOT to use - Just checking readiness → `jackin-release-check`. - Just updating the changelog → `jackin-release-notes`. ## Prerequisites `cargo-release` installed; `gh` authenticated; `release.toml` with `pre-release-replacements` for `CHANGELOG.md`; `CHANGELOG.md` with the `<!-- next-header -->` marker; `.github/workflows/ci.yml`. ## Process 1. **Gates.** Run `jackin-release-check`. A red gate **stops** — show the report and name what to fix. Warns surface; ask whether to continue. *Done when* every gate is green, or the operator accepted the warns. 2. **Changelog.** Run `jackin-release-notes`. Present the `[Unreleased]` section; let the operator re-classify or reword. *Done when* the operator approves the changelog. 3. **Recommend a version.** Read the approved `[Unreleased]` buckets: any **Removed** or "breaking" entry → **major**; any **Added** → **minor**; only **Fixed** / **Changed** / **Security** / **Deprecated** → **patch**. Read the current version (`grep '^version' Cargo.toml`), compute the next, present the recommendation, wait. *Done when* the operator confirms the bump level. 4. **Commit the changelog.** If `CHANGELOG.md` has uncommitted edits, `git add CHANGELOG.md && git commit -m "docs: update changelog for vX.Y.Z"`. 5. **Final confirm.** Show the summary — version, bump level, changelog shape, and the exact `cargo release <level> --execute` about to run (it bumps `Cargo.toml`, renames `[Unreleased]` to `[X.Y.Z] - <date>` via `release.toml`, tags, and pushes). **Do not run it without an explicit "yes."** *Done when* the operator says "yes." 6. **Cut.** `cargo release <level> --execute`. On failure, show the error and stop. 7. **Verify.** `git tag -l "vX.Y.Z"` and `git ls-remote --tags origin "refs/tags/vX.Y.Z"`. Point the operator at the release workflow that now builds the artifacts. ## Error recovery - Before `cargo release`: safe to fix and re-run — this skill re-validates everything. - During `cargo release`: check what committed or tagged. Tag created but unpushed → `git push origin vX.Y.Z`. Version commit without tag → reset and retry. - After: the release is done; a CI failure is a workflow issue, not a rollback. ## Common mistakes - Running `cargo release` without the explicit "yes" — the one hard gate. - Letting a red readiness gate through to the cut. - Hand-editing the `[X.Y.Z]` version heading — `cargo-release` rewrites it via `release.toml` `pre-release-replacements`; double-editing corrupts the release commit.
© jackin-project · Apache-2.0 · jackin-project/jackin-dev