code-commit Skill
Erstelle und validiere git commit messages nach der conventionalcommits.org Spezifikation.
- GitHub Stars
- 51
- Dateien
- 1
- Letzter Commit
- 7. Nov. 2026
- Lizenz
- MIT
- Erlaubte Tools
- —
Was macht der code-commit Skill?
code-commit ist ein Agent Skill. Erstelle und validiere git commit messages nach der conventionalcommits.org Spezifikation.
Zusammenfassung erzeugt aus der SKILL.md des Skills.
Über den code-commit skill
Diese Skill ermöglicht es Entwicklern, standardisierte git commit messages nach der conventionalcommits.org Spezifikation zu schreiben. Sie automatisiert den Prozess des Inspecting eines Worktrees, der Analyse von Änderungen und des Entwerfens von Nachrichten, die einen spezifischen Type, Scope und einen imperativen Titel enthalten. Ein Agent sollte dieses Tool laden, sobald ein User erwähnt, Code zu committen, nach dem Erstellen eines Commits fragt oder das Format einer bestehenden Nachricht überprüfen möchte.
Um Genauigkeit zu gewährleisten, nutzt die Skill Commands wie git status, git diff und git log, um den Kontext der Änderungen zu verstehen und etablierte Repository-Patterns zu matchen. Sie identifiziert passende Types wie feat, fix oder refactor und handhabt breaking changes mit der erforderlichen Syntax. Der Prozess beinhaltet eine Safety-Layer, bei der der Agent spezifische Files und Nachrichten zur Freigabe vorschlägt, bevor er git add oder git commit ausführt. Zudem werden Repository commit hooks respektiert und die Erstellung von Pull Requests können an andere spezialisierte Tools delegiert werden.
Was ein agent damit machen kann
- 1Einen neuen Commit generierenEin Agent kann den aktuellen Worktree inspizieren und eine formatierte commit message zur Freigabe durch den User vorschlagen.
- 2Message-Syntax validierenEntwickler können prüfen, ob eine spezifische commit message dem Conventional Commits Standard entspricht.
- 3Breaking Changes identifizierenDie Skill kann Nachrichten so formatieren, dass breaking changes durch spezifische Footer und Symbole klar gekennzeichnet werden.
- 4Staged Changes reviewenDas Tool analysiert Diffs, um sicherzustellen, dass die commit message die tatsächlichen Code-Änderungen präzise beschreibt.
Geschrieben basierend auf dem SKILL.md des skills. Jeder use case wurde gegen ein zitat daraus geprüft.
So installierst du den code-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 code-commit Skill in Plugin installieren
/plugin marketplace add martinffx/atelier /plugin install atelier@atelier
Den code-commit Skill in Claude Code installieren
~/.claude/skills/code-commit/SKILL.md
$ npx degit martinffx/atelier/skills/code-commit ~/.claude/skills/code-commitDen code-commit Skill in Claude Code (project) installieren
.claude/skills/code-commit/SKILL.md
$ npx degit martinffx/atelier/skills/code-commit .claude/skills/code-commitDen code-commit Skill in Codex installieren
~/.agents/skills/code-commit/SKILL.md
$ npx degit martinffx/atelier/skills/code-commit ~/.agents/skills/code-commitDen code-commit Skill in Gemini CLI installieren
~/.gemini/skills/code-commit/SKILL.md
$ npx degit martinffx/atelier/skills/code-commit ~/.gemini/skills/code-commitDen code-commit Skill in Claude.ai installieren
npx degit martinffx/atelier/skills/code-commit code-commit && zip -r code-commit.zip code-commit # claude.ai → Customize → Skills → + → Create skill → Upload a skill → code-commit.zip
SKILL.md
Auf GitHub ansehenConventional Commit Skill
Create coherent, reviewable commits that follow the Conventional Commits specification. Message syntax matters, but the selected changes must tell one clear story too.
Message Format
Every generated commit has a title and body:
<type>(<scope>): <imperative title>
<1-5 lines describing the change and, when useful, its reason or effect>
Use a lowercase scope that identifies the affected component. The title is concise, imperative, lowercase, and has no trailing period. The body is concrete: explain the behavior, motivation, or important implementation decision rather than restating the title.
| Type | Use for |
|---|---|
feat |
New user-facing capability |
fix |
Corrected behavior |
docs |
Documentation only |
style |
Formatting only |
refactor |
Restructuring without behavior change |
test |
Tests only |
chore |
Maintenance or tooling |
perf |
Performance improvement |
ci |
Continuous integration configuration |
build |
Build system or dependencies |
revert |
Reverting a prior commit |
Breaking changes may use ! after the type or scope, a BREAKING CHANGE: footer, or both.
Include issue footers such as Closes #123 only when the issue is known.
Create a Commit
When the user asks to commit, first inspect the complete worktree:
- Run
git status --short. - Read both
git diff --cachedandgit diffso pre-staged work is not mistaken for the entire change. - List untracked files with
git ls-files --others --exclude-standardand inspect relevant ones. - Read recent subjects with
git log --oneline -10to match established scopes and wording. - Flag likely secrets, credentials, local configuration, or generated output. Do not stage them without explicit direction.
Decide Whether to Split
Default to one commit containing all intended, related changes. Look for an obvious file-level split only when changes are independent and each group can stand alone.
Keep these together:
- Implementation and its tests.
- Documentation that describes the same change.
- Dependency manifests and their lockfiles.
Do not invent a split for adjacent work, use hunk-level staging, or force the user to reorganize a coherent change. If an obvious split exists, propose each commit with its files and full message, then ask once for approval. If not, propose one commit.
Approve, Stage, Commit
Before making any write, show:
- The files in each proposed commit.
- The full title and 1-5 line body for each commit.
- Any excluded files and why they are excluded.
Ask for approval unless the user explicitly authorizes committing immediately. After
approval, stage only the files for the approved commit with git add -- <paths> and
inspect git diff --cached --name-status and git diff --cached again. If the staged snapshot
contains any unapproved file, stop and ask how to handle it. Then commit with the proposed title
and body. Do not amend, rebase, push, or include unapproved files.
Repository commit hooks are the final message validation when configured. Never bypass a failing hook. Report the commit hash on success; report the error and leave changes intact on failure.
Validate a Commit Message
When the user asks to validate a message, check:
- It follows
type(scope): imperative title. - The type is listed above and the scope is lowercase.
- The title is lowercase, imperative, concise, and has no trailing period.
- A body follows after a blank line and contains 1-5 meaningful lines.
- Breaking changes use both
!and aBREAKING CHANGE:footer.
Return specific corrections and a revised message. When the repository configures commitlint, use it as the authoritative validation rule.
Delegated: Pull Request Creation
If the user wants to create a PR after committing, invoke the
code-pull-request skill. It detects the platform
(GitHub/GitLab), finds a template, generates the body, and opens the PR via gh
or glab.
Input Methods
| Input | Action |
|---|---|
| User says "commit" or "git commit" | Inspect the worktree, propose coherent commit(s), then commit after approval |
| User says "validate commit" | Check the commit message format |
| User pastes commit message | Validate the provided message |
Error Handling
- If there are no changes: report that there is nothing to commit.
- If Git is not initialized: report it; do not initialize a repository unless asked.
- If a commit fails: show the error, preserve the worktree, and do not bypass hooks.
Examples
Input: "I fixed the login bug" Output:
fix(auth): resolve login timeout issue
Correct token expiry calculation so active users are not logged out after five minutes.
Input: "I added a new API endpoint for users" Output:
feat(api): add user profile endpoint
Expose name, email, and avatar URL from `GET /users/:id`.
Closes #89
Input: "I changed the auth API, this breaks old clients" Output:
feat(auth)!: change token validation endpoint
Require a Bearer token on `/auth/verify` instead of a query parameter.
BREAKING CHANGE: Clients must update to send
Authorization header with Bearer token.
Dateien in diesem Skill
1code-commit Skill-Fragen
Wie installiere ich den code-commit Skill in Claude Code?
Führe npx degit martinffx/atelier/skills/code-commit ~/.claude/skills/code-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 code-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.
Welches Format ist für eine conventional commit message erforderlich?
Das Format besteht aus einem Type und einem optionalen Scope, gefolgt von einem imperativen Titel sowie einem optionalen Body von 1-5 Zeilen.
Wie werden breaking changes in einer commit message angezeigt?
Breaking changes können durch ein Ausrufezeichen nach dem Type oder Scope, durch einen 'BREAKING CHANGE:' Footer oder durch beides angezeigt werden.
Welche Schritte führt der Agent vor dem Committen des Codes aus?
Der Agent inspiziert den Worktree mit git status, liest Diffs, listet untracked files auf, prüft die letzten Logs und markiert potenzielle Secrets.