smithery.ai

commit-prepare

Prepare git commit messages following conventional commits. Activates on: commit, prepare commit, commit this, commit message, ready to commit, stage and commit

First seen Apr 27, 2026

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,723 B
  • docs SUMMARY.md 182 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Commit Preparation Skill

Automatically prepare commit messages following conventional commits standard.

Activation

This skill activates on keywords:

  • "commit", "prepare commit", "commit this"
  • "commit message", "write commit"
  • "stage and commit", "commit changes"
  • "what should I commit", "ready to commit"

Workflow

When activated, follow these steps:

1. Gather Context

Run these commands to understand what's being committed:

# See all changes
git status

# Staged changes (what will be committed)
git diff --cached --stat
git diff --cached

# Unstaged changes (won't be committed yet)
git diff --stat

2. Analyze Changes

Determine:

  • Type: feat, fix, docs, refactor, test, chore, perf, ci
  • Scope: Which component/module is affected (optional)
  • Breaking: Are there breaking changes?
  • What: What was changed
  • Why: Why was it changed (if not obvious)

3. Generate Commit Message

Follow conventional commits format:

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

<body>

<footer>

Type Reference

Type When to Use Example
feat New feature feat: add user authentication
fix Bug fix fix: resolve null pointer in parser
docs Documentation only docs: update API reference
refactor Code restructuring refactor: extract validation logic
test Adding/fixing tests test: add unit tests for auth
perf Performance improvement perf: optimize database queries
chore Maintenance, deps chore: update dependencies
ci CI/CD changes ci: add caching to workflow
style Formatting only style: fix indentation

Rules

  • Subject: Imperative mood ("add" not "added"), no period, max 50 chars
  • Body: Wrap at 72 chars, explain what and why (not how)
  • Footer: Breaking changes, issue references

4. Handle Staging

If there are unstaged changes, ask:

  • "Stage all changes?" (git add .)
  • "Stage specific files?" (list them)
  • "Review changes first?" (show diff)

5. Execute Commit

After user confirms the message:

git add <files>
git commit -m "<message>"

Important: Always use HEREDOC for multi-line commits:

git commit -m "$(cat <<'EOF'
feat: add user authentication

Implement OAuth2 flow with Google and GitHub providers.
Includes session management with secure cookies.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
EOF
)"

6. Post-Commit

After successful commit:

  • Show git log -1 to confirm
  • Suggest git push if ready
  • Mention if more changes remain unstaged

Example Interactions

Simple Commit

User: "commit these changes"

Claude:

git status
git diff --cached

Looking at your staged changes:

  • Modified src/auth/oauth.py - added token refresh logic
  • Modified tests/test_auth.py - added refresh tests

Suggested commit:

feat(auth): add OAuth token refresh

Implement automatic token refresh when access token expires.
Includes retry logic with exponential backoff.

Shall I commit with this message?


Breaking Change

User: "ready to commit"

Claude: I see you've changed the API response format. This is a breaking change.

Suggested commit:

feat(api)!: change response envelope format

BREAKING CHANGE: API responses now use { data, meta, errors }
envelope instead of flat response. Clients must update parsing.

Migration: Update response handlers to access .data property.

This marks it as a breaking change with !. Proceed?


Multiple Logical Changes

User: "commit this"

Claude: I see changes to multiple unrelated areas:

  1. Bug fix in parser.py
  2. New feature in export.py
  3. Updated docs

Recommend splitting into separate commits:

  1. fix(parser): handle empty input gracefully
  2. feat(export): add CSV export option
  3. docs: update export documentation

Want me to help stage and commit each separately?

Attribution

Always include Claude attribution for AI-assisted commits:

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>

Safety Rules

  • Never use git commit --amend on pushed commits
  • Never skip hooks with --no-verify unless explicitly asked
  • Always show the commit message before executing
  • Check for secrets/credentials in staged files
  • Warn about large binary files