git-commit
// Create atomic commits prepended with emojis
$ git log --oneline --stat
stars:41
forks:8
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namegit-commit
descriptionCreate atomic commits prepended with emojis
Commit
Create atomic commits prepended with emojis using only non-interactive commands.
Process
- Inspect current changes with
git statusandgit --no-pager diff HEAD. - Decide whether the changes should be one commit or several logical commits.
- If multiple logical changes exist, plan and split them into separate commits.
- For each commit:
- Stage only the relevant changes with
git add .... - Review the staged diff (e.g.
git --no-pager diff --cached) to confirm what’s included. - Commit with a message (
git commit -m "…") following the style below.
- Stage only the relevant changes with
- Return the commits to the user.
Style
- Atomic: One concern per commit.
- Split big changes: Separate features, fixes, refactors, docs, etc. when they are independent.
- Subject line:
- Format:
<emoji> <description> - Imperative, present tense (e.g. "Add…", "Fix…").
- Under 72 characters.
- No trailing period.
- Do not add explicit scopes like
feat:,network:,chore:.
- Format:
- Always ensure the commit message accurately reflects the diff.
Splitting Commits
Split into multiple commits when:
- Changes touch unrelated parts of the codebase.
- Different types of work are mixed (feature, fix, refactor, docs, tests, chore).
- Different file types are mixed in a way that’s easier to review separately (e.g. code vs docs).
- The diff is very large and can be broken into smaller, easier-to-review steps.
Examples
- ✨ Add user authentication system
- 🐛 Resolve memory leak in rendering process
- 📝 Update API documentation with new endpoints
- ♻️ Simplify error handling logic in parser
- 🎨 Reorganize component structure for better readability
- 🔥 Remove deprecated legacy code
- 💚 Resolve failing CI pipeline tests
- ♿️ Improve form accessibility for screen readers