Git Commit Generator
SkillCommunicationGenerate clear, standardized git commit messages based on code changes (diffs), following Conventional Commits specification.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Git Commit Generator skill
What this skill tells your AI
The instructions your AI receives, as published by trae-community/trae-skills in skills/git-commit-generator/SKILL.md and read by ahel’s review.
Description
This skill analyzes code changes (git diffs) and generates semantic, structured commit messages. It ensures that commit messages are concise, descriptive, and follow the Conventional Commits standard (e.g., feat:, fix:, docs:).
Usage Scenario
Trigger this skill when:
- The user asks to "write a commit message" or "generate a commit".
- The user asks "what did I change?" and expects a summary suitable for a commit.
- You need to propose a commit message for a set of changes you just made.
Instructions
-
Analyze the Changes:
- Read the provided
git diffor the changes in the current context. - Identify the scope of changes (e.g., specific component, file, or module).
- Determine the type of change: Refer to
resources/conventional-commits-types.mdfor the strict definition of types (feat, fix, docs, etc.).
- Read the provided
-
Formulate the Commit Message:
- Follow the structure defined in
templates/commit-message.txt. - Subject Line:
- Format:
<type>(<scope>): <subject> - Use imperative mood ("add" not "added", "change" not "changes").
- No period at the end.
- Keep it under 50 characters if possible.
- Format:
- Body (Optional but recommended for non-trivial changes):
- Separate from subject with a blank line.
- Explain what and why vs. how.
- Use bullet points for multiple changes.
- Follow the structure defined in
-
Output Format:
- Provide the commit message in a code block.
- If there are multiple logical changes, suggest splitting them into multiple commits or provide alternative messages.
Examples
Example 1: Simple Documentation Update
Input: User: "Write a commit message for these changes." Diff:
diff --git a/README.md b/README.md
index 431f2eb..e727fe1 100644
--- a/README.md
+++ b/README.md
@@ -10,6 +10,6 @@
## Quickstart
-1. Clone the repo.
+1. Clone this repository.
Output:
docs: update quickstart instructions in README
Refine the cloning step for better clarity.
Example 2: Feature with multiple files
Input:
User: "Commit these changes for the login button."
Diff shows changes in src/components/Button.tsx (added isLoading prop) and src/views/Login.tsx (passed loading state).
Output:
feat(auth): add loading state to login button
- Add `isLoading` prop to Button component to support visual feedback
- Connect login form submission state to Button in Login view
- Prevent double submission while request is in progress
Signals
- GitHub stars
- 20
- Forks
- 24
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
git-commit-generator- Source
- github.com/trae-community/trae-skills