Skill commit-message-storyteller
✓ VerificadoGenera mensajes de commit de git con un enfoque narrativo y basado en historias, siguiendo la especificación de Conventional Commits a partir de diffs de código o descripciones de cambios.
- Estrellas en GitHub
- 41.038
- Archivos
- 2
- Último commit
- 11 nov 2026
- Licencia
- MIT
- Herramientas permitidas
- —
¿Qué hace la skill commit-message-storyteller?
commit-message-storyteller es una agent skill. Genera mensajes de commit de git con un enfoque narrativo y basado en historias, siguiendo la especificación de Conventional Commits a partir de diffs de código o descripciones de cambios.
Resumen generado a partir del SKILL.md de la skill.
Sobre la skill commit-message-storyteller
Este SKILL permite escribir mensajes de commit de git narrativos y centrados en la intención a partir de cambios de código en bruto. Los desarrolladores lo utilizan para transformar diffs técnicos en documentación estructurada que sigue la especificación de Conventional Commits. En lugar de simples descripciones, produce mensajes que explican el razonamiento y el contexto detrás de una modificación, facilitando mucho la lectura del historial de versiones para los equipos.
Un agente debería cargar esta herramienta cuando un usuario proporcione un git diff, una lista de archivos modificados o una descripción del trabajo reciente. Analiza la entrada proporcionada para identificar el tipo de commit, como feat, fix o refactor, y construye una línea de asunto, un cuerpo descriptivo y un footer para referencias de issues. Se basa en la salida del diff proporcionado o en descripciones manuales de los cambios para inferir el problema subyacente que se está resolviendo.
Esta herramienta se centra exclusivamente en la generación de mensajes y no ejecuta comandos de git commit. Está diseñada para ayudar a los usuarios a preparar pull requests significativos o a mantener historiales de código abierto limpios, sugiriendo múltiples commits si un solo diff contiene cambios lógicamente separados.
Lo que un agente puede hacer con ella
- 1Generar mensajes desde diffsTransforma un git diff en bruto en un mensaje de commit estructurado que explique la intención.
- 2Identificar tipos de commitMapea los cambios de código a categorías específicas como nuevas funcionalidades, corrección de errores o mejoras de rendimiento.
- 3Documentar breaking changesDetecta y señala automáticamente en el footer las modificaciones que introducen breaking changes.
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-message-storyteller
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-message-storyteller en Claude Code
~/.claude/skills/commit-message-storyteller/SKILL.md
$ npx degit github/awesome-copilot/skills/commit-message-storyteller ~/.claude/skills/commit-message-storytellerInstalar la skill commit-message-storyteller en Claude Code (project)
.claude/skills/commit-message-storyteller/SKILL.md
$ npx degit github/awesome-copilot/skills/commit-message-storyteller .claude/skills/commit-message-storytellerInstalar la skill commit-message-storyteller en Codex
~/.agents/skills/commit-message-storyteller/SKILL.md
$ npx degit github/awesome-copilot/skills/commit-message-storyteller ~/.agents/skills/commit-message-storytellerInstalar la skill commit-message-storyteller en Gemini CLI
~/.gemini/skills/commit-message-storyteller/SKILL.md
$ npx degit github/awesome-copilot/skills/commit-message-storyteller ~/.gemini/skills/commit-message-storytellerInstalar la skill commit-message-storyteller en Claude.ai
npx degit github/awesome-copilot/skills/commit-message-storyteller commit-message-storyteller && zip -r commit-message-storyteller.zip commit-message-storyteller # claude.ai → Customize → Skills → + → Create skill → Upload a skill → commit-message-storyteller.zip
Verificaciones automáticas
Ejecutado 13 nov 2026Informe completo →Superó nuestras comprobaciones automáticas. No es una auditoría de seguridad: lee los scripts antes de dejar que un agente los ejecute. Cómo funcionan las verificaciones
- Repositorio de origen vinculado y accesiblegithub/awesome-copilot/skills/commit-message-storyteller is public and reachablegithub.com/github/awesome-copilot/tree/HEAD/skills/commit-me ↗Aprobado
- Licencia de código abierto (OSI)MITspdx.org/licenses/MIT.html ↗Aprobado
- Commit o lanzamiento en el último añoLast commit 2026-11-11github.com/github/awesome-copilot/commits ↗Aprobado
- Sin descargar y ejecutar ni robo de credenciales en los scriptsNo scripts in the skill folderAprobado
- Sin instrucciones ocultas en SKILL.mdNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/github/awesome-copilot/blob/HEAD/skills/commit-me ↗Aprobado
- Las herramientas preaprobadas están acotadasNo pre-approved tools; the agent asks before using onegithub.com/github/awesome-copilot/blob/HEAD/skills/commit-me ↗Aprobado
SKILL.md
Ver en GitHubCommit Message Storyteller
Transforms raw git diffs and change descriptions into clear, story-driven commit messages that follow the Conventional Commits specification. Instead of "update file.js", you get messages that communicate intent, context, and impact.
When to Use This Skill
- User says "write a commit message"
- User pastes a git diff or describes code changes
- User says "what should I commit this as?" or "summarize my diff"
- User wants better commit history for their team or open-source project
- User is preparing a pull request and wants meaningful commit messages
Prerequisites
Have at least one of the following ready:
- Output from
git difforgit diff --staged - A description of what you changed and why
- A list of modified files
How It Works
Step 1: Gather the Change Context
Ask the user (or infer from the diff) for:
- What changed — files, functions, logic affected
- Why it changed — bug fix, new feature, refactor, performance, etc.
- Who/what triggered it — issue number, user request, tech debt, etc.
If the user provides a raw git diff, extract this context automatically from the diff.
Step 2: Identify the Commit Type
Map the change to a Conventional Commits type using this guide:
| Type | Use When |
|---|---|
feat |
A new feature or capability is added |
fix |
A bug or incorrect behavior is corrected |
refactor |
Code restructured without changing behavior |
perf |
A change that improves performance |
docs |
Documentation only changes |
style |
Formatting, whitespace, missing semicolons (no logic change) |
test |
Adding or updating tests |
build |
Build system or dependency changes |
chore |
Other maintenance that does not change source or tests |
ci |
CI/CD pipeline changes |
revert |
Reverting a previous commit |
See references/conventional-commits-guide.md for detailed examples.
Step 3: Write the Commit Message
Follow this structure:
<type>(<optional scope>): <short imperative summary>
<body — the story: why this change was made, what problem it solves>
<footer — issue refs, breaking change notices>
Rules for Each Part
Subject line (first line):
- Use imperative mood: "add", "fix", "remove" — not "added" or "fixes"
- Max 72 characters
- No period at the end
- Lowercase after the colon
Body (the story):
- Explain the why, not the what (the diff already shows the what)
- Describe the problem that existed before this change
- Mention any alternatives considered if relevant
- Keep lines under 100 characters
- Separate from subject with a blank line
Footer:
- Reference issues:
Closes #123,Fixes #456,Refs #789 - Mark breaking changes:
BREAKING CHANGE: <description>
Step 4: Generate Output
Produce the commit message in a copyable code block, followed by a one-line plain-English explanation of the story you told.
Example output:
fix(auth): prevent token refresh loop on expired sessions
When a user's session expired mid-request, the auth middleware was
triggering a token refresh, which itself failed validation and triggered
another refresh — causing an infinite retry loop that crashed the app.
This adds a recursion guard flag that aborts the refresh cycle if a
refresh is already in progress, returning a clean 401 instead.
Closes #312
Story told: A silent infinite loop on session expiry was crashing the app; this stops the cycle early and returns a clean error.
Multiple Commits from One Diff
If the diff contains logically separate changes, split them into multiple commit messages and tell the user. Use this heuristic:
- Different files with unrelated purposes → likely separate commits
- Same file but distinct concerns (e.g., bug fix + refactor) → suggest splitting
- Everything tightly coupled → one commit is fine
Edge Cases
| Situation | How to Handle |
|---|---|
| User provides no context beyond a diff | Infer type and scope from file names and changed symbols |
| Changes span many files with no clear theme | Ask: "Is this one logical change, or multiple?" |
| Breaking change detected | Add BREAKING CHANGE: footer automatically |
| User says "keep it short" | Omit body, just write a strong subject line |
| No issue number available | Omit the footer entirely |
Quick Reference
# Get your staged diff to paste into Copilot
git diff --staged
# Or get the last uncommitted working tree changes
git diff
See references/conventional-commits-guide.md for type examples and scope guidelines.
Archivos de esta skill
2Preguntas sobre la skill commit-message-storyteller
¿Cómo instalo la skill commit-message-storyteller en Claude Code?
Ejecuta npx degit github/awesome-copilot/skills/commit-message-storyteller ~/.claude/skills/commit-message-storyteller. 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-message-storyteller?
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.
¿Este SKILL realmente ejecuta el comando git commit?
No, solo genera el texto del mensaje. Debes usar un SKILL independiente como git-commit para preparar los archivos y ejecutar el commit.
¿Qué formato sigue el mensaje de commit generado?
El SKILL sigue la especificación de Conventional Commits, incluyendo un tipo, un scope opcional, una línea de asunto, el cuerpo y el footer.