commit · prathamdby — скилл для Claude Code: аккуратные коммиты по диффу
Скилл делает коммит только из выбранных изменений и пишет сообщение, каждую строку которого подтверждает конкретный хунк диффа.
npx skills add prathamdby/skills --skill commit -a claude-codeЧто делает commit
Скилл работает в четыре шага. Сначала он читает статус и выбранный дифф: для staged берёт кэш, для unstaged — рабочее дерево, а сами байты хеширует через git hash-object. Потом черновик сообщения строится только из зафиксированных хунков, без оглядки на контекст сессии, тикета или прошлого ревью. Затем коммит, и в конце сверка: дифф коммита и %B сравниваются со снимком.
По умолчанию берутся staged-изменения, стиль conventional, трейлеры запрещены. Хуки выключаются только там, где политика хоста разрешает обход, иначе остаются включёнными. Для режима «unstaged work» индекс должен быть пустым, а неотслеживаемые файлы в коммит не попадают. Если запрошенные трейлеры или стиль противоречат друг другу, шаг блокируется; падение хука выбранную политику не меняет.
Сообщение собирается одной строкой subject через -m и максимум одним -m для тела. Редактор, HEREDOC, -F, -a и отдельный аргумент на каждый пункт не используются. Скилл никогда не делает push и заканчивает работу одним из трёх статусов: SUCCESS, NO_CHANGES или BLOCKED.
Какие задачи решает
- закоммитить только часть правок, не задев остальную работу в дереве
- написать сообщение коммита строго по диффу, без выдуманных деталей
- проверить, что в коммит не попали лишние файлы и хвосты прошлых задач
- соблюсти политику хуков и трейлеров в конкретном репозитории
- сверить дифф и текст сообщения после коммита
Примеры запросов агенту
- Закоммить только staged-изменения в
src/api, стиль conventional - Сделай коммит из unstaged-правок, индекс пустой, хуки не пропускай
- Закоммить изменения и покажи, какие строки сообщения чем подтверждаются
Как установить commit
1Через Skills CLI (Vercel)
npx skills add prathamdby/skills --skill commit -a claude-code2Вручную: положить файлы
~/.claude/skills/commit/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/commit/
1Через Skills CLI (Vercel)
npx skills add prathamdby/skills --skill commit -a codex2Вручную: положить файлы
.agents/skills/commit/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add prathamdby/skills --skill commit -a cursor2Вручную: положить файлы
.cursor/skills/commit/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install prathamdby/skills commit2Вручную: положить файлы
.github/skills/commit/SKILL.md1Через Skills CLI (Vercel)
npx skills add prathamdby/skills --skill commit -a gemini-cli2Командой платформы
gemini skills install https://github.com/prathamdby/skills --path skills/engineering/commitВручную: положить файлы
.devin/skills/commit/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add prathamdby/skills --skill commit -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о commit
Как установить commit в Claude Code?
Выполните npx skills add prathamdby/skills --skill commit -a claude-code, после чего файл скилла окажется в ~/.claude/skills/commit/SKILL.md.
Что делает скилл commit?
Он фиксирует выбранный набор изменений и пишет сообщение, где каждая строка привязана к конкретному хунку диффа. В конце сверяет коммит со снимком и сообщает статус.
Что нужно, чтобы закоммитить unstaged-изменения?
Индекс должен быть пустым, а неотслеживаемые файлы остаются за пределами коммита. Скилл застейджит только зафиксированные отслеживаемые пути.
Исходный текст
SKILL.md · MIT
--- name: commit description: > commit to save scoped changes with a message proved by the selected diff. --- # Commit ## Options Default: staged, conventional, trailers denied; hooks off only where host policy permits bypass, otherwise hooks on. "Unstaged work" requires an empty index; untracked files stay excluded. "Plain subject"/"simple message" selects simple. "Run hooks"/"do not skip hooks" selects on. Explicit identity-trailer requests opt in only to those trailers. Conflicting scopes/styles or missing needed values block; hook failure does not change the chosen policy. ## 1. Lock Read status and the selected diff (cached for staged, worktree for unstaged). Empty → NO_CHANGES, naming other layers without switching. Hash selected bytes with git hash-object. For unstaged, block if index is nonempty. Record `scope | style | hooks | requested trailers | hash | paths | message | command | SHA | terminal`. Done when intended bytes and out-of-scope work are fixed. ## 2. Draft and trace Load the selected style and rejection check in `REFERENCE.md`. Draft only from locked hunks, not session/ticket/plan/branch/reviewer context or a prior review-follow-up draft. Map every message line to proving hunks. Rewrite unproved copy and all rejected forms. Use one subject -m and at most one body -m, not an editor, HEREDOC, -F, -a, or an argument per bullet. Done when style, clean-room trace, and requested-trailer policy pass. ## 3. Commit Rehash immediately before mutation; movement restarts Lock. For unstaged, stage only locked tracked paths and require cached bytes equal the snapshot. Use separate literal argv values for subject/body; shell variables must preserve quotes, backticks, dollars, backslashes, and newlines. Run hooks when required/chosen; bypass only if both recorded policy and host permit it. Done when one commit exists; errors/interruption are BLOCKED with stderr and any index mutation, never silently changing hook policy. ## 4. Verify Compare commit diff/paths and `%B` to the locked snapshot/message, check command shape/hook policy and preservation of unrelated work. Mismatch blocks with SHA and exact difference. For denied trailers always apply Trailer hygiene in `REFERENCE.md`; with opt-in, apply it when an unrequested banned line appears. Keep the REPL strip and unpublished/run-owned-HEAD checks; a clean -m is not proof of clean HEAD. Done when commit and message match after any safe amend. Report SHA, subject, scope, hooks/trailers, trace, amend status, and remaining tracked/untracked work. Terminals: SUCCESS, NO_CHANGES, BLOCKED. Never push.
© prathamdby · MIT · prathamdby/skills
Похожие скиллы
Все скиллы по теме «Git и GitHub» →Сначала — commit от других авторов.