Conventional Commit Message — скилл для агентов

Conventional Commit Message

Скилл пишет сообщения коммитов в формате Conventional Commits: выбирает тип по влиянию на релиз, область по пакетам и проверяет текст через commitlint

  • 8 525 ★ репозитория
  • Последний коммит
  • ISC
СкиллОфициальный

Минимальный доступ

Почему такой уровень

  • Скилл состоит из текстовых правил и ничего не запускает сам, а агенту разрешено читать git и локальные файлы настроек
  • Проверка запускает локальный commitlint, который читает текст сообщения и конфигурацию проекта
Все причины и проверки

conventional-changelog/conventional-changelog

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/conventional-commit-message

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Минимальный доступИнструмент ничего не запускает и не ходит в сеть.

  • Скилл состоит из текстовых правил и ничего не запускает сам, а агенту разрешено читать git и локальные файлы настроек
  • Проверка запускает локальный commitlint, который читает текст сообщения и конфигурацию проекта

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Скилл conventional-commit-message лежит в папке skills репозитория conventional-changelog, где живут инструменты для выпуска версий и журнала изменений. Когда вы просите агента написать, исправить или проверить сообщение коммита, он сначала смотрит состав изменений: `git diff --staged --name-only`, затем `git diff --name-only` и ищет файлы настроек commitlint и `package.json`. Если в проекте настроен commitlint, агент читает его конфигурацию, чтобы узнать допустимые типы, области, регистр и длину. Тип выбирается по влиянию на релиз, путь к файлу его не определяет. Новое поведение для пользователей получает `feat` и повышает минорную версию, исправление получает `fix` или `perf`, а `docs`, `refactor`, `test`, `build`, `ci` и `chore` скрыты из журнала изменений и версию не повышают. Скилл отдельно предупреждает: правка метаданных или настроек, из-за которой поднимается минимальная версия Node.js, убираются экспорты или ужесточаются зависимости, считается видимой и требует `!` с подписью `BREAKING CHANGE`. В монорепозитории областью служит имя пакета, при общей причине допустимо несколько областей через запятую. Готовое сообщение скилл проверяет локальным `./node_modules/.bin/commitlint`, подавая текст через `echo` или `printf`. Если команда не проходит, агент правит тип, область, регистр или длину и повторяет. Пользователю по умолчанию возвращается только само сообщение, а при сомнении по поводу релиза два варианта с пояснением последствий.

Для кого. Для разработчиков и сопровождающих проектов, которые ведут журнал изменений и версии по Conventional Commits и хотят получать от агента сообщения коммитов без правки формата.

Подходит, если

  • Проект собирает журнал изменений и номера версий из коммитов, и сообщение агента должно попадать в нужный раздел
  • В репозитории настроен commitlint, и сообщение нужно проверить до коммита по реальным правилам
  • В монорепозитории изменение затрагивает несколько пакетов, и надо выбрать область
  • Нужно решить, чем считать обновление зависимостей или смену минимальной версии Node.js: правкой, исправлением или ломающим изменением
  • Нужно переписать уже готовое сообщение так, чтобы оно читалось как строка журнала изменений

Не подходит, если

  • В проекте принят другой формат сообщений, например свободный или со смайлами: правила скилла ему не подходят
  • Нужно сгенерировать сам журнал изменений из истории: скилл пишет сообщения, а журнал собирают пакеты conventional-changelog
  • Нужна автоматическая публикация версий в CI: для нее в README репозитория названы другие инструменты
  • Сообщения вы пишете вручную по тексту командного соглашения, и правила скилла будут лишними

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

Посмотри, что у меня в индексе, и напиши сообщение коммита по Conventional Commits, проверь его через commitlint

Ограничения

  • Скилл ориентирован на проекты с пресетом `conventional-changelog-conventionalcommits` и совместимыми инструментами выпуска версий. В остальных репозиториях набор скрытых и видимых типов может не совпасть с правилами команды.
  • Для проверки нужен локальный commitlint. Если его нет в `node_modules`, скилл допускает запуск через `pnpm`, `npm exec` или `npx`, но только когда это разрешено в вашем окружении, а если запустить нельзя, агент сообщает об этом.
  • Скилл запрашивает у git и файловой системы данные о ваших правках, в том числе список изменяемых файлов, чтобы выбрать область. Содержимое индекса агент видит так же, как при обычной работе в проекте.
  • Сам скилл только задает правила и ничего не коммитит: сделать коммит или пересоздать сообщение решает пользователь или агент по вашей просьбе.
  • В репозитории пока один скилл, и он касается только сообщений коммитов. Генерации журнала изменений и подъема версий в нем нет.
  • Репозиторий распространяется под лицензией ISC, а в шапке самого скилла указана MIT.

Как отключить. Удалите папку conventional-commit-message из каталога скиллов агента (например, из `.claude/skills` проекта или домашней папки). Больше скилл ничего в проекте не меняет: конфигурация commitlint и история коммитов остаются прежними.

Частые вопросы

Какой тип коммита скилл выберет для обновления зависимостей?

Обновление зависимостей из раздела `dependencies` скилл относит к `fix`: оно меняет граф зависимостей опубликованного пакета и должно вызвать релиз даже без правок кода. Если обновление убирает поддержку прежнего поведения, добавляются `!` и подпись `BREAKING CHANGE`. Для инструментов разработки вроде линтера берется `build` или область `dev-deps`.

Как скилл решает, что изменение ломающее?

Он ищет признаки в файлах настроек, экспортах и зависимостях: рост минимальной версии среды выполнения или Node.js, удаление или сужение экспортов, флагов командной строки и пресетов, ужесточение допустимых версий зависимостей, смена результата генерации. Для примера в скилле: переход на Node.js 22 пишется как `feat!: require Node.js 22`.

Что делать, если commitlint не установлен локально?

Сначала скилл ищет `./node_modules/.bin/commitlint`, потому что он использует ту версию и конфигурацию, что стоят в репозитории. Запасной путь — `pnpm commitlint`, `npm exec commitlint` или `npx commitlint`, но только если запуск разрешен в вашей среде. Если команда недоступна, агент сообщает об этом.

Как скилл оформляет ссылки на задачи?

Для исправления, которое должно закрыть задачу, в нижнюю часть сообщения ставится подпись вроде `Fixes #123.`, а для контекста без закрытия `Refs #123.`. Ссылки добавляются, когда работа связана с задачей, обращением или адресом, который назвал пользователь.

Как скилл обращается с именами в тексте сообщения?

Имена функций, параметров, флагов, типов и файлов в описании берутся в обратные кавычки. Так же оформляются токены со знаком `@`, например `@types/node`, иначе GitHub примет их за упоминание пользователя и пришлет ему уведомление.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Скилл дисциплины финализации: агент описывает итог по принятому финалу и не тащит отклоненные варианты в заголовки, коммиты и PR

СкиллМинимальный доступ949Звезды репозитория

Команда /skill-creator превращает ссылку на OpenAPI, GraphQL или MCP-сервер в готовый скилл с обертками и справочными файлами.

CLIШирокий доступ622Звезды репозитория

Скиллы GitHub CLI

GitHub CLI skills (gh, gh-skill)

Выбор редакции

Официальные скиллы GitHub CLI: как агенту правильно вызывать gh и как управлять скиллами командой gh skill

СкиллРасширенный доступ46,8 тыс.Звезды репозитория

Скилл для ревью кода по многим языкам и фреймворкам: архитектура, производительность, безопасность, антипаттерны и типичные ошибки

СкиллМинимальный доступ2,2 тыс.Звезды репозитория

Скилл запускает цикл экспериментов: вы задаете метрику, агент пробует по одной правке в своей ветке и оставляет только улучшения

СкиллШирокий доступ267Звезды репозитория
Выбор редакции

Скилл /improve: сильная модель проверяет репозиторий и пишет самодостаточные планы правок, а исполнение отдаете более дешевой модели

СкиллРасширенный доступ9,3 тыс.Звезды репозитория

Коротко о README

Главная страница репозитория начинается с описания проекта как генератора журнала изменений по данным git и рекомендует три внешних инструмента для автоматизации версий и выпуска. Раздел о скиллах называет один скилл и дает две команды установки, для pnpm и npm. Дальше идут перечень ключевых модулей экосистемы, включая commitlint и commitizen, и таблица всех пакетов репозитория. Отдельная страница сайта проекта объясняет, что скилл делает и что устанавливается в папку скиллов агента.

Бейдж для README

Исходный SKILL.md

---
name: conventional-commit-message
description: Generate high-quality Conventional Commit messages for repositories using conventional-changelog-conventionalcommits.
license: MIT
compatibility:
  - Claude Code
  - Codex
  - Cursor
  - Gemini CLI
  - GitHub Copilot
  - Windsurf
  - Cline
  - Roo Code
  - Goose
  - Continue
  - OpenCode
  - Amp
  - universal
metadata:
  author: dangreen
  tags:
    - conventional-commits
    - conventional-changelog
    - commit-message
    - changelog
    - release
    - monorepo
---

# Conventional Commit Message

Use this skill when writing, amending, reviewing, or suggesting commit messages for repositories that use the `conventional-changelog-conventionalcommits` preset or compatible Conventional Commits release tooling.

## Commit Shape

Use the Conventional Commits 1.0.0 message structure:

```text
<type>[optional scope][optional !]: <description>

[optional body]

[optional footer(s)]
```

Сообщить о проблеме

Foxx AIConventional Commit Message — скилл для агентов
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.