commit · sneg55 — скилл для Claude Code: аккуратный git-коммит
Собирает один коммит из текущих изменений: смотрит diff, повторяет стиль репозитория и пишет сообщение про причину правки, а не про её состав.
npx skills add sneg55/agent-starter --skill commit -a claude-codeЧто делает commit
Скилл вызывается вручную и работает по шагам. Сначала собирает контекст: git status, git diff HEAD, текущую ветку через git branch --show-current и последние десять коммитов из git log --oneline -10. По ним он понимает, какие изменения накопились и как в этом репозитории принято писать сообщения.
Дальше анализирует staged-изменения, определяет характер правки — новая функция, доработка, багфикс, рефакторинг, тесты или документация — и формулирует сообщение в одну-две фразы. Акцент на «почему», а не на «что». Коммит создаётся через HEREDOC, чтобы многострочное сообщение не поехало. Всё это одним действием, без лишних шагов.
Внутри зашит протокол безопасности. Конфиг git скилл не трогает, хуки не обходит, --amend не применяет и вместо правки старого коммита всегда создаёт новый. Файлы вроде .env и credentials.json он коммитить откажется и предупредит, если вы попросите об этом прямо. Пустой коммит при отсутствии изменений не появится. Интерактивные команды с флагом -i не используются: они ждут ввода, которого скилл дать не может.
Какие задачи решает
- собрать один коммит из разрозненных правок
- подхватить стиль сообщений конкретного репозитория
- описать причину изменения, а не перечислить файлы
- не закоммитить случайно файл с секретами
- создать коммит с многострочным сообщением без ошибок в кавычках
Примеры запросов агенту
- Закоммить текущие изменения
- Сделай коммит по последним правкам, стиль возьми из истории репозитория
- Закоммить staged-файлы, в сообщении объясни, зачем это изменение
Как установить commit
1Через Skills CLI (Vercel)
npx skills add sneg55/agent-starter --skill commit -a claude-code2Вручную: положить файлы
~/.claude/skills/commit/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/commit/
1Через Skills CLI (Vercel)
npx skills add sneg55/agent-starter --skill commit -a codex2Вручную: положить файлы
.agents/skills/commit/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add sneg55/agent-starter --skill commit -a cursor2Вручную: положить файлы
.cursor/skills/commit/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install sneg55/agent-starter commit2Вручную: положить файлы
.github/skills/commit/SKILL.md1Через Skills CLI (Vercel)
npx skills add sneg55/agent-starter --skill commit -a gemini-cli2Командой платформы
gemini skills install https://github.com/sneg55/agent-starter --path skills/commitВручную: положить файлы
.devin/skills/commit/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add sneg55/agent-starter --skill commit -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о commit
Как установить скилл commit в Claude Code?
Выполните npx skills add sneg55/agent-starter --skill commit -a claude-code. Файл скилла окажется по пути ~/.claude/skills/commit/SKILL.md.
Что делает скилл commit?
Создаёт один git-коммит из текущих изменений: разбирает diff, смотрит историю репозитория, повторяет принятый стиль сообщений и пишет короткое объяснение причины правки.
Он может перезаписать последний коммит через --amend?
Нет. Скилл всегда создаёт новый коммит, --amend применяется только по вашей прямой просьбе. Хуки он тоже не обходит и конфиг git не меняет.
Исходный текст
SKILL.md · MIT
--- name: commit description: Create a single well-crafted git commit from current changes. Analyzes diff, follows repo's commit style, and writes a concise "why not what" message. user_invocable: true allowed-tools: - Bash(git add:*) - Bash(git status:*) - Bash(git commit:*) --- # Git Commit ## Context Gather this context before committing: - Current git status: `git status` - Current git diff (staged and unstaged): `git diff HEAD` - Current branch: `git branch --show-current` - Recent commits: `git log --oneline -10` ## Git Safety Protocol - NEVER update the git config - NEVER skip hooks (--no-verify, --no-gpg-sign, etc) unless the user explicitly requests it - CRITICAL: ALWAYS create NEW commits. NEVER use git commit --amend, unless the user explicitly requests it - Do not commit files that likely contain secrets (.env, credentials.json, etc). Warn the user if they specifically request to commit those files - If there are no changes to commit (i.e., no untracked files and no modifications), do not create an empty commit - Never use git commands with the -i flag (like git rebase -i or git add -i) since they require interactive input which is not supported ## Task Based on the changes, create a single git commit: 1. Analyze all staged changes and draft a commit message: - Look at the recent commits to follow this repository's commit message style - Summarize the nature of the changes (new feature, enhancement, bug fix, refactoring, test, docs, etc.) - Ensure the message accurately reflects the changes and their purpose (i.e. "add" means a wholly new feature, "update" means an enhancement to an existing feature, "fix" means a bug fix, etc.) - Draft a concise (1-2 sentences) commit message that focuses on the "why" rather than the "what" 2. Stage relevant files and create the commit using HEREDOC syntax: ``` git commit -m "$(cat <<'EOF' Commit message here. EOF )" ``` Stage and create the commit in a single message. Do not do anything else.
© sneg55 · MIT · sneg55/agent-starter
Похожие скиллы
Все скиллы по теме «Git и GitHub» →Сначала — commit от других авторов.