Communication
commit-message-style - Claude MCP Skill
Apply commit message style: conventional commits format (type: subject), imperative mood, <50 char subject, explain why in body. Use when writing commits, reviewing commit messages, or discussing git history.
SEO Guide: Enhance your AI agent with the commit-message-style tool. This Model Context Protocol (MCP) server allows Claude Desktop and other LLMs to apply commit message style: conventional commits format (type: subject), imperative mood, <50 char s... Download and configure this skill to unlock new capabilities for your AI workflow.
Documentation
SKILL.md# Commit Message Style
Conventional commits format for clear, consistent git history. Universal standard across projects and teams.
## Core Principle
**Commit messages are for humans reading git history.**
Good commits help understand what changed and why. They enable searching, filtering, and generating changelogs.
---
## Format
### Basic Structure
```
type(scope): subject
body
footer
```
**Required:** type, subject
**Optional:** scope, body, footer
### Example
```
feat(auth): add OAuth2 integration
Implement OAuth2 authentication flow for Google and GitHub.
This allows users to sign in with existing accounts.
Fixes #234
```
---
## Commit Types
**feat:** New feature
```
feat: add user authentication
feat(api): add rate limiting to endpoints
```
**fix:** Bug fix
```
fix: handle null user in profile page
fix(auth): prevent token expiry race condition
```
**refactor:** Code change (no feature or bug fix)
```
refactor: extract payment logic to separate module
refactor(db): simplify query builder
```
**docs:** Documentation only
```
docs: update README with installation steps
docs(api): add examples to endpoint descriptions
```
**test:** Tests only
```
test: add edge cases for calculateTotal
test(auth): add integration tests for OAuth flow
```
**chore:** Build, dependencies, tooling
```
chore: upgrade dependencies to latest versions
chore(deps): update React to v18
```
**perf:** Performance improvement
```
perf(db): add index on user email column
perf: lazy load images to reduce initial bundle
```
**style:** Formatting, whitespace (no logic change)
```
style: format code with prettier
style: fix inconsistent indentation
```
**ci:** CI/CD changes
```
ci: add automated deployment to staging
ci: run tests on pull requests
```
**build:** Build system changes
```
build: configure webpack for production
build: add TypeScript compilation step
```
---
## Subject Line Rules
### Imperative Mood
Use imperative mood (command form), not past tense.
β
**Good:**
- `add user authentication`
- `fix null pointer error`
- `update dependencies`
β **Bad:**
- `added user authentication` (past tense)
- `adding user authentication` (continuous)
- `adds user authentication` (third person)
**Think:** "This commit will [subject]"
- "This commit will add user authentication" β
- "This commit will added user authentication" β
### Lowercase
Start subject with lowercase (after type).
β
`feat: add feature`
β `feat: Add feature`
### No Period
Don't end subject with period.
β
`fix: handle edge case`
β `fix: handle edge case.`
### Length
- **Ideal:** <50 characters
- **Maximum:** 72 characters
- Longer descriptions go in body
β
`feat: add OAuth integration`
β `feat: add OAuth integration for Google, GitHub, and Microsoft accounts with automatic token refresh`
### Be Specific
Subject should clearly describe what changed.
β
**Good:**
- `fix: prevent crash when user has no email`
- `feat(api): add pagination to user list endpoint`
- `refactor: extract validation to separate module`
β **Bad:**
- `fix bug` (what bug?)
- `update` (update what?)
- `changes` (what changes?)
- `WIP` (work in progressβfinish before committing)
---
## Scope (Optional)
Scope indicates affected area of codebase.
**Format:** `type(scope): subject`
**Common scopes:**
- Component/module: `(auth)`, `(api)`, `(ui)`
- Feature: `(payments)`, `(search)`, `(notifications)`
- Layer: `(db)`, `(cache)`, `(middleware)`
**Examples:**
```
feat(auth): add OAuth2 support
fix(api): handle timeout errors
refactor(db): optimize user queries
```
**When to omit scope:**
- Changes affect entire codebase
- Scope is obvious from subject
- Small projects without clear modules
---
## Body (Optional)
Use body to explain **why**, not what (diff shows what).
### When to Add Body
- **Complex changes** (need context)
- **Non-obvious decisions** (why this approach)
- **Breaking changes** (always explain)
- **Trade-offs** (why chose X over Y)
### Body Rules
- Blank line between subject and body
- Wrap at 72 characters
- Explain motivation, not mechanics
- Can use bullet points
### Example
```
refactor(auth): switch from JWT to session cookies
JWT tokens were causing issues with token revocation.
Session cookies allow immediate logout and better
security control.
Trade-off: Requires server-side session storage,
but improved security is worth the complexity.
```
---
## Footer (Optional)
### Breaking Changes
**Format 1** (footer):
```
feat: redesign authentication API
BREAKING CHANGE: login endpoint now requires email instead of username
```
**Format 2** (type with !):
```
feat!: redesign authentication API
Login endpoint now requires email instead of username.
```
**Always include:**
- What broke
- How to migrate
- Why the break was necessary
### Issue References
**Close issues:**
```
Fixes #123
Closes #456
Resolves #789
```
**Reference without closing:**
```
Refs #123
See #456
```
**Multiple issues:**
```
Fixes #123, fixes #456
```
### Co-authors
For pair programming or collaboration:
```
Co-authored-by: Jane Doe <jane@example.com>
Co-authored-by: John Smith <john@example.com>
```
---
## Examples
### Simple Commit
```
feat: add dark mode toggle
```
### With Scope
```
fix(api): handle network timeout errors
```
### With Body
```
perf(db): add index on user email column
Queries filtering by email were taking >2s on production.
Adding index reduces query time to <50ms.
```
### Complex Commit
```
feat(auth): add OAuth2 integration
Implement OAuth2 authentication flow for Google and GitHub.
This allows users to sign in with existing accounts instead
of creating new credentials.
Chose OAuth2 over SAML due to better mobile support and
simpler integration with third-party providers.
Fixes #234
Co-authored-by: Jane Developer <jane@example.com>
```
### Breaking Change
```
feat!: remove legacy API endpoints
Removed /api/v1 endpoints in favor of /api/v2.
BREAKING CHANGE: All clients must migrate to /api/v2.
See migration guide: docs/migration-v2.md
Closes #567
```
---
## Bad Examples
β `fix bug`
- Too vague. What bug?
β `update`
- What was updated?
β `WIP`
- Not a commit type. Finish work before committing.
β `fix: Fixed the login issue`
- Past tense ("Fixed"). Should be: `fix: handle login timeout`
β `feat: Added new feature for users`
- Past tense, vague. What feature?
β `refactor: refactored the code`
- Redundant. What code? Why?
---
## Quick Reference
### Format Template
```
type(scope): subject under 50 chars
Body explaining why (not what).
Wrap at 72 characters.
BREAKING CHANGE: if applicable
Fixes #123
Co-authored-by: Name <email>
```
### Types Cheatsheet
- `feat` β New feature
- `fix` β Bug fix
- `refactor` β Code change (no feature/bug)
- `docs` β Documentation
- `test` β Tests
- `chore` β Build, deps, tooling
- `perf` β Performance
- `style` β Formatting
- `ci` β CI/CD
- `build` β Build system
### Subject Rules
- β
Imperative mood
- β
Lowercase after type
- β
No period
- β
<50 chars ideal
- β
Specific, clear
---
## Philosophy
**"Good commits tell a story."**
Git history is documentation. Well-written commits help:
- Understand why changes were made
- Find when bugs were introduced
- Generate changelogs automatically
- Review code changes in context
**Commit often, commit well:**
- Small, focused commits
- One logical change per commit
- Clear message for each
**Remember:** You're writing for the person debugging at 2am in 6 months. That person might be you.Signals
Information
- Repository
- phrazzld/claude-config
- Author
- phrazzld
- Last Sync
- 1/24/2026
- Repo Updated
- 1/17/2026
- Created
- 1/13/2026
Reviews (0)
No reviews yet. Be the first to review this skill!
Related Skills
upgrade-nodejs
Upgrading Bun's Self-Reported Node.js Version
cursorrules
CrewAI Development Rules
cn-check
Install and run the Continue CLI (`cn`) to execute AI agent checks on local code changes. Use when asked to "run checks", "lint with AI", "review my changes with cn", or set up Continue CI locally.
CLAUDE
CLAUDE.md
Related Guides
Bear Notes Claude Skill: Your AI-Powered Note-Taking Assistant
Learn how to use the bear-notes Claude skill. Complete guide with installation instructions and examples.
Mastering tmux with Claude: A Complete Guide to the tmux Claude Skill
Learn how to use the tmux Claude skill. Complete guide with installation instructions and examples.
OpenAI Whisper API Claude Skill: Complete Guide to AI-Powered Audio Transcription
Learn how to use the openai-whisper-api Claude skill. Complete guide with installation instructions and examples.