Skill commit-push
Realiza commits de cambios locales usando el formato Conventional Commits y los envía a un repositorio remoto.
- Estrellas en GitHub
- 87
- Archivos
- 1
- Último commit
- 15 sept 2026
- Licencia
- Apache-2.0
- Herramientas permitidas
- —
¿Qué hace la skill commit-push?
commit-push es una agent skill. Realiza commits de cambios locales usando el formato Conventional Commits y los envía a un repositorio remoto.
Resumen generado a partir del SKILL.md de la skill.
Sobre la skill commit-push
Este SKILL permite a los desarrolladores que trabajan en entornos basados en terminal automatizar el proceso de staging, commit y push de cambios de código. Un agente debe cargar esta herramienta cuando haya completado tareas de programación y necesite sincronizar las modificaciones locales con un repositorio remoto. El proceso sigue una secuencia estricta de validaciones para asegurar que el diff se comprenda, que el mensaje de commit siga el formato Conventional Commits y que el área de staging coincida con los cambios previstos.
Al utilizar comandos estándar de git como git status, git diff y git log, el SKILL analiza si un cambio es un feat, fix, docs, refactor, test, chore, perf o ci. Genera un mensaje de commit estructurado que incluye un tipo, un scope opcional y una descripción, además de gestionar cuerpos de mensaje multilínea y referencias a issues. El flujo de trabajo concluye verificando que la rama local esté actualizada con su upstream después de ejecutar el comando git push.
Lo que un agente puede hacer con ella
- 1Estandarizar el historial de commitsUn agente de IA puede formatear todos los cambios locales bajo la especificación de Conventional Commits para mantener un log de proyecto limpio.
- 2Documentar breaking changesEl agente puede identificar y señalar actualizaciones que rompen la compatibilidad hacia atrás añadiendo el signo de exclamación correspondiente al scope del commit.
- 3Sincronizar el trabajo local con remotosUn agente puede hacer push de funcionalidades completadas a un repositorio remoto y confirmar que la rama se ha actualizado correctamente.
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 commit-push
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 commit-push en Plugin
/plugin marketplace add existential-birds/beagle /plugin install beagle-core@existential-birds
Instalar la skill commit-push en Claude Code
~/.claude/skills/commit-push/SKILL.md
$ npx degit existential-birds/beagle/plugins/beagle-core/skills/commit-push ~/.claude/skills/commit-pushInstalar la skill commit-push en Claude Code (project)
.claude/skills/commit-push/SKILL.md
$ npx degit existential-birds/beagle/plugins/beagle-core/skills/commit-push .claude/skills/commit-pushInstalar la skill commit-push en Codex
~/.agents/skills/commit-push/SKILL.md
$ npx degit existential-birds/beagle/plugins/beagle-core/skills/commit-push ~/.agents/skills/commit-pushInstalar la skill commit-push en Gemini CLI
~/.gemini/skills/commit-push/SKILL.md
$ npx degit existential-birds/beagle/plugins/beagle-core/skills/commit-push ~/.gemini/skills/commit-pushInstalar la skill commit-push en Claude.ai
npx degit existential-birds/beagle/plugins/beagle-core/skills/commit-push commit-push && zip -r commit-push.zip commit-push # claude.ai → Customize → Skills → + → Create skill → Upload a skill → commit-push.zip
SKILL.md
Ver en GitHubCommit and Push
Commit all local changes following Conventional Commits format and push to remote.
Gates
Complete in order. Do not run the next action until the Pass condition is satisfied (use command output as evidence, not memory).
- Diff understood — Pass when: Outputs from
git status,git diff, andgit diff --cachedare consistent with your one-sentence description of what changed (or you recorded that there is nothing to commit). - Commit line chosen — Pass when: You have a draft first line
type(scope): description(ortype: descriptionif omitting scope) that matches the change set you intend to ship. - Staging matches intent — Pass when: After
git add,git diff --cached --stat(and spot-checkgit diff --cachedif needed) shows only the paths you meant to include; adjust staging before committing if not. - Push target confirmed — Pass when: Current branch and remote are the ones you intend (
git branch -vv,git remote -v); then push. - Remote caught up — Pass when:
git statusis clean andgit status -sbshows the branch is up to date with its configured upstream (no unexpected unpushed commits left for this task).
Step 1: Gather Context
Run these commands in parallel to understand the changes:
# See all untracked and modified files
git status
# See staged and unstaged changes
git diff
git diff --cached
# See recent commit messages for style reference
git log --oneline -10
Step 2: Analyze Changes
Review the changes and determine:
-
Type: What kind of change is this?
feat- New feature or capabilityfix- Bug fixdocs- Documentation onlyrefactor- Code restructure without behavior changetest- Adding or updating testschore- Maintenance, dependency updatesperf- Performance improvementci- CI/CD changes
-
Scope: Which component is affected?
- Examine the changed files and determine the appropriate scope
- Use consistent scope names within the project (check
git logfor patterns) - (omit scope for cross-cutting changes)
-
Breaking: Does this break backward compatibility? If yes, add ! after scope.
Step 3: Write Commit Message
Format:
type(scope): description
[optional body explaining why, not what]
[optional footer with issue references]
Rules:
- Use imperative mood: "add feature" not "added feature"
- Keep first line under 72 characters
- Focus on why in the body, the diff shows what
- Reference issues:
Closes #123orFixes #456
Step 4: Stage, Commit, and Push
Satisfy Gates 1–3 before git commit; satisfy Gate 4 before git push; satisfy Gate 5 after push.
# Stage all changes (or selectively stage)
git add -A
# Gate 3: confirm staged set before committing
git diff --cached --stat
# Commit with message (use HEREDOC for multi-line)
git commit -m "$(cat <<'EOF'
type(scope): description
Optional body explaining the motivation.
Closes #123
EOF
)"
# Push to remote
git push
Examples
# Simple feature
git commit -m "feat(api): add pagination support to list endpoints"
# Bug fix with body
git commit -m "$(cat <<'EOF'
fix(auth): handle token expiration during long requests
The previous implementation did not account for tokens expiring
during the processing of long-running requests.
Fixes #42
EOF
)"
# Breaking change
git commit -m "$(cat <<'EOF'
feat!(api): change response format for user endpoints
BREAKING CHANGE: The `status` field is now an object with `state` and
`message` properties instead of a plain string.
EOF
)"
Optionally append a co-author or footer trailer per project convention (e.g. a Co-Authored-By: line or a tool-attribution footer). Omit it when the project has no such convention.
Step 5: Verify
After pushing, satisfy Gate 5: run git status and git status -sb and confirm a clean tree and upstream sync (or an expected ahead/behind you can explain, e.g. fork workflow).
Archivos de esta skill
1Preguntas sobre la skill commit-push
¿Cómo instalo la skill commit-push en Claude Code?
Ejecuta npx degit existential-birds/beagle/plugins/beagle-core/skills/commit-push ~/.claude/skills/commit-push. 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 commit-push?
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é formato de commit utiliza este SKILL?
El SKILL sigue el formato Conventional Commits, que incluye un tipo, un scope opcional y una descripción.
¿Cómo debo escribir la descripción del mensaje de commit?
Debes usar el modo imperativo, como 'add feature' en lugar de 'added feature', y mantener la primera línea por debajo de los 72 caracteres.