Back to list
TheDecipherist

commit-messages

by TheDecipherist

The complete guide to Claude Code: CLAUDE.md, hooks, skills, MCP servers, and commands

223🍴 27📅 Jan 23, 2026

SKILL.md


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

Score

Total Score

75/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

+5
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

+5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon