name: gitmoji-skill description: Prefixes commit messages and PR titles with an appropriate Gitmoji. Activate when writing or amending commit messages, drafting PR titles, or choosing a Gitmoji for a change.
Gitmoji Commits and PRs
When making a commit, start the commit subject with one Gitmoji that describes the primary intent of the change.
When creating or updating a pull request, start the PR title with one Gitmoji that describes the primary intent of the PR.
Use one of these forms:
<gitmoji> <message>
<gitmoji> (<scope>): <message>
If the repository uses Conventional Commits, the Gitmoji stays first:
<gitmoji> <type>: <message>
<gitmoji> <type>(<scope>): <message>
<gitmoji> <type>!: <message> # breaking change
Examples:
๐ Begin project
๐ Add Gitmoji skill docs
โป๏ธ (parser): simplify token handling
๐ Fix login redirect loop
โ
Add webhook parser tests
โจ feat(search): add invoice filters
๐ฅ feat!: drop Node 18 support
Choosing a Gitmoji
First, check the repository's existing convention. Run:
git log --oneline -20
Also skim CONTRIBUTING.md, .gitmessage, or commit-lint config if present. If the project already has a Gitmoji style (Unicode vs shortcode, position, scope format), follow it exactly.
Otherwise, choose the most specific official Gitmoji for the primary change:
| Change | Gitmoji |
|---|---|
| New feature | โจ |
| Bug fix | ๐ |
| Critical hotfix | ๐๏ธ |
| Documentation | ๐ |
| Tests | โ |
| Refactor | โป๏ธ |
| Improve structure or formatting | ๐จ |
| Performance | โก๏ธ |
| Remove code or files | ๐ฅ |
| Configuration | ๐ง |
| Development scripts | ๐จ |
| CI build system | ๐ท |
| Fix CI build | ๐ |
| Upgrade dependencies | โฌ๏ธ |
| Downgrade dependencies | โฌ๏ธ |
| Add dependency | โ |
| Remove dependency | โ |
| Lint or compiler warnings | ๐จ |
| Security or privacy | ๐ |
| Accessibility | โฟ๏ธ |
| Types | ๐ท๏ธ |
| Move or rename resources | ๐ |
| Work in progress | ๐ง |
| Breaking change | ๐ฅ |
๐จ vs โป๏ธ: use ๐จ for code style and structural changes that don't alter behavior (formatting, import sorting, file organization); use โป๏ธ for behavior-preserving rework that changes implementation (extracting functions, renaming, simplifying logic).
๐ vs ๐๏ธ: use ๐ for ordinary bug fixes; use ๐๏ธ only for critical hotfixes shipped urgently to address production breakage.
If no entry above fits, read references/gitmojis.md (the full official list of 75 Gitmojis) and pick the closest match. If still nothing fits, fall back to โจ for additive work, ๐ for fixes, or โป๏ธ for refactors. Do not invent decorative emoji when an official Gitmoji applies.
Skip ๐ฉ, ๐ป, and ๐ฅ โ these appear in the official list but are not appropriate for agent-authored commits.
Format Rules
- Default to Unicode emoji in commit and PR titles. Use shortcodes (
:sparkles:) only if the repository's existing commits use them. - Keep the subject concise and imperative after the Gitmoji.
- Use exactly one leading Gitmoji.
- Place the Gitmoji on the subject line only. Do not add Gitmojis to the commit body or trailers (e.g.,
Co-Authored-By:,Signed-off-by:). - For mixed changes, choose the dominant intent or split the work into separate commits.
- If a repository convention conflicts with this skill, follow the repository.
Amends, Fixups, and Reverts
git commit --amend: keep the original Gitmoji unless the amend changes the intent (e.g., a typo-fix amend that turns into a feature addition).git commit --fixupandgit commit --squash: do not add a Gitmoji; Git generates thefixup!/squash!subject and it will be squashed away.- Reverts: use
โช๏ธfor explicit reverts. Letgit revertgenerate its defaultRevert "โฆ"subject, then prependโช๏ธif you edit it. - Merges: let
git mergegenerate its default subject; do not add a Gitmoji to auto-generated merge commits.
Pull Requests
Use the same selection rules for PR titles. For a PR with many commits, choose the Gitmoji that best describes the final user-visible or maintainer-visible outcome.
Gitmoji applies to PR titles and commit subjects only โ PR descriptions and commit bodies use the repository's normal template without Gitmojis.
Examples:
โจ Add saved report filters
๐ Fix OAuth callback validation
๐ Document deployment environment variables