Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    dashed

    conventional-commits

    dashed/conventional-commits
    Coding
    6
    2 installs

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Format git commit messages following Conventional Commits 1.0.0 specification. Use when the user asks to commit changes, create a git commit, or mentions committing code...

    SKILL.md

    Conventional Commits

    Format all git commit messages according to the Conventional Commits 1.0.0 specification.

    Commit Message Format

    <type>[optional scope]: <description>
    
    [optional body]
    
    [optional footer(s)]
    

    Type Reference

    Type When to Use SemVer
    feat New feature MINOR
    fix Bug fix PATCH
    docs Documentation only -
    style Formatting, whitespace (no code change) -
    refactor Code restructuring (no feature/fix) -
    perf Performance improvement -
    test Adding/fixing tests -
    build Build system, dependencies -
    ci CI/CD configuration -
    chore Maintenance, tooling -
    revert Reverting previous commit -

    Decision Framework

    When determining commit type, ask:

    • Does it add new functionality? → feat
    • Does it fix broken functionality? → fix
    • Does it only affect documentation? → docs
    • Does it improve performance? → perf
    • Does it restructure code without changing behavior? → refactor
    • Does it only change code style/formatting? → style
    • Does it add/modify tests? → test
    • Does it change build system or dependencies? → build
    • Does it change CI/CD configuration? → ci
    • Is it maintenance or tooling? → chore

    Message Best Practices

    Description (first line)

    • Keep under 50 characters
    • Use imperative mood ("add" not "added")
    • Don't capitalize first letter
    • No period at end

    Scope

    • Use clear, consistent names: feat(auth):, fix(api):, docs(readme):

    Body

    • Include when change requires explanation
    • Explain why the change was made
    • Describe what problem it solves
    • Wrap at 72 characters per line

    Footers

    • Fixes #123 - Reference issues
    • Co-authored-by: Name <email> - Credit contributors
    • BREAKING CHANGE: description - Breaking changes
    • Refs: #456, #789 - Related issues

    Breaking Changes

    Indicate breaking changes using either method:

    feat!: remove deprecated API endpoint
    
    feat(api)!: change authentication flow
    
    fix: update validation logic
    
    BREAKING CHANGE: validation now rejects empty strings
    

    Command Execution

    Critical: Use single quotes to avoid shell escaping issues with !:

    # Correct - single quotes
    git commit -m 'feat!: add new authentication flow'
    
    # Incorrect - backslash escaping (DO NOT USE)
    git commit -m "feat\!: add new authentication flow"
    

    For multi-line messages, use HEREDOC:

    git commit -m "$(cat <<'EOF'
    feat(auth): add OAuth2 support
    
    Implement OAuth2 authentication flow with support for
    Google and GitHub providers.
    
    BREAKING CHANGE: removes legacy session-based auth
    EOF
    )"
    

    Workflow

    1. Check for staged changes: git diff --cached --stat
    2. If nothing staged: stage with git add first
    3. Review changes: git diff --cached
    4. Check recent style: git log --oneline -5
    5. Determine type using decision framework
    6. Write message following best practices
    7. Execute commit with single quotes
    8. Verify: git log -1

    Quality Checks

    Before committing, verify:

    • Message accurately describes the changes
    • Type correctly categorizes the change
    • Scope (if used) is meaningful and consistent
    • Breaking changes are properly marked with ! suffix or BREAKING CHANGE: footer
    • Description is clear and under 50 characters
    • Body wraps at 72 characters (if present)

    Examples

    Simple fix:

    fix: prevent null pointer in user lookup
    

    Feature with scope:

    feat(api): add rate limiting to endpoints
    

    With body:

    refactor: extract validation into separate module
    
    Move validation logic from controllers to dedicated
    validator classes for better testability and reuse.
    

    Breaking change:

    feat!: upgrade to v2 API format
    
    BREAKING CHANGE: response structure changed from
    {data: [...]} to {items: [...], meta: {...}}
    

    With issue reference:

    fix(auth): resolve token refresh race condition
    
    Fixes #234
    

    Full Specification

    For the complete Conventional Commits 1.0.0 specification including all rules and FAQ, see references/full-spec.md.

    Recommended Servers
    GitHub
    GitHub
    Gitlab
    Gitlab
    Bitbucket
    Bitbucket
    Repository
    dashed/claude-marketplace
    Files