Skip to content
Development
Command

/commit

I'll analyze your changes and create a meaningful commit message.

From plugin
ccplugins
2.8k23 skills23 commands

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/commit

Context preview

What this command does when you run it.

I'll analyze your changes and create a meaningful commit message.

Command definition

commit.md

Smart Git Commit

I'll analyze your changes and create a meaningful commit message.

**Pre-Commit Quality Checks:** Before committing, I'll verify:

  • Build passes (if build command exists)
  • Tests pass (if test command exists)
  • Linter passes (if lint command exists)
  • No obvious errors in changed files

First, let me check if this is a git repository and what's changed:

# Verify we're in a git repository
if ! git rev-parse --git-dir > /dev/null 2>&1; then
    echo "Error: Not a git repository"
    echo "This command requires git version control"
    exit 1
fi

# Check if we have changes to commit
if ! git diff --cached --quiet || ! git diff --quiet; then
    echo "Changes detected:"
    git status --short
else
    echo "No changes to commit"
    exit 0
fi

# Show detailed changes
git diff --cached --stat
git diff --stat

Now I'll analyze the changes to determine: 1. What files were modified 2. The nature of changes (feature, fix, refactor, etc.) 3. The scope/component affected

If the analysis or commit encounters errors:

  • I'll explain what went wrong
  • Suggest how to resolve it
  • Ensure no partial commits occur
# If nothing is staged, I'll stage modified files (not untracked)
if git diff --cached --quiet; then
    echo "No files staged. Staging modified files..."
    git add -u
fi

# Show what will be committed
git diff --cached --name-status

Based on the analysis, I'll create a conventional commit message:

  • **Type**: feat|fix|docs|style|refactor|test|chore
  • **Scope**: component or area affected (optional)
  • **Subject**: clear description in present tense
  • **Body**: why the change was made (if needed)
# I'll create the commit with the analyzed message
# Example: git commit -m "fix(auth): resolve login timeout issue"

The commit message will be concise, meaningful, and follow your project's conventions if I can detect them from recent commits.

**Important**: I will NEVER:

  • Add "Co-authored-by" or any Claude signatures
  • Include "Generated with Claude Code" or similar messages
  • Modify git config or user credentials
  • Add any AI/assistant attribution to the commit
  • Use emojis in commits, PRs, or git-related content

The commit will use only your existing git user configuration, maintaining full ownership and authenticity of your commits.

Read more
Ships withccplugins

Best Claude Code framework that actually save time. Built by a dev tired of typing "please act like a senior engineer" in every conversation.

Get the whole plugin