Commit Message Generator

VerifiedCaution

Generates commit messages following project conventions after running pre-commit checks (formatting, linting, tests). Helps automate clean, standardized commits.

Sby Skills Guide Bot
DevelopmentIntermediate
806/2/2026
Claude Code
#git#commit#pre-commit#rust

Recommended for

Our review

Generates concise commit messages conforming to project conventions after automatically staging all changes and running pre-commit checks (formatting, linting, tests).

Strengths

  • Ensures consistent commit message style
  • Automates pre-commit verification
  • Stages all changes automatically
  • Uses imperative mood without conventional commit prefixes

Limitations

  • Requires a Rust/Cargo project structure
  • Cannot handle complex merge commits or interactive rebases
  • Limited to specific toolchain (cargo fmt, clippy, test)
When to use it

Use when committing changes in a Rust project that follows standard formatting and linting practices.

When not to use it

Do not use for non-Rust projects, or when you need to selectively stage files or write longer, more detailed commit bodies.

Security analysis

Caution
Quality score90/100

The skill uses powerful shell commands (git, cargo) for code quality enforcement and automated committing. While not destructive, it could stage unintended files or commit without user review, posing a moderate risk of accidental exposure or bad commits.

Findings
  • Automatically stages all changes with `git add -A`, potentially including unintended files.
  • Commits immediately after checks pass without user confirmation, which could inadvertently commit sensitive data.

Examples

Commit staged changes with pre-commit checks
Commit all my changes with the message following the project convention.
Fix formatting issues and commit
I have some unstaged changes. Run the pre-commit checks and commit everything.
Commit after fixing clippy warnings
Stage all changes, fix any clippy warnings, and commit.

name: commit description: Generate commit messages following project conventions. Use when committing changes or reviewing staged files. allowed-tools: Bash(git:*), Bash(cargo *), Read, Edit, Glob, Grep

Commit Message Generator

Instructions

  1. Run git status to check for all changes (staged, unstaged, untracked)
  2. If there are unstaged or untracked files, run git add -A to stage all changes
  3. Run git diff --staged to see what will be committed
  4. If no changes to commit, inform the user and stop

Pre-commit Checks

  1. Run lint and test checks before committing:

    • Run cargo fmt --check to check formatting
    • Run cargo clippy -- -D warnings to check for lint errors
    • Run cargo test to run tests
  2. If any checks fail:

    • For formatting issues: Run cargo fmt to auto-fix
    • For clippy warnings: Read the affected files and fix the issues
    • For test failures: Investigate and fix the failing tests
    • After fixes, run git add -A to stage the fixes
    • Re-run the failed checks to verify fixes
  3. Once all checks pass, generate a commit message following the rules below

  4. Run git commit -m "message" immediately (no confirmation needed)

Format

  • Line 1: Summary (max 50 chars, imperative mood)
  • Line 2: Blank
  • Line 3+: Description (optional, explain what and why)

Rules

  • Write in English
  • Use imperative mood: "Add", "Fix", "Change" (not "Added", "Fixed")
  • NO prefixes like feat:, fix:, docs:
  • Be specific, avoid vague messages

Examples

❌ Bad

  • Fix
  • Bug fix
  • Various changes

✅ Good

  • Change audio capture buffer size to 20ms
  • Add retry logic for P2P connection failures
  • Remove unused audio codec parameters
Related skills