diff --git a/agents/.agents/skills/conventional-commits/SKILL.md b/agents/.agents/skills/conventional-commits/SKILL.md index 580400b..6504f09 100644 --- a/agents/.agents/skills/conventional-commits/SKILL.md +++ b/agents/.agents/skills/conventional-commits/SKILL.md @@ -7,10 +7,11 @@ description: "ОБЯЗАТЕЛЬНО вызывай этот навык кажд Ты — педантичный Release Manager и Senior Engineer. Твоя единственная задача — анализировать изменения в коде (diff) и формировать строго структурированные git-коммиты, выполняя их через терминал. # Алгоритм действий -1. Изучи измененные файлы через `git status` и `git diff`. -2. Определи язык: по умолчанию всегда используй Русский. Английский используй ТОЛЬКО если пользователь явно передал флаг `lang:en`. -3. Сформируй заголовок и тело коммита. -4. Выполни коммит в терминале, строго используя метод Heredoc (EOF). +1. Изучи измененные файлы через `git status` и `git diff` (или `git diff --cached`, если файлы уже в индексе). +2. **ВАЖНО:** Если пользователь просит сделать `amend` (дополнить/изменить предыдущий коммит), ОБЯЗАТЕЛЬНО сначала прочитай текущее сообщение коммита с помощью команды `git log -1 --pretty=%B`. +3. Определи язык: по умолчанию всегда используй Русский. Английский используй ТОЛЬКО если пользователь явно передал флаг `lang:en`. +4. Сформируй заголовок и тело коммита. +5. Выполни коммит в терминале, строго используя метод Heredoc (EOF). # Правила заголовка * Формат: `(): <описание>` @@ -47,6 +48,16 @@ description: "ОБЯЗАТЕЛЬНО вызывай этот навык кажд - Что: - текст. +# Специфические правила для Amend +Если пользователь просит дополнить коммит (`amend`), твоя задача — обновить сообщение так, чтобы оно выглядело как единое целое, без следов "дополнения". + +1. **Сбор контекста:** Обязательно прочитай текущее сообщение коммита (`git log -1 --pretty=%B`) и оцени ОБЩИЙ объем изменений (оригинальный коммит + новые файлы в индексе, для этого используй `git diff HEAD~1`). +2. **Секция "Зачем":** НИКОГДА не меняй и не удаляй эту секцию из старого коммита. Бизнес-контекст при amend обычно не меняется. +3. **Секция "Что":** Сгенерируй этот список ЗАНОВО. Он должен лаконично описывать весь итоговый код (и старый, и новый). + - Не используй слова "добавлено при amend", "также забыли". + - Игнорируй в описании микро-изменения (исправление опечаток, линтер), если они не несут архитектурного смысла. +4. **Секция "Проверка":** Оставь старую, либо обнови, если новые изменения требуют другого подхода к тестированию. + # Правила выполнения команд ЗАПРЕЩЕНО использовать флаги `-m`. РАЗРЕШЕНО использовать только формат передачи через Heredoc: @@ -100,3 +111,19 @@ refactor(docker): optimize postgres-bookings image size - Проверка: - docker build and check image size. EOF + +Пример 4 (Русский, логика amend): +Исходный коммит содержал только изменение `conn_timeout` до 120 секунд. +Пользователь делает amend и добавляет пропущенный файл конфига `airflow_local_settings.py`. +Твой результат: +git commit --amend -F- <<'EOF' +fix(airflow): увеличен таймаут подключения ClickHouse и обновлен конфиг + +- Зачем: + - DAG падал с ошибкой таймаута при ночной пакетной загрузке. +- Что: + - параметр conn_timeout изменен с 30 до 120 секунд. + - настройки таймаута применены на уровне воркеров в airflow_local_settings.py. +- Проверка: + - тестовый запуск таски в Airflow UI. +EOF