Skill git-commit
scriptsGenera mensajes de commit convencionales a partir de diffs y ejecuta commits de git.
- Estrellas en GitHub
- 8
- Archivos
- 4
- Último commit
- 28 oct 2026
- Licencia
- MIT
- Herramientas permitidas
- —
¿Qué hace la skill git-commit?
git-commit es una agent skill. Genera mensajes de commit convencionales a partir de diffs y ejecuta commits de git.
Resumen generado a partir del SKILL.md de la skill.
Sobre la skill git-commit
Esta SKILL permite a los desarrolladores que trabajan en entornos basados en terminal automatizar la creación de mensajes de commit estandarizados y la ejecución de git commits. Cuando un agente necesita preparar cambios o finalizar una modificación de código, carga esta herramienta para analizar diffs con o sin stage. Produce mensajes de commit convencionales siguiendo la especificación de conventionalcommits.org, asegurando que cada entrada incluya un tipo, un scope opcional y una descripción imperativa.
El proceso se basa en la lectura de git status y git diff para garantizar que el mensaje refleje con precisión los cambios reales en el código en lugar de hacer suposiciones. Incluye un mecanismo de linting pre-commit que detecta y ejecuta automáticamente linters específicos del proyecto como npm, ruff, flake8 o golangci-lint para bloquear commits que no superen los controles de calidad. Esta herramienta está diseñada específicamente para commits de desarrollo estándar y no debe utilizarse para generar commits de release o gestionar flujos de trabajo de finalización de ramas.
Lo que un agente puede hacer con ella
- 1Generar mensajes de commit convencionalesUn agente de IA puede escribir un mensaje de commit estructurado basado en los cambios específicos encontrados en un diff de código.
- 2Gestionar breaking changes correctamenteLos desarrolladores pueden usar la herramienta para formatear automáticamente los breaking changes con el signo de exclamación y el footer requeridos.
- 3Organizar cambios mixtos en commitsEl agente puede identificar cuándo un diff contiene temas no relacionados y sugerir dividirlos en commits separados.
Escrito a partir del SKILL.md de la skill. Cada caso de uso se verifica con una cita del mismo.
Cómo instalar la skill git-commit
Cada comando copia la carpeta de la skill al directorio de skills del cliente. Reinicia el cliente o inicia una nueva sesión para cargarla.Instalar la skill git-commit en Plugin
/plugin marketplace add mgiovani/cc-arsenal /plugin install cc-arsenal@cc-arsenal-marketplace
Instalar la skill git-commit en Claude Code
~/.claude/skills/git-commit/SKILL.md
$ npx degit mgiovani/cc-arsenal/skills/git-commit ~/.claude/skills/git-commitInstalar la skill git-commit en Claude Code (project)
.claude/skills/git-commit/SKILL.md
$ npx degit mgiovani/cc-arsenal/skills/git-commit .claude/skills/git-commitInstalar la skill git-commit en Codex
~/.agents/skills/git-commit/SKILL.md
$ npx degit mgiovani/cc-arsenal/skills/git-commit ~/.agents/skills/git-commitInstalar la skill git-commit en Gemini CLI
~/.gemini/skills/git-commit/SKILL.md
$ npx degit mgiovani/cc-arsenal/skills/git-commit ~/.gemini/skills/git-commitInstalar la skill git-commit en 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 en 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.
Archivos de esta skill
4Preguntas sobre la skill git-commit
¿Cómo instalo la skill git-commit en Claude Code?
Ejecuta npx degit mgiovani/cc-arsenal/skills/git-commit ~/.claude/skills/git-commit. Claude Code carga las skills desde ~/.claude/skills (todos los proyectos) o .claude/skills (un proyecto) y usa una skill cuando su descripción coincide con la tarea.
¿Qué clientes pueden usar la skill git-commit?
Cualquier cliente que lea el formato Agent Skills: Claude Code, Codex, Gemini CLI y claude.ai (subir como ZIP). Los scripts de la skill se ejecutan solo donde el cliente permite la ejecución de código.
¿Qué sucede si el proyecto tiene un linter configurado?
Se ejecuta un hook PreToolUse antes del commit para detectar el linter del proyecto y bloqueará el commit si el linting falla.
¿Cómo debo manejar un diff que contiene múltiples cambios no relacionados?
Debes dividir los cambios en commits separados preparando cada grupo de cambios individualmente con git add <files> y haciendo commit de ellos uno por uno.
¿Cuál es el formato para un commit de breaking change?
Para breaking changes, debes añadir un signo de exclamación después del scope e incluir un footer con 'BREAKING CHANGE: ...'.