conventional-commit · marcelorodrigo — скилл для Claude Code: осмысленные коммиты
Скилл для ИИ-агентов, который заставляет их писать коммиты по спецификации Conventional Commits: тип, scope, императив в заголовке.
npx skills add marcelorodrigo/agent-skills --skill conventional-commit -a claude-codeЧто делает conventional-commit
Скилл описывает формат <type>(<scope>): <subject> и таблицу типов: feat, fix, docs, refactor, perf, test, build, ci, chore, deps, style, revert. Заголовок — до 70 символов, без заглавной буквы и точки в конце, в повелительном наклонении. Тело объясняет что и почему, а не как.
Перед коммитом скилл просит проверить текущую ветку через git branch --show-current. Если вы на main или master, сначала создаётся ветка по шаблону <type>/<short-description>, где тип совпадает с типом коммита. Ломающие изменения помечаются ! после типа или футером BREAKING CHANGE:. Для отката есть отдельный формат revert: с указанием хеша и причины.
Скилл ничего не проверяет автоматически: это инструкция для агента, а не хук и не линтер. Если в проекте уже настроен commitlint или свой формат сообщений, агент будет следовать этому скиллу, и правила могут разойтись. Стоит заранее решить, какой из двух источников истины главный.
Ставится одной командой npx skills add для шести платформ, включая Claude, Codex и Cursor.
Какие задачи решает
- написать коммит по Conventional Commits без сверки со спецификацией
- разбить правку на один стабильный и обозримый коммит
- пометить ломающее изменение API через
!илиBREAKING CHANGE: - оформить откат коммита с указанием хеша и причины
- завести ветку с именем, совпадающим с типом изменения
Примеры запросов агенту
- закоммить изменения в user API по conventional commits
- сделай коммит для новой фичи алертов, scope alerts
- оформи revert коммита abc123def456 с причиной
Как установить conventional-commit
1Через Skills CLI (Vercel)
npx skills add marcelorodrigo/agent-skills --skill conventional-commit -a claude-code2Вручную: положить файлы
~/.claude/skills/conventional-commit/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/conventional-commit/
1Через Skills CLI (Vercel)
npx skills add marcelorodrigo/agent-skills --skill conventional-commit -a codex2Вручную: положить файлы
.agents/skills/conventional-commit/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add marcelorodrigo/agent-skills --skill conventional-commit -a cursor2Вручную: положить файлы
.cursor/skills/conventional-commit/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install marcelorodrigo/agent-skills conventional-commit2Вручную: положить файлы
.github/skills/conventional-commit/SKILL.md1Через Skills CLI (Vercel)
npx skills add marcelorodrigo/agent-skills --skill conventional-commit -a gemini-cli2Командой платформы
gemini skills install https://github.com/marcelorodrigo/agent-skills --path skills/conventional-commitВручную: положить файлы
.devin/skills/conventional-commit/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add marcelorodrigo/agent-skills --skill conventional-commit -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о conventional-commit
Как установить conventional-commit в Claude?
Выполните npx skills add marcelorodrigo/agent-skills --skill conventional-commit -a claude-code. Скилл появится в ~/.claude/skills/conventional-commit/SKILL.md.
Что делает conventional-commit?
Задаёт агенту правила оформления коммитов: тип, необязательный scope, заголовок до 70 символов в повелительном наклонении, тело с объяснением что и почему, футеры для ломающих изменений.
Скилл сам проверяет сообщения коммитов?
Нет. Это инструкция для агента, а не хук и не линтер. Проверку на стороне git он не выполняет.
Исходный текст
SKILL.md · MIT
--- name: conventional-commit description: Create conventional commit messages following best conventions. Use when committing code changes, writing commit messages, or formatting git history. Follows conventional commits specification. license: MIT metadata: version: "1.0.1" --- # Conventional Commit Messages Follow these conventions when creating commits. ## Prerequisites Before committing, ensure you're working on a feature branch, not the main branch. ```bash # Check current branch git branch --show-current ``` If you're on `main` or `master`, create a new branch first: ```bash # Create and switch to a new branch git checkout -b <type>/<short-description> ``` Branch naming should follow the pattern: `<type>/<short-description>` where type matches the commit type (e.g., `feat/add-user-auth`, `fix/null-pointer-error`, `refactor/extract-validation`). ## Format ``` <type>(<scope>): <subject> <body> <footer> ``` The header is required. Scope is optional. All lines must stay under 100 characters. ## Commit Types | Type | Purpose | |------|---------| | `build` | Build system or CI changes | | `chore` | Routine maintenance tasks | | `ci` | Continuous integration configuration | | `deps` | Dependency updates | | `docs` | Documentation changes | | `feat` | New feature | | `fix` | Bug fix | | `perf` | Performance improvement | | `refactor` | Code refactoring (no behavior change) | | `revert` | Revert a previous commit | | `style` | Code style and formatting | | `test` | Tests added, updated or improved | ## Subject Line Rules - Use imperative, present tense: "add feature" not "added feature" - Do not capitalize the first letter - No period at the end - Maximum 70 characters ## Body Guidelines - Explain **what** and **why**, not how - Use imperative mood and present tense - Include motivation for the change - Contrast with previous behavior when relevant ## Conventional Commits The commit contains the following structural elements, to communicate intent to the consumers of your library: - fix: a commit of the type fix patches a bug in your codebase (this correlates with PATCH in Semantic Versioning). - feat: a commit of the type feat introduces a new feature to the codebase (this correlates with MINOR in Semantic Versioning). - BREAKING CHANGE: a commit that has a footer BREAKING CHANGE:, or appends a ! after the type/scope, introduces a breaking API change (correlating with MAJOR in Semantic Versioning). A BREAKING CHANGE can be part of commits of any type. - types other than fix: and feat: are allowed, for example @commitlint/config-conventional (based on the Angular convention) recommends build:, chore:, ci:, docs:, style:, refactor:, perf:, test:, and others. - footers other than BREAKING CHANGE: <description> may be provided and follow a convention similar to git trailer format. ## Examples ### Simple fix ``` fix(api): handle null response in user endpoint The user API could return null for deleted accounts, causing a crash in the dashboard. Add null check before accessing user properties. ``` ### Feature with scope ``` feat(alerts): add Slack thread replies for alert updates When an alert is updated or resolved, post a reply to the original Slack thread instead of creating a new message. This keeps related notifications grouped together. ``` ### Refactor ``` refactor: extract common validation logic to shared module Move duplicate validation code from three endpoints into a shared validator class. No behavior change. ``` ### Breaking change ``` feat(api)!: remove deprecated v1 endpoints Remove all v1 API endpoints that were deprecated in version 23.1. Clients should migrate to v2 endpoints. BREAKING CHANGE: v1 endpoints no longer available ``` ## Revert Format ``` revert: feat(api): add new endpoint This reverts commit abc123def456. Reason: Caused performance regression in production. ``` ## Principles - Each commit should be a single, stable change - Commits should be independently reviewable - The repository should be in a working state after each commit ## References - [Conventional Commits Specification](https://www.conventionalcommits.org/en/v1.0.0/#specification)
© marcelorodrigo · MIT · marcelorodrigo/agent-skills
Похожие скиллы
Все скиллы по теме «Git и GitHub» →Сначала — conventional-commit от других авторов.