Agent skill

Conventional Commit Message Writer

by TheDecipherist in TheDecipherist/claude-code-mastery

Writes clear, Conventional-Commits-formatted commit messages by analyzing staged changes, their type and scope.

MITAuto-check passedDevelopment

Install Conventional Commit Message Writer

skills CLI
$ npx skills add TheDecipherist/claude-code-mastery --skill commit-messages -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install TheDecipherist/claude-code-mastery commit-messages --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/TheDecipherist/claude-code-mastery.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/commit-messages .claude/skills/commit-messages && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
commit-messages
GitHub stars
550
Token cost
~878 tokens
SKILL.md length
317 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Writes clear, Conventional-Commits-formatted commit messages by analyzing staged changes, their type and scope.

  • Works in 4 steps: Analyze changes: Run git diff --staged… → Identify the type: Determine the primary… → Find the scope: Identify the main area… → …
  • Writing a commit message for currently staged changes
  • SKILL.md covers When to Use This Skill, Process, Commit Message Format and Examples, plus 1 more section
  • Calls git

What it does

This skill triggers whenever the user asks to commit, write a commit message, or prepare a commit, or mentions commits while changes are staged. It runs a staged diff check to see exactly what is being committed, identifies the primary change category from a fixed list - feat, fix, docs, style, refactor, perf, test, build, ci, chore, or revert - and names the main area affected as the scope, such as auth, api, db, or a feature name, omitting the scope when the change is broad.

The subject line follows fixed rules: imperative mood, no capital letter after the colon, no trailing period, and a 72-character cap on the whole line. A body is added when needed, separated from the subject by a blank line, wrapped at 72 characters, explaining what changed and why rather than how, with bullet points for multiple changes; a footer can add a breaking-change note or reference an issue to close or merely link.

Worked examples cover a simple feature commit and a bug fix that closes an issue, both following the same type-scope-description format throughout the subject, body and footer.

When your agent uses it

  • Writing a commit message for currently staged changes
  • Preparing a release commit with a clear, conventional message
  • Choosing the right type and scope for a commit

Example prompts

  • “Write a commit message for my staged changes.”
  • “Prepare a commit for this bug fix that closes issue 123.”
  • “What scope should this refactor commit use?”

Requirements

  • git

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Analyze changes: Run git diff --staged to see what's being committed
  2. Identify the type: Determine the primary change category
  3. Find the scope: Identify the main area affected
  4. Write the message: Follow the format below

What it can do on your machine

Read from SKILL.md and the folder at commit 0f05fa1. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Conventional Commit Message Writer loads about 878 tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 317 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~40
When it runs · the whole SKILL.md, loaded when a task matches
~878

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from TheDecipherist/claude-code-mastery at commit 0f05fa1, republished under its MIT licence (© TheDecipherist). 317 words, ~878 tokens.

