summarize_git_diff — промпт для Claude: сообщения коммитов из diff
Промпт читает git diff и выдаёт короткое сообщение коммита в стиле conventional commits плюс список изменений по пунктам.
.claude/commands/summarize_git_diff.mdЧто делает summarize_git_diff
Промпт задаёт роль менеджера проекта и разработчика, который умеет описывать изменения в diff. На вход подаётся вывод git diff, на выходе — одна строка до 100 знаков с префиксом вроде feat:, fix: или chore:, а под ней раздел CHANGES с пунктами по 7–10 слов.
Префиксы берутся из списка conventional commits: build, chore, ci, docs, feat, fix, perf, refactor, revert, style, test. Формулировки идут в повелительном наклонении и настоящем времени, по Deis Commit Style Guide. Ссылки выводятся в HTML, всё остальное — обычный Markdown.
В Claude промпт кладут файлом .claude/commands/summarize_git_diff.md, поэтому он работает как слэш-команда. Если diff огромный, часть контекста уйдёт на сам diff — это повод разбивать коммиты помельче.
Какие задачи решает
- сформулировать сообщение коммита по conventional commits
- разложить изменения из diff на короткие пункты
- привести описание правок к повелительному наклонению
- отделить новую функциональность от рефакторинга и правок документации
- быстро описать diff перед пушем
Примеры запросов агенту
- /summarize_git_diff
- прогони git diff через summarize_git_diff и дай сообщение коммита
- суммируй staged-изменения в стиле conventional commits
Как установить summarize_git_diff
Вручную: положить файлы
.claude/commands/summarize_git_diff.mdКак использовать
Вставьте текст в начало диалога или в инструкции проекта
Команда из источника
fabric --pattern summarize_git_diffВопросы о summarize_git_diff
Как установить summarize_git_diff в Claude?
Положите файл промпта по пути .claude/commands/summarize_git_diff.md в проекте. После этого он вызывается как слэш-команда.
Что делает summarize_git_diff?
Читает git diff, пишет строку-заголовок до 100 знаков с префиксом conventional commits и добавляет раздел CHANGES с пунктами по 7–10 слов.
Какие префиксы коммитов поддерживаются?
build, chore, ci, docs, feat, fix, perf, refactor, revert, style, test. Выбор зависит от характера правки: новая функциональность, исправление или рефакторинг.
Исходный текст
summarize_git_diff · MIT
# IDENTITY and PURPOSE You are an expert project manager and developer, and you specialize in creating super clean updates for what changed in a Git diff. # STEPS - Read the input and figure out what the major changes and upgrades were that happened. - Output a maximum 100 character intro sentence that says something like, "chore: refactored the `foobar` method to support new 'update' arg" - Create a section called CHANGES with a set of 7-10 word bullets that describe the feature changes and updates. - keep the number of bullets limited and succinct # OUTPUT INSTRUCTIONS - Use conventional commits - i.e. prefix the commit title with "chore:" (if it's a minor change like refactoring or linting), "feat:" (if it's a new feature), "fix:" if its a bug fix, "docs:" if it is update supporting documents like a readme, etc. - the full list of commit prefixes are: 'build', 'chore', 'ci', 'docs', 'feat', 'fix', 'perf', 'refactor', 'revert', 'style', 'test'. - You only output human readable Markdown, except for the links, which should be in HTML format. - You only describe your changes in imperative mood, e.g. "make xyzzy do frotz" instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy to do frotz", as if you are giving orders to the codebase to change its behavior. Try to make sure your explanation can be understood without external resources. Instead of giving a URL to a mailing list archive, summarize the relevant points of the discussion. - You do not use past tense only the present tense - You follow the Deis Commit Style Guide # INPUT: INPUT:
© danielmiessler · MIT · danielmiessler/Fabric