git-commit Skill
scriptsErstellt Conventional Commit Messages aus Diffs und führt Git Commits aus.
- GitHub Stars
- 8
- Dateien
- 4
- Letzter Commit
- 28. Okt. 2026
- Lizenz
- MIT
- Erlaubte Tools
- —
Was macht der git-commit Skill?
git-commit ist ein Agent Skill. Erstellt Conventional Commit Messages aus Diffs und führt Git Commits aus.
Zusammenfassung erzeugt aus der SKILL.md des Skills.
Über den git-commit skill
Dieses Skill ermöglicht es Entwicklern in terminalbasierten Umgebungen, die Erstellung standardisierter Commit Messages zu automatisieren und Git Commits auszuführen. Wenn ein Agent Änderungen staggen oder eine Code-Modifikation abschließen muss, lädt er dieses Tool, um gestaggte oder unstaggte Diffs zu analysieren. Es erstellt Conventional Commit Messages gemäß der conventionalcommits.org Spezifikation und stellt sicher, dass jeder Eintrag einen Typ, einen optionalen Scope und eine imperative Beschreibung enthält.
Der Prozess basiert auf dem Auslesen von git status und git diff, um sicherzustellen, dass die Nachricht die tatsächlichen Code-Änderungen präzise widerspiegelt, anstatt Annahmen zu treffen. Er beinhaltet einen Pre-Commit-Linting-Mechanismus, der projektspezifische Linter wie npm, ruff, flake8 oder golangci-lint automatisch erkennt und ausführt, um Commits zu blockieren, die die Qualitätsprüfungen nicht bestehen. Dieses Tool ist speziell für Standard-Development-Commits konzipiert und sollte nicht für das Erstellen von Release-Commits oder das Verwalten von Branch-Finish-Workflows verwendet werden.
Was ein agent damit machen kann
- 1Conventional Commit Messages generierenEin AI Agent kann eine strukturierte Commit Message basierend auf den spezifischen Änderungen in einem Code-Diff schreiben.
- 2Breaking Changes korrekt handhabenEntwickler können das Tool nutzen, um Breaking Changes automatisch mit dem erforderlichen Ausrufezeichen und Footer zu formatieren.
- 3Gemischte Änderungen in Commits organisierenDer Agent kann erkennen, wenn ein Diff nicht zusammenhängende Themen enthält, und vorschlagen, diese in separate Commits aufzuteilen.
Geschrieben basierend auf dem SKILL.md des skills. Jeder use case wurde gegen ein zitat daraus geprüft.
So installierst du den git-commit 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 git-commit Skill in Plugin installieren
/plugin marketplace add mgiovani/cc-arsenal /plugin install cc-arsenal@cc-arsenal-marketplace
Den git-commit Skill in Claude Code installieren
~/.claude/skills/git-commit/SKILL.md
$ npx degit mgiovani/cc-arsenal/skills/git-commit ~/.claude/skills/git-commitDen git-commit Skill in Claude Code (project) installieren
.claude/skills/git-commit/SKILL.md
$ npx degit mgiovani/cc-arsenal/skills/git-commit .claude/skills/git-commitDen git-commit Skill in Codex installieren
~/.agents/skills/git-commit/SKILL.md
$ npx degit mgiovani/cc-arsenal/skills/git-commit ~/.agents/skills/git-commitDen git-commit Skill in Gemini CLI installieren
~/.gemini/skills/git-commit/SKILL.md
$ npx degit mgiovani/cc-arsenal/skills/git-commit ~/.gemini/skills/git-commitDen git-commit Skill in Claude.ai installieren
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
Auf GitHub ansehenGit 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.
Dateien in diesem Skill
4git-commit Skill-Fragen
Wie installiere ich den git-commit Skill in Claude Code?
Führe npx degit mgiovani/cc-arsenal/skills/git-commit ~/.claude/skills/git-commit 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 git-commit 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.
Was passiert, wenn im Projekt ein Linter konfiguriert ist?
Ein PreToolUse Hook wird vor dem Commit ausgeführt, um den Linter des Projekts zu erkennen. Falls das Linting fehlschlägt, wird der Commit blockiert.
Wie gehe ich mit einem Diff um, der mehrere nicht zusammenhängende Änderungen enthält?
Du solltest die Änderungen in separate Commits aufteilen, indem du jede Gruppe von Änderungen einzeln mit git add <files> staggst und sie nacheinander committest.
Wie sieht das Format für einen Breaking Change Commit aus?
Bei Breaking Changes solltest du ein Ausrufezeichen nach dem Scope anhängen und einen 'BREAKING CHANGE: ...' Footer hinzufügen.