commit-message

Generate Git commit messages following the Gitmoji convention with scoped imperative descriptions.

Updated Jun 23, 2024
One-click install
npx skills add https://github.com/lifeich1/nixcf --skill commit-message-lifeich1
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: commit-message
Source: https://github.com/lifeich1/nixcf/tree/main/.agents/skills/commit-message
Command: npx skills add https://github.com/lifeich1/nixcf --skill commit-message-lifeich1

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing consistent, meaningful commit messages is hard to sustain across a project. This Skill encodes a proven Gitmoji-based convention distilled from 483 real commits, so every message follows the same emoji-plus-imperative format without guesswork. ## Core Features & Use Cases - Gitmoji Selection: Maps 40+ gitmoji codes (e.g., :sparkles:, :bug:, :recycle:, :arrow_up:) to semantic change types like features, fixes, refactors, and dependency upgrades. - Message Formatting Rules: Enforces imperative mood, lowercase start, no trailing punctuation, 50-character limit, optional scope prefixes (e.g., nvim:, gtr7:), and multi-emoji composition for compound changes. - Special Cases: Covers merge commits, reverts, WIP commits with TODO bodies, and initial commits. - Use Case: After staging changes that fix a Neovim LSP bug, ask for a commit message and receive :bug: nvim: fix lsp attach error following the exact project convention. ## Quick Start Ask the assistant to write a commit message for your staged changes using the Gitmoji convention from this repository.

Frequently Asked Questions about commit-message

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write a Gitmoji commit message?▼

Start with a gitmoji code matching the change type (e.g., :sparkles: for features, :bug: for fixes), followed by a space and a lowercase imperative description under 50 characters with no trailing period.

Which gitmoji should I use for dependency updates?▼

Use :arrow_up: for dependency upgrades and lock file updates, :arrow_down: for downgrades, :heavy_plus_sign: for adding a new dependency, and :heavy_minus_sign: for removing one.

Can a commit message use multiple gitmoji codes?▼

Yes. When one commit spans multiple dimensions, chain emojis before the description, such as `:hammer: :bug: fix switch to test branch` for a tooling change that also fixes a bug.

How do I format a commit message with a scope or component?▼

Place the scope after the emoji using a colon separator, like `:wrench: nvim: silent bell` or `:recycle: zsh: split config`. Scopes can be module names, hostnames, or tool names.

When should a commit message include a body?▼

Add a body for complex or unfinished work, separated from the subject by a blank line. Bodies typically use bullet lists, such as TODO items for work-in-progress commits marked with :construction:.