commit-message-storyteller Skill
✓ VerifiziertErstellt narrative, story-basierte git commit messages nach der Conventional Commits Spezifikation basierend auf Code-Diffs oder Beschreibungen von Änderungen.
- GitHub Stars
- 41.038
- Dateien
- 2
- Letzter Commit
- 11. Nov. 2026
- Lizenz
- MIT
- Erlaubte Tools
- —
Was macht der commit-message-storyteller Skill?
commit-message-storyteller ist ein Agent Skill. Erstellt narrative, story-basierte git commit messages nach der Conventional Commits Spezifikation basierend auf Code-Diffs oder Beschreibungen von Änderungen.
Zusammenfassung erzeugt aus der SKILL.md des Skills.
Über den commit-message-storyteller skill
Dieser Skill ermöglicht es dir, narrative und absichtsorientierte git commit messages aus rohen Code-Änderungen zu schreiben. Entwickler nutzen ihn, um technische Diffs in eine strukturierte Dokumentation zu verwandeln, die der Conventional Commits Spezifikation entspricht. Statt einfacher Beschreibungen erstellt er Nachrichten, die die Logik und den Kontext hinter einer Änderung erklären, was die Versionshistorie für Teams deutlich lesbarer macht.
Ein Agent sollte dieses Tool laden, wenn ein User einen git diff, eine Liste modifizierter Dateien oder eine Beschreibung der letzten Arbeit bereitstellt. Das Tool analysiert den Input, um den Commit-Typ wie feat, fix oder refactor zu identifizieren und konstruiert eine Subject Line, einen beschreibenden Body sowie einen Footer für Issue-Referenzen. Es nutzt den bereitgestellten Diff-Output oder manuelle Beschreibungen, um das zugrunde liegende Problem zu erschließen.
Dieses Tool konzentriert sich rein auf die Generierung von Nachrichten und führt keine git commit Befehle aus. Es ist darauf ausgelegt, dir dabei zu helfen, sinnvolle Pull Requests vorzubereiten oder saubere Open-Source-Historien zu pflegen, indem es mehrere Commits vorschlägt, falls ein einzelner Diff logisch getrennte Änderungen enthält.
Was ein agent damit machen kann
- 1Messages aus Diffs generierenTransformiere einen rohen git diff in eine strukturierte Commit Message, die die Intention erklärt.
- 2Commit-Typen identifizierenOrdne Code-Änderungen spezifischen Kategorien wie Features, Bugfixes oder Performance-Verbesserungen zu.
- 3Breaking Changes dokumentierenErkenne und markiere Modifikationen, die breaking changes einführen, automatisch im Footer.
Geschrieben basierend auf dem SKILL.md des skills. Jeder use case wurde gegen ein zitat daraus geprüft.
So installierst du den commit-message-storyteller Skill
Jeder Befehl kopiert den Skill-Ordner in das Skills-Verzeichnis des Clients. Starte den Client neu oder beginne eine neue Session, um ihn zu laden.Den commit-message-storyteller Skill in Claude Code installieren
~/.claude/skills/commit-message-storyteller/SKILL.md
$ npx degit github/awesome-copilot/skills/commit-message-storyteller ~/.claude/skills/commit-message-storytellerDen commit-message-storyteller Skill in Claude Code (project) installieren
.claude/skills/commit-message-storyteller/SKILL.md
$ npx degit github/awesome-copilot/skills/commit-message-storyteller .claude/skills/commit-message-storytellerDen commit-message-storyteller Skill in Codex installieren
~/.agents/skills/commit-message-storyteller/SKILL.md
$ npx degit github/awesome-copilot/skills/commit-message-storyteller ~/.agents/skills/commit-message-storytellerDen commit-message-storyteller Skill in Gemini CLI installieren
~/.gemini/skills/commit-message-storyteller/SKILL.md
$ npx degit github/awesome-copilot/skills/commit-message-storyteller ~/.gemini/skills/commit-message-storytellerDen commit-message-storyteller Skill in Claude.ai installieren
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
Automatisierte Checks
Geluften am 13. Nov. 2026Vollständiger Bericht →Hat unsere automatischen Prüfungen bestanden. Das ist kein Sicherheitsaudit: Lesen Sie die Skripte, bevor ein Agent sie ausführt. Wie die Checks funktionieren
- Source Repository verknüpft und erreichbargithub/awesome-copilot/skills/commit-message-storyteller is public and reachablegithub.com/github/awesome-copilot/tree/HEAD/skills/commit-me ↗Bestanden
- Open Source Lizenz (OSI)MITspdx.org/licenses/MIT.html ↗Bestanden
- Commit oder Release im letzten JahrLast commit 2026-11-11github.com/github/awesome-copilot/commits ↗Bestanden
- Keine Download-und-Ausführen-Muster oder Zugangsdatendiebstahl in SkriptenNo scripts in the skill folderBestanden
- Keine versteckten Anweisungen in SKILL.mdNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/github/awesome-copilot/blob/HEAD/skills/commit-me ↗Bestanden
- Vorab erlaubte Tools sind eingeschränktNo pre-approved tools; the agent asks before using onegithub.com/github/awesome-copilot/blob/HEAD/skills/commit-me ↗Bestanden
SKILL.md
Auf GitHub ansehenCommit 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.
Dateien in diesem Skill
2commit-message-storyteller Skill-Fragen
Wie installiere ich den commit-message-storyteller Skill in Claude Code?
Führe npx degit github/awesome-copilot/skills/commit-message-storyteller ~/.claude/skills/commit-message-storyteller aus. Claude Code lädt Skills aus ~/.claude/skills (alle Projekte) oder .claude/skills (ein Projekt) und nutzt einen Skill, wenn seine Beschreibung zur Aufgabe passt.
Welche Clients können den commit-message-storyteller Skill nutzen?
Jeder Client, der das Agent Skills-Format liest: Claude Code, Codex, Gemini CLI und claude.ai (als ZIP hochladen). Skripte im Skill laufen nur dort, wo der Client Codeausführung erlaubt.
Führt dieser Skill den git commit Befehl tatsächlich aus?
Nein, er generiert nur den Nachrichtentext. Du musst einen separaten Skill wie git-commit verwenden, um Dateien zu stagen und den Commit auszuführen.
Welchem Format folgt die generierte Commit Message?
Der Skill folgt der Conventional Commits Spezifikation, inklusive Type, optionalem Scope, Subject Line, Body und Footer.