Skill git-commit
scriptsGera mensagens de commit convencionais a partir de diffs e executa commits no git.
- Estrelas no GitHub
- 8
- Arquivos
- 4
- Último commit
- 28 de out. de 2026
- Licença
- MIT
- Ferramentas permitidas
- —
O que a skill git-commit faz?
git-commit é uma Agent Skill. Gera mensagens de commit convencionais a partir de diffs e executa commits no git.
Resumo gerado a partir do SKILL.md da skill.
Sobre a skill git-commit
Automatizar a criação de mensagens de commit padronizadas e a execução de commits no git é o que esta SKILL permite para desenvolvedores que trabalham em ambientes baseados em terminal. Quando um agente precisa preparar mudanças ou finalizar uma modificação de código, ele carrega esta ferramenta para analisar diffs de arquivos em staging ou unstaged. Ela produz mensagens de conventional commit seguindo a especificação do conventionalcommits.org, garantindo que cada entrada inclua um tipo, um escopo opcional e uma descrição imperativa.
O processo baseia-se na leitura do git status e git diff para garantir que a mensagem reflita com precisão as mudanças reais no código, em vez de fazer suposições. Inclui um mecanismo de linting pré-commit que detecta e executa automaticamente linters específicos do projeto, como npm, ruff, flake8 ou golangci-lint, para bloquear commits que falhem nos testes de qualidade. Esta ferramenta foi projetada especificamente para commits de desenvolvimento padrão e não deve ser usada para gerar commits de release ou gerenciar fluxos de trabalho de finalização de branch.
O que um agente pode fazer com ela
- 1Gerar mensagens de conventional commitUm agente de IA pode escrever uma mensagem de commit estruturada com base nas mudanças específicas encontradas em um diff de código.
- 2Lidar corretamente com breaking changesDesenvolvedores podem usar a ferramenta para formatar automaticamente breaking changes com o ponto de exclamação e o rodapé exigidos.
- 3Organizar mudanças mistas em commitsO agente pode identificar quando um diff contém assuntos não relacionados e sugerir a divisão em commits separados.
Escrito a partir do SKILL.md da skill. Cada caso de uso é verificado com uma citação dele.
Como instalar a skill git-commit
Cada comando copia a pasta da skill para o diretório de skills do cliente. Reinicie o cliente ou inicie uma nova sessão para carregá-la.Instalar a skill git-commit no Plugin
/plugin marketplace add mgiovani/cc-arsenal /plugin install cc-arsenal@cc-arsenal-marketplace
Instalar a skill git-commit no Claude Code
~/.claude/skills/git-commit/SKILL.md
$ npx degit mgiovani/cc-arsenal/skills/git-commit ~/.claude/skills/git-commitInstalar a skill git-commit no Claude Code (project)
.claude/skills/git-commit/SKILL.md
$ npx degit mgiovani/cc-arsenal/skills/git-commit .claude/skills/git-commitInstalar a skill git-commit no Codex
~/.agents/skills/git-commit/SKILL.md
$ npx degit mgiovani/cc-arsenal/skills/git-commit ~/.agents/skills/git-commitInstalar a skill git-commit no Gemini CLI
~/.gemini/skills/git-commit/SKILL.md
$ npx degit mgiovani/cc-arsenal/skills/git-commit ~/.gemini/skills/git-commitInstalar a skill git-commit no Claude.ai
npx degit mgiovani/cc-arsenal/skills/git-commit git-commit && zip -r git-commit.zip git-commit # claude.ai → Customize → Skills → + → Create skill → Upload a skill → git-commit.zip
SKILL.md
Ver no GitHubGit Commit
Generate a conventional commit message and create the commit.
Quality Guidelines
Base the message only on what the diff actually shows, not assumptions:
- Read
git statusandgit diff --staged(orgit diffif nothing is staged yet) before writing anything. - Check which files/modules changed before setting scope.
- Look for removed exports, changed signatures, deleted functions to catch breaking changes.
- If the purpose of a change is unclear, ask the user rather than guess.
Pre-commit Linting
In Claude Code, a PreToolUse hook runs before every git commit: it detects the project's
linter (Node's npm/bun/pnpm/yarn run lint, Python's ruff/flake8, make lint, rubocop,
golangci-lint) and blocks the commit if it fails. No linter configured means the commit
proceeds unblocked. Outside Claude Code (no hook support), run the project's lint command
yourself before committing. Never bypass a failing lint with --no-verify: fix the errors
and re-run the commit instead.
Workflow
- Run
git statusandgit diff --stagedto see what actually changed. - If the diff mixes unrelated concerns (e.g. a feature plus an unrelated fix plus docs),
split into separate commits by staging each group with
git add <files>and committing them one at a time. Otherwise, one commit is enough, don't force a split. - For each commit, pick the type:
feat: new featurefix: bug fixdocs: documentation onlystyle: formatting, no code meaning changerefactor: neither fixes a bug nor adds a featureperf: performance improvementtest: adding or correcting testsbuild: build system or dependency changesci: CI configuration/scriptschore: everything else that doesn't touch src or testsrevert: reverts a previous commit
- Format as
type(scope): description, scope optional, description imperative mood ("add" not "added"), max ~50 characters. Skip the body for a typo fix or a single dependency bump; add a wrapped body (why, not how) once the change alters behavior or touches multiple files. For breaking changes, append!after the scope and add aBREAKING CHANGE: ...footer.
Example formats
feat(auth): add OAuth2 login support
fix(api): resolve null pointer in user endpoint
docs: update installation instructions
chore(deps): bump lodash to 4.17.21
feat(shopping-cart)!: remove deprecated calculate method
BREAKING CHANGE: calculate has been removed, use computeTotal instead
Ask for confirmation before committing if the changes are complex or span multiple concerns; otherwise just commit.
Arquivos desta skill
4Perguntas sobre a skill git-commit
Como instalo a skill git-commit no Claude Code?
Execute npx degit mgiovani/cc-arsenal/skills/git-commit ~/.claude/skills/git-commit. O Claude Code carrega skills de ~/.claude/skills (todos os projetos) ou .claude/skills (um projeto) e usa uma skill quando a descrição dela corresponde à tarefa.
Quais clientes podem usar a skill git-commit?
Qualquer cliente que leia o formato Agent Skills: Claude Code, Codex, Gemini CLI e claude.ai (envie como ZIP). Scripts da skill são executados apenas onde o cliente permite execução de código.
O que acontece se o projeto tiver um linter configurado?
Um hook PreToolUse é executado antes do commit para detectar o linter do projeto e bloqueará o commit caso o linting falhe.
Como devo lidar com um diff que contém múltiplas alterações não relacionadas?
Você deve dividir as alterações em commits separados, adicionando cada grupo de mudanças individualmente com git add <files> e realizando o commit de um por um.
Qual é o formato para um commit de breaking change?
Para breaking changes, você deve adicionar um ponto de exclamação após o escopo e incluir um rodapé 'BREAKING CHANGE: ...'.