К основному содержанию
скилл CX Codex

jackin-release-notes — скилл для Claude Code: установка

Собирает PR после последнего тега, раскладывает их по категориям Keep a Changelog и обновляет [Unreleased] в CHANGELOG.md.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add jackin-project/jackin-dev --skill jackin-release-notes -a claude-code
Открыть на GitHub

Что делает jackin-release-notes

Скилл находит последний тег через Git, определяет границу изменений и получает слитые PR командой gh pr list. Каждый PR попадает в одну категорию: Added, Fixed, Security, Changed, Deprecated или Removed. Записи без подходящего префикса или метки переходят в Changed.

Затем скилл проверяет коммиты без merge и ищет для них PR. Коммиты без PR добавляются в Ungrouped commits. В CHANGELOG.md он заменяет блок [Unreleased], сохраняет маркер <!-- next-header --> и добавляет ссылки на PR.

Перед заменой уже отредактированных записей скилл спрашивает подтверждение, а после показывает секцию для проверки. Он запускается только по явному запросу; без доступа к данным GitHub команда gh pr list не соберёт список PR.

Какие задачи решает

  • собрать PR после последнего тега
  • разнести изменения по категориям Keep a Changelog
  • найти коммиты без связанных PR
  • обновить блок [Unreleased] со ссылками на PR
  • показать changelog для проверки перед релизом

Примеры запросов агенту

  • Собери черновик следующего changelog по всем PR после последнего тега.
  • Проверь коммиты после последнего релиза и добавь несвязанные с PR в Ungrouped commits.
  • Обнови [Unreleased] в CHANGELOG.md, но сначала покажи секцию для проверки.

Как установить jackin-release-notes

1Через Skills CLI (Vercel)

npx skills add jackin-project/jackin-dev --skill jackin-release-notes -a claude-code

2Вручную: положить файлы

~/.claude/skills/jackin-release-notes/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/jackin-release-notes/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о jackin-release-notes

Как установить jackin-release-notes в Claude Code?

Выполните npx skills add jackin-project/jackin-dev --skill jackin-release-notes -a claude-code, затем проверьте файл ~/.claude/skills/jackin-release-notes/SKILL.md.

Что делает jackin-release-notes?

Скилл классифицирует каждый слитый после последнего тега PR и записывает секцию [Unreleased] в CHANGELOG.md. После этого он показывает результат для проверки.

Что произойдёт с PR без Conventional Commits-префикса?

Такой PR попадёт в категорию Changed. Скилл не исключает его из changelog.

Исходный текст

SKILL.md · Apache-2.0
---
name: jackin-release-notes
description: Use only when the user explicitly requests this skill. Classifies every PR merged since the last tag into Keep a Changelog categories and writes the [Unreleased] section of CHANGELOG.md.
argument-hint: "[context]"
disable-model-invocation: true
license: Apache-2.0
user-invocable: true
---

# jackin-release-notes

**Classify** every PR merged since the last release tag into a Keep a Changelog bucket, then write the `[Unreleased]` section of `CHANGELOG.md`. The bar is exhaustive — every merged PR accounted for, none dropped, none doubled.

## When to use

- Before a release, to populate the changelog.
- When the operator asks to preview what the next release would contain.

## When NOT to use

- Cutting the release itself → `jackin-release` (it runs this skill as its notes step).

## Process

1. **Find the boundary.** `LAST_TAG=$(git describe --tags --abbrev=0)`; if none, start from the initial commit (`git rev-list --max-parents=0 HEAD`). `TAG_DATE=$(git log -1 --format=%aI "$LAST_TAG")`.

   *Done when* you hold the boundary commit and its date.

2. **Gather merged PRs.** `gh pr list --state merged --base main --search "merged:>$TAG_DATE" --json number,title,labels,mergedAt`.

   *Done when* every PR merged after the tag is in the list.

3. **Classify each.** Sort by Conventional Commits prefix and label:

   | Prefix / label | Bucket |
   |---|---|
   | `feat:` / `feature` | **Added** |
   | `fix:` / `bug` | **Fixed** |
   | `security:` | **Security** |
   | `refactor:`, `chore:`, `docs:`, `ci:`, `build:` | **Changed** |
   | `deprecate:` | **Deprecated** |
   | `remove:` | **Removed** |
   | no match | **Changed** (default) |

   Strip the prefix from the title; capitalize the first word (`feat: add TUI launcher` → `Add TUI launcher`).

   *Done when* every PR sits in exactly one bucket.

4. **Catch ungrouped commits.** `git log <last-tag>..HEAD --oneline --no-merges`; for each, `gh pr list --state merged --search "<sha>"`. Commits with no PR land under **Ungrouped commits**.

   *Done when* every non-merge commit since the tag is matched to a PR or listed.

5. **Write `[Unreleased]`.** Keep a Changelog format: one section per non-empty bucket, each entry linking its PR (`[#N](…/pull/N)`). Replace the existing `[Unreleased]` block (between `## [Unreleased]` and the next `## [`) — ask before overwriting entries an operator already edited. Keep the `<!-- next-header -->` marker intact.

   *Done when* `CHANGELOG.md` carries every merged PR under the right bucket, empty buckets omitted, and the marker survives.

6. **Present for review.** Show the section; let the operator re-classify or reword. Do not proceed to a release until approved.

## Idempotency

Safe to re-run: reads `CHANGELOG.md` fresh each time, asks before overwriting existing entries, fetches PR data live from GitHub.

## Common mistakes

- Dropping a PR that has no conventional-commit prefix — it defaults to **Changed**, never omitted.
- Listing an empty bucket ("no **Removed** entries" is noise — drop the section).
- Forgetting the PR link in each entry.
- Overwriting an operator-edited `[Unreleased]` without asking.

© jackin-project · Apache-2.0 · jackin-project/jackin-dev

Похожие скиллы

Все скиллы по теме «Git и GitHub» →
triage Matt Pocock Скилл проводит issue и внешние PR через роли триажа, проверку и подготовку брифа для агента. Подойдёт мейнтейнеру, который разбирает очередь задач. 990 453установок code-review Matt Pocock Проверяет изменения от выбранной точки по стандартам репозитория и требованиям задачи. Нужен для ревью ветки, PR или незавершённой работы. 789 521установок implement Matt Pocock Выполняет задачу по спецификации или тикетам, ведёт работу через тесты и завершает её ревью с коммитом. Подходит для задач, где нужен дисциплинированный цикл разработки. 774 700установок git-guardrails-claude-code Matt Pocock Скилл ставит хук Claude Code, который останавливает опасные Git-команды до их запуска. Нужен, если агент не должен делать push или удалять изменения. 499 069установок setup-pre-commit Matt Pocock Скилл настраивает pre-commit для JavaScript-репозитория: Husky запускает форматирование, проверку типов и тесты перед коммитом. 489 289установок scaffold-exercises Matt Pocock Скилл создаёт структуру учебных упражнений с секциями, задачами, решениями и пояснениями. Пригодится при запуске нового раздела курса. 480 196установок

Из того же набора8

jackin-propose Оформляет идею как пункт дорожной карты и ранний PR, не меняя код. Нужен для фиксации крупной задачи перед отдельной проработкой. CX Codex +1 472установок jackin-checkout-pr Переключает репозиторий на ветку pull request через gh pr checkout и сначала проверяет рабочее дерево. Нужен для явного checkout PR. CX Codex +1 470установок jackin-goal-prompt Собирает из пункта роадмапа и планов один самодостаточный промпт /goal не длиннее 4000 знаков. CX Codex +1 470установок jackin-release-check Прогоняет релизные гейты проекта jackin❯ и выдаёт отчёт по каждому. Нужен перед выпуском версии, когда надо понять, всё ли зелёное. CX Codex +1 469установок jackin-brainstorm Превращает замысел пункта роадмапа в конкретные проектные решения через свободное обсуждение с оператором. Пишет их прямо в раздел ## Design. CX Codex +1 469установок jackin-create-pr Открывает pull request для небольшой правки в репозитории jackin❯: типо, обновление зависимости, строчный багфикс. Тело PR собирается по шаблону с готовыми блоками verify-locally. CX Codex +1 469установок jackin-merge-pr Прогоняет предмержевые проверки jackin❯, переносит пункт роадмапа в документацию и делает squash-merge пул-реквеста. Вызывается только вручную. CX Codex +1 469установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой