mcpField
W
writing-commit-messages

writing-commit-messages

github.com/spencerpaulyDevelopment868459 installsUpdated 13w ago
Repository

About writing-commit-messages

A skill for writing consistent commit messages for developers and teams. It defines a structured format, type prefixes, and guidance for concise subjects and meaningful commit bodies.

Key features

  1. 01Structured type-and-scope format
  2. 02Subject line length and style rules
  3. 03Guidance for optional body and footer
  4. 04Rules for breaking-change notes
  5. 05Commit timing and grouping advice

Use cases

  1. 01Writing clear messages for feature and bug-fix commits
  2. 02Recording breaking changes and issue references
  3. 03Keeping commits focused on one logical change

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/spencerpauly/awesome-cursor-skills --skill writing-commit-messages

After installing, type/writing-commit-messagesin Claude Code to confirm it loaded.

Details

From the project README

Writing Commit Messages

Write commit messages that are useful for humans and machines.

Format

<type>(<optional scope>): <subject>

<optional body>

<optional footer>
Subject Line Rules
  • 50 characters or less for the subject
  • Use imperative mood: "add feature" not "added feature" or "adding feature"
  • Don't capitalize the first letter after the type prefix
  • No period at the end
Types
TypeWhen to use
featNew user-facing feature
fixBug fix
refactorCode restructuring without behavior change
docsDocumentation changes
testAdding or updating tests
choreBuild, CI, tooling, deps
perfPerformance improvement
styleFormatting, whitespace (not CSS)
ciCI/CD pipeline changes
revertReverting a previous commit
Scope (Optional)

The area of the codebase affected:

  • feat(auth): add OAuth2 login flow
  • fix(api): handle null response from payments endpoint
  • refactor(db): extract query builder into module
Body (When Needed)

Explain why, not what (the diff shows what):

fix(checkout): prevent duplicate order submissions

The submit button was not disabled after the first click,
allowing users to create multiple orders. This caused
duplicate charges in Stripe.
Footer (When Needed)
BREAKING CHANGE: rename `getUserById` to `findUser`

Closes #456
Co-authored-by: Name <email>

Examples

Good:

feat(dashboard): add real-time notification bell
fix: resolve race condition in WebSocket reconnect
refactor(api): consolidate error handling middleware
test: add integration tests for payment webhook
chore: upgrade TypeScript to 5.4

Bad:

fixed stuff
WIP
update
changes
asdf

When to Commit

  • Each commit should represent one logical change
  • Don't mix refactoring with feature work in the same commit
  • Don't commit half-working code (use git stash instead)
  • Commit early and often on feature branches, squash before merge if needed

Breaking Changes

If the commit introduces a breaking change:

  1. Add ! after the type: feat(api)!: change auth token format
  2. Add BREAKING CHANGE: in the footer with migration instructions

Comments

Markdown supported