git-commit-message
How to Install
Claude Code:
git clone --depth 1 https://github.com/Alex1980Alex/1C-Framework.git && cp 1C-Framework/.claude/skills/git-commit-message ~/.claude/skills/git-commit-message -r---
name: git-commit-message
description: >
Формирует сообщения коммитов по стандарту Conventional Commits согласно
корпоративным правилам (006. Оформление коммитов.md). Используйте когда
пользователь просит сформировать/создать коммит, описать изменения для git,
или подготовить commit message. Результат выводится в блоке для копирования.
allowed-tools:
- Read
- Bash
- Grep
- Glob
version: 1.0.0
updated: 2025-12-05
tags: [git, commit, conventional-commits, documentation]
---
# Git Commit Message Generator
Навык для формирования сообщений коммитов по корпоративному стандарту Conventional Commits.
## Overview
Этот skill анализирует выполненную задачу и изменённые файлы, затем формирует
структурированное сообщение коммита в формате "Как было / Как стало" для
удобного копирования пользователем.
## When to Use This Skill
- Пользователь просит "сформировать коммит" или "создать commit message"
- Нужно описать изменения для git
- Пользователь указывает на выполненную задачу и просит оформить коммит
- Фразы: "сделай коммит", "подготовь сообщение коммита", "опиши изменения"
## Структура сообщения коммита
```
:
[body]
[footer]
```
### Типы коммитов (type)
| Тип | Когда использовать |
|-----|-------------------|
| **feat** | Добавление нового функционала |
| **fix** | Исправление ошибок |
| **improvement** | Развитие существующего функционала |
| **refactor** | Рефакторинг без изменения функциональности |
| **style** | Форматирование, пробелы, точки с запятой |
| **docs** | Добавление/изменение документации |
| **test** | Добавление/исправление тестов |
| **build** | Сборка релиза, зависимости |
| **vbuild** | Обновление библиотек поставщика (1С) |
| **ci** | Работа с CI/CD |
| **perf** | Оптимизация производительности |
| **revert** | Откат изменений |
| **adapt** | Адаптация под новую конфигурацию поставщика |
| **chore** | Прочие изменения (не влияют на код) |
### Description (заголовок)
- Формулируется от РЕЗУЛЬТАТА (что сделано?)
- Задача: "Доработать проведение документа" → Коммит: "Доработано проведение документа"
- Задача: "Исправить ошибку расчёта" → Коммит: "Исправлена ошибка расчёта"
### Body (тело) - зависит от типа
#### feat / improvement:
```
Как было:
- Описание состояния ДО изменений
Как стало/список результатов:
- Результат 1
- Результат 2
- ...
Пояснение (опционально):
- Дополнительные важные факты
```
#### fix:
```
Как было/ошибочное поведение:
- Описание причины ошибки
Как стало/исправление:
- Как исправлено
```
#### refactor / style:
```
- Описание сути рефакторинга
- Основание (например SonarQube номер правила)
```
#### build / vbuild:
```
Как было:
- Версия до
Как стало:
- Версия после
- Краткое описание изменений (опционально)
```
### Footer (подвал)
```
МЕТАДАННЫЕ: JIRA-НОМЕР
```
## How Claude Uses This Skill
### Шаг 1: Сбор информации
1. **Прочитать задачу** - документ с описанием что нужно было сделать
2. **Получить git status** - список изменённых файлов
3. **Определить тип** - feat/fix/refactor и т.д.
### Шаг 2: Анализ изменений
1. Определить какие объекты метаданных изменены
2. Сгруппировать по типам (Справочники, Документы, Обработки, Модули)
3. Выделить ключевые изменения
### Шаг 3: Формирование сообщения
1. Сформировать заголовок (type: description)
2. Заполнить body по шаблону типа
3. Добавить footer с номером задачи
### Шаг 4: Вывод результата
**ВАЖНО:** Результат выводится в блоке кода для удобного копирования:
```
## Сообщение коммита:
```
feat: Доработано определение состояний качества
Как было:
...
Как стало/список результатов:
...
МЕТАДАННЫЕ: GKSTCPLK-1910
```
```
## Examples
### Example 1: feat - Новый функционал
**Задача:** GKSTCPLK-1910 - Доработать определения состояния качества
**Результат:**
```
feat: Доработано определение состояний качества для усиленного контроля
Как было:
Механизм определения состояния качества не учитывал особенности работы с промежуточным композитом
Как стало/список результатов:
Документ "Формирование номера пробы":
- При наличии записей в РС "Показатели УК по регистрации" устанавливается Состояние = "Ожидание итогового анализа"
- Добавлен комментарий для группы ТС
Документ "Лабораторный анализ":
- Исключена обработка данных для заблокированных ТС
- Вычисленные состояния записываются для каждой регистрации
Изменённые объекты:
- Справочник гкс_ГруппыТС
- Общие модули: гкс_ВходнойКонтрольКачества, гкс_РаботаСПоказателямиНоменклатуры
- Документы: гкс_ЛабораторныйАнализ, гкс_ФормированиеНомераПробы
МЕТАДАННЫЕ: GKSTCPLK-1910
```
### Example 2: fix - Исправление ошибки
**Задача:** HR30RU-1277 - Исправить проведение документа Изменение ШР
**Результат:**
```
fix: Исправлено проведение документа "Изменение штатного расписания"
Как было/ошибочное поведение:
При изменении документа в момент проведения возникает ошибка:
"Не удалось записать классы условий труда по должностям..."
Причина: в алгоритме записи данных не было предусмотрено, что могут быть строки закрытия позиций ШР
Как стало/исправление:
Добавлена проверка: изменения данных закрытых позиций ШР больше не отслеживаются
Запись данных в закрытые периоды не осуществляется
МЕТАДАННЫЕ: HR30RU-1277
```
### Example 3: refactor - Рефакторинг
**Задача:** Рефакторинг модуля расчёта НДС
**Результат:**
```
refactor: Переработан модуль расчёта НДС
- Выделены общие функции расчёта в отдельный модуль
- Устранено дублирование кода в 5 процедурах
- Упрощена логика определения ставки НДС
Основание: SonarQube S1192 (дублирование строковых литералов)
МЕТАДАННЫЕ: TECHDEBT-456
```
### Example 4: build - Сборка релиза
**Задача:** Сформировать релиз MFM 2024.7.1.0
**Результат:**
```
build: Сформирован релиз MFM 2024.7.1.0
Как было:
Релиз 2024.6.1.0
Как стало:
Релиз 2024.7.1.0
МЕТАДАННЫЕ: GMFM-2455
```
## Best Practices
### Заголовок (description)
- Краткий (до 72 символов)
- От результата: "Добавлено", "Исправлено", "Доработано"
- Без точки в конце
- На русском языке
### Тело (body)
- Отделено пустой строкой от заголовка
- Структурировано по шаблону типа
- Конкретные результаты, не общие слова
- Список изменённых объектов для крупных изменений
### Терминология 1С (ОБЯЗАТЕЛЬНО)
В сообщениях коммитов использовать **стандартные названия объектов метаданных 1С**, а НЕ имена файлов на диске.
| Имя файла (НЕ использовать) | Термин 1С (использовать) |
|------------------------------|--------------------------|
| `ObjectModule.bsl` | Модуль объекта |
| `ManagerModule.bsl` | Модуль менеджера |
| `Forms/.../Module.bsl` | Модуль формы |
| `Ext/Module.bsl` (общий модуль) | Общий модуль |
| `CommandModule.bsl` | Модуль команды |
| `RecordSetModule.bsl` | Модуль набора записей |
| `ValueManagerModule.bsl` | Модуль менеджера значения |
| `SessionModule.bsl` | Модуль сеанса |
| `SQL` / `SQL-запрос` | Запрос |
| `Form.xml` | Форма (описание) |
| `DataProcessors/` | Обработка |
| `Documents/` | Документ |
| `InformationRegisters/` | Регистр сведений (РС) |
| `Catalogs/` | Справочник |
| `CommonModules/` | Общий модуль |
| `Enums/` | Перечисление |
| `AccumulationRegisters/` | Регистр накопления |
**Формат описания изменений:**
```
Обработка гкс_ИмяОбработки:
- Форма ИмяФормы, модуль формы, процедура ИмяПроцедуры: описание изменения
- Модуль объекта, функция ИмяФункции: описание изменения
Документ гкс_ИмяДокумента:
- Модуль менеджера, процедура ИмяПроцедуры: описание изменения
Регистр сведений гкс_ИмяРегистра:
- Модуль менеджера, процедура ИмяПроцедуры: описание изменения
```
### Footer
- Отделён пустой строкой от body
- Содержит номер задачи Jira
- Формат: `МЕТАДАННЫЕ: PROJECT-NUMBER`
## Common Pitfalls
- ❌ Заголовок от задачи ("Доработать...") вместо результата ("Доработано...")
- ❌ Слишком длинный заголовок (> 72 символов)
- ❌ Отсутствие секции "Как было"
- ❌ Общие фразы вместо конкретных результатов
- ❌ Забыт номер задачи в footer
- ❌ Использование имён файлов вместо терминов 1С: `ObjectModule.bsl` вместо "Модуль объекта", `Module.bsl` вместо "Модуль формы", `SQL` вместо "Запрос", `ManagerModule.bsl` вместо "Модуль менеджера"
## Источник правил
Правила оформления коммитов описаны в:
`D:\1C-Enterprise_Framework\Документация разработчика\Сценапий разработки\006. Оформление коммитов.md`
## Related Skills
- [1c-development](../1c-development/SKILL.md) - Разработка 1С
- [create-skill](../create-skill/SKILL.md) - Создание skills
Details
| Category | Coding → code-quality |
| Source | Alex1980Alex/1C-Framework |
| SKILL.md | View on GitHub → |
| Repo Stars | N/A |
| Est. per Skill | N/A (shared across 100 skills from this repo) |
| Difficulty | Intermediate |
| Risk Level | Safe |
Related Skills
git-commit
--- name: git-commit description: 'Execute git commit with conventional commit message analysis, int
git-commit
--- name: git-commit description: 'Execute git commit with conventional commit message analysis, int
document-manager
--- name: document-manager description: > Full-spectrum document and planning manager. Use for organ
git-commit-message
--- name: git-commit-message description: > Формирует сообщения коммитов по стандарту Conventional C
Works Well With
Skills from the same repository — often designed to work together
edt-mcp
--- name: edt-mcp description: "EDT-MCP — 70 MCP-инструментов 1C:EDT (метаданные/BSL/отладка/тесты/ф
audit-docs
--- name: audit-docs description: "Аудит кода vs документации vs скиллов. Сканирует кодовую базу, из
deployment
--- name: deployment description: "Deployment — развёртывание PDF Framework в production. ИСПОЛЬЗУЙ