Download SKILL.mdSave it as .claude/skills/commit-messages/SKILL.md (or your agent's skills folder).
name
commit-messages
description
Generate clear, conventional commit messages from git diffs. Use when writing commit messages, reviewing staged changes, or preparing releases.

Commit Message Skill

Generate consistent, informative commit messages following the Conventional Commits specification.

When to Use This Skill

  • User asks to "commit", "write a commit message", or "prepare commit"
  • User has staged changes and mentions commits
  • Before any git commit command

Process

  1. Analyze changes: Run git diff --staged to see what's being committed
  2. Identify the type: Determine the primary change category
  3. Find the scope: Identify the main area affected
  4. Write the message: Follow the format below

Commit Message Format

<type>(<scope>): <description>

[optional body]

[optional footer(s)]
Types
TypeDescriptionExample
featNew featurefeat(auth): add OAuth2 login
fixBug fixfix(api): handle null response
docsDocumentation onlydocs(readme): add setup instructions
styleFormatting, no code changestyle: fix indentation
refactorCode change, no new feature/fixrefactor(db): extract query builder
perfPerformance improvementperf(search): add result caching
testAdding/fixing teststest(auth): add login unit tests
buildBuild system changesbuild: update webpack config
ciCI configurationci: add GitHub Actions workflow
choreMaintenance taskschore(deps): update dependencies
revertRevert previous commitrevert: feat(auth): add OAuth2
Scope

The scope should be a noun describing the section of the codebase:

  • auth, api, db, ui, config
  • Feature names: search, checkout, dashboard
  • Or omit if change is broad
Subject Line Rules
  • Use imperative mood: "add" not "added" or "adds"
  • Don't capitalize first letter after colon
  • No period at the end
  • Max 72 characters total
Body (when needed)
  • Separate from subject with blank line
  • Explain what and why, not how
  • Wrap at 72 characters
  • Use bullet points for multiple changes
  • BREAKING CHANGE: for breaking changes
  • Fixes #123 to close issues
  • Refs #456 to reference without closing

Examples

Simple feature
feat(search): add fuzzy matching support

Implement Levenshtein distance algorithm for typo tolerance
in search queries. Configurable via FUZZY_THRESHOLD env var.
Bug fix with issue reference
fix(cart): prevent duplicate items on rapid clicks

Add debounce to add-to-cart button and check for existing
items before insertion.

Fixes #234
Breaking change
feat(api)!: change response format to JSON:API

BREAKING CHANGE: API responses now follow JSON:API spec.
All clients need to update their parsers.

- Wrap data in `data` object
- Move metadata to `meta` object  
- Add `links` for pagination
refactor(auth): consolidate authentication logic

- Extract JWT handling to dedicated service
- Move session management from controller to middleware
- Add refresh token rotation

This prepares for the upcoming OAuth2 integration.

Output

When generating a commit message:

  1. Show the staged changes summary
  2. Propose the commit message
  3. Explain the type/scope choice if non-obvious
  4. Ask if the user wants to proceed or modify

© TheDecipherist, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/commit-messages of TheDecipherist/claude-code-mastery.

Open the folder on GitHubat commit 0f05fa1

Compare with similar skills

Conventional Commit Message Writer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Conventional Commit Message Writer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Conventional Commit Message Writer this skillTheDecipherist/claude-code-mastery550—~878Automated safety check: PassMIT
React Router Release Notes Prepremix-run/react-router57k—~1.1kAutomated safety check: PassMIT
ToolJet Multi-Repo CommitToolJet/ToolJet41k—~1.3kAutomated safety check: PassAGPL-3.0
Git Workflow and Versioningaddyosmani/agent-skills102k2 repos~3.5kAutomated safety check: NotesMIT
React Router Pull Request Creatorremix-run/react-router57k—~2.5kAutomated safety check: PassMIT
Verdaccio Pull Request Workflowverdaccio/verdaccio18k—~1.9kAutomated safety check: PassMIT

Similar skills

  • React Router Release Notes Prep

    remix-run/react-router

    Polishes pending React Router change files before the versioning scripts run, and decides whether a long-form What's Changed section is warranted.

    57k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Commits changes across ToolJet's root repo and its server/ee and frontend/ee submodules, writing messages from the diffs and updating submodule pointers in order.

    41k GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Git Workflow and Versioning

    addyosmani/agent-skills

    Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.

    102k GitHub starsUsed in 2 repos~3.5k tokens
    DevelopmentAuto-check: notes
  • React Router Pull Request Creator

    remix-run/react-router

    Packages finished React Router work into a draft pull request: branch, commit, push, a written PR body and the right GitHub labels.

    57k GitHub stars~2.5k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.

    18k GitHub stars~1.9k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Commits changes in the Saleor codebase and works through pre-commit hook failures from ruff, mypy, the GraphQL schema check and the migrations check.

    23k GitHub stars~575 tokensUpdated yesterday
    DevelopmentAuto-check passed

More from TheDecipherist/claude-code-mastery

  • Security Audit

    TheDecipherist/claude-code-mastery

    Checks a codebase for hardcoded secrets, vulnerable dependencies, weak input handling, weak authentication and unsafe transport settings before deployment or merge.

    550 GitHub stars~1.3k tokensUpdated 5 mo ago
    Auto-check: notes

Works with

Categories

Questions about Conventional Commit Message Writer

What does Conventional Commit Message Writer do?

Writes clear, Conventional-Commits-formatted commit messages by analyzing staged changes, their type and scope. This skill triggers whenever the user asks to commit, write a commit message, or prepare a commit, or mentions commits while changes are staged. It runs a staged diff check to see exactly what is being committed, identifies the primary change category from a fixed list - feat, fix, docs, style, refactor, perf, test, build, ci, chore, or revert - and names the main area affected as the scope, such as auth, api, db, or a feature name, omitting the scope when the change is broad.

When should I use Conventional Commit Message Writer?

Conventional Commit Message Writer fits situations like: writing a commit message for currently staged changes; preparing a release commit with a clear, conventional message; choosing the right type and scope for a commit.

How do I install Conventional Commit Message Writer in Claude Code?

Run `npx skills add TheDecipherist/claude-code-mastery --skill commit-messages -a claude-code`. Or copy the skill folder (skills/commit-messages in TheDecipherist/claude-code-mastery) into .claude/skills/commit-messages in your project. Claude Code loads it when a task matches its description.

How do I install Conventional Commit Message Writer in Codex?

Run `npx skills add TheDecipherist/claude-code-mastery --skill commit-messages -a codex`. Or copy the skill folder (skills/commit-messages in TheDecipherist/claude-code-mastery) into .agents/skills/commit-messages in your project. Codex loads it when a task matches its description.

Can I use Conventional Commit Message Writer in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add TheDecipherist/claude-code-mastery --skill commit-messages -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/commit-messages, .gemini/skills/commit-messages, .github/skills/commit-messages and .opencode/skills/commit-messages in your project.

What does Conventional Commit Message Writer need to run?

Going by SKILL.md and its folder, Conventional Commit Message Writer needs the command-line tools its instructions call (git). Our summary lists: git.

Does Conventional Commit Message Writer access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Conventional Commit Message Writer safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Conventional Commit Message Writer use?

Conventional Commit Message Writer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Conventional Commit Message Writer use?

About 878 tokens (SKILL.md is roughly 3.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Conventional Commit Message Writer?

Skills that share tags, products or a category with Conventional Commit Message Writer: React Router Release Notes Prep (remix-run/react-router, 57k stars), ToolJet Multi-Repo Commit (ToolJet/ToolJet, 41k stars), Git Workflow and Versioning (addyosmani/agent-skills, 102k stars) and React Router Pull Request Creator (remix-run/react-router, 57k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Conventional Commit Message Writer?

TheDecipherist (a GitHub user) maintains it in TheDecipherist/claude-code-mastery, which has 550 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on May 7, 2026.

Source: TheDecipherist/claude-code-mastery on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.