nstarman/cz-gitmoji-action/gitmoji-commit

Claude Code and agent skill by nstarman/cz-gitmoji-action

Trust tier 3
  • community
  • ext:[{"type":"hook","description":"Pre/post lifecycle hooks"}]
Source check pending

Checking that the SKILL.md file is still in the repository.

Commit staged changes using cz_gitmoji format. Use when: staging is done and ready to commit, make a commit, commit these changes, ready to commit, write a commit message, commit staged changes.

Install

npx vskill@latest install nstarman/cz-gitmoji-action/gitmoji-commit

Semi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard

SKILL.md

Gitmoji Commit

When to Use

Load this skill when the user says any of:

  • "I have staged changes, commit them"
  • "ready to commit"
  • "make a commit"
  • "commit these changes"
  • "write a commit message"
  • "commit staged changes"

Commit Format

{icon} {type}({scope}): {subject}
{body}

Or, when scope is omitted:

{icon} {type}: {subject}
{body}

Example: ✨ feat(parser): add streaming tokenizer

  • Scope is optional. Omit parentheses if no clear module scope.
  • There IS a space between icon and type: prefix is "{icon} {type}" (e.g. "✨ feat").
  • Subject: imperative mood, lowercase, no trailing period, ≤72 chars.
  • Body: explain _why_, not _what_. Optional but recommended for non-trivial changes.

Procedure

Step 0 — Sync the gitmoji type reference when needed

Use this step when the user asks to refresh the type reference, or before committing if the plugin version may have changed.

  1. Check whether the reference is stale:
bash
uv run --group dev python .github/skills/gitmoji-commit/scripts/update_types_reference.py --check
  1. If the check reports stale output, regenerate the reference file and version metadata:
bash
uv run --group dev python .github/skills/gitmoji-commit/scripts/update_types_reference.py --write
  1. This update process keeps the full type reference aligned with:
  • dependency-groups.dev in pyproject.toml (required specifier)
  • uv.lock (locked concrete version)
  • the installed cz-conventional-gitmoji metadata used to generate the table
Step 1 — Inspect staged changes

Run both commands to understand what's staged:

bash
git diff --staged --stat
git diff --staged
Step 2 — Choose type and scope

Use the full type reference to pick the most specific type.

Quick-pick (most common):

IconTypeWhen
✨featNew public API, new class, new function
🐛fixBug fix, wrong result
🩹fix-simpleNon-critical fix (typo in code, minor correction)
📝docsDocstrings, README, guides, tutorials
💬textUpdate text/literals in existing docs (not structural)
♻️refactorInternal restructure, no behaviour change
✅testAdd or update tests
🧹choreMiscellaneous maintenance
🔧configpyproject.toml, noxfile, pre-commit, config files
💚ciGitHub Actions, CI workflows
👷buildBuild system changes
⬆️dep-bumpUpgrade dependencies
➕dep-addAdd a dependency
➖dep-rmRemove a dependency
🏷️typesType annotations only
🗑️deprecationMark something deprecated
⚰️deadRemove dead/unused code
💥boomBreaking change
🔨scriptScripts in scripts/ directory
🧱infraInfrastructure (packaging, workspace setup)
🧑‍💻devxpDeveloper experience improvements

Scope = the module, package, or subsystem being changed. Use the natural name of whatever you're modifying (e.g. parser, auth, tests, docs, ci). Omit scope if the change spans multiple unrelated modules.

Step 3 — Write the message

Construct:

  • Subject line (with scope): {icon} {type}({scope}): {short imperative description}
  • Subject line (without scope): {icon} {type}: {short imperative description}
  • Body (if needed): one paragraph explaining _why_ the change was made, not _what_ changed (git diff shows what).
Step 4 — Execute the commit

With scope:

bash
git commit -m "{icon} {type}({scope}): {subject}" -m "{body}"

Without scope:

bash
git commit -m "{icon} {type}: {subject}" -m "{body}"

Omit the second -m if no body is needed.

Do NOT use cz commit — it requires interactive input via arrow-key selection.

Step 5 — Confirm

Show the user the result of git log --oneline -1 to confirm the commit was recorded correctly.

Notes

  • Never stage additional files; only commit what's already staged.
  • If git diff --staged returns nothing, tell the user nothing is staged.
  • For breaking changes, append ! after the type+scope: 💥 boom(api)!: remove deprecated endpoint
  • The body should be plain prose, no markdown bullets (keep it simple for git log readability).

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Extension points

  • hookPre/post lifecycle hooks

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/nstarman/cz-gitmoji-action/gitmoji-commit/badge)](https://verified-skill.com/skills/nstarman/cz-gitmoji-action/gitmoji-commit)

Something wrong with this skill or its page? Tell us.