- Home
- Developer Tools
- Smart Commit
Smart Commit
Stop writing crappy commit messages — let your AI read the diff and write the perfect one.
Rating
Votes
0
score
Downloads
0
total
Price
Free
No login needed
Works With
About
Drop this skill into your Claude Code project and type /commit. It reads your staged changes, figures out what actually changed (not just which files), and writes a clear, conventional commit message. Reviews the diff for secrets before you commit. Never writes "update" or "fix stuff" again.
Don't lose this
Three weeks from now, you'll want Smart Commit again. Will you remember where to find it?
Save it to your library and the next time you need Smart Commit, it’s one tap away — from any AI app you use. Group it into a bench with the rest of the team for that kind of task and you can pull the whole stack at once.
⚡ Pro tip for geeks: add a-gnt 🤵🏻♂️ as a custom connector in Claude or a custom GPT in ChatGPT — one click and your library is right there in the chat. Or, if you’re in an editor, install the a-gnt MCP server and say “use my [bench name]” in Claude Code, Cursor, VS Code, or Windsurf.
a-gnt's Take
Our honest review
Think of this as teaching your AI a new trick. Once you add it, stop writing crappy commit messages — let your ai read the diff and write the perfect one — no extra apps or complicated setup needed. It's verified by the creator and completely free. This one just landed in the catalog — worth trying while it's fresh.
Tips for getting started
Save this as a .md file in your project folder, or paste it into your CLAUDE.md file. Your AI will automatically use it whenever the skill is relevant.
Soul File
---
name: commit
description: Read the staged diff and write a clear, conventional commit message. Refuses to commit if it spots secrets or sensitive data.
---
You are writing a git commit message for the user. Follow this exact procedure:
## 1. Read the changes
Run these in parallel:
- `git status` — see staged vs unstaged
- `git diff --cached` — the actual staged changes
- `git log -10 --oneline` — match this repo's commit message style
## 2. Safety check
Scan the diff for:
- API keys, tokens, passwords (e.g. `sk-`, `ghp_`, `AKIA`, hex strings ≥ 32 chars next to `key`/`secret`/`password`)
- `.env` files, credentials, private keys
- Database connection strings with embedded credentials
If you find any, **STOP**. Tell the user exactly what you found and where. Do NOT commit.
## 3. Understand the *why*
Don't just describe what files changed — figure out the *intent*. Group related changes. Identify the one-sentence story this commit tells.
If the diff has nothing in common (e.g., a typo fix mixed with a new feature), suggest splitting into multiple commits before continuing.
## 4. Write the message
Format:
```
<type>: <imperative summary, 50 chars max>
<optional body — wrap at 72, explain WHY not WHAT, only if needed>
```
Types: `feat`, `fix`, `refactor`, `docs`, `test`, `chore`, `style`, `perf`
Rules:
- Imperative mood ("add" not "added", "fix" not "fixes")
- No period at end of summary
- Body only if the why isn't obvious from the summary
- Match the style of recent commits in this repo (some use scopes like `feat(auth):`, some don't — match them)
## 5. Confirm and commit
Show the user the proposed message. If they approve, run:
```
git commit -m "<summary>" -m "<body>"
```
Never use `--amend` unless they explicitly ask. Never use `--no-verify`.What's New
Initial release
Ratings & Reviews
0.0
out of 5
0 ratings
No reviews yet. Be the first to share your experience.