smart-commit

Generate conventional commit messages from staged or unstaged Git diffs.

1|Updated Mar 5, 2026
One-click install
npx skills add https://github.com/beratcelik1/compound-claude --skill smart-commit-beratcelik1
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: smart-commit
Source: https://github.com/beratcelik1/compound-claude/tree/main/skills/smart-commit
Command: npx skills add https://github.com/beratcelik1/compound-claude --skill smart-commit-beratcelik1

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill converts unstaged or staged Git changes into a single, well-structured conventional commit so developers avoid noisy, unclear, or multi-purpose commits and keep a readable project history.

Core Features & Use Cases

  • Analyze unstaged and staged diffs to identify logical units of change and recommend which files to stage together.
  • Select an appropriate conventional commit type and scope, craft an imperative, concise subject (under 72 chars), and produce a body that explains the rationale rather than the diff.
  • Use Case: Prepare a review-ready commit for a small feature or bugfix branch where consistent commit messages and proper scoping improve traceability and release notes.

Quick Start

Ask the smart-commit skill to generate and apply a conventional commit message for the current changes.

Frequently Asked Questions about smart-commit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate conventional commit messages from staged or unstaged Git diffs?

Conventional commit messages are generated by analyzing Git diffs to identify logical units of change, selecting a commit type and scope, and crafting an imperative subject under 72 characters with a structured body explaining the rationale.

How does diff analysis recommend which files to stage together for a logical commit?

Diff analysis examines unstaged and staged changes to group related file modifications into logical units. This staging recommendation ensures that each commit represents a single purpose, keeping your project history readable and avoiding noisy multi-purpose commits.

Can I automatically add a Co-Authored-By trailer to my conventional commits?

You can include an optional Co-Authored-By trailer in your conventional commits. The generation process outputs a ready-to-run git commit command that appends the trailer for proper attribution while maintaining the conventional commit format.

Does conventional commit format enforce subject length and imperative mood for feature and fix branches?

Conventional commit format strictly enforces subject length under 72 characters and requires imperative mood. This applies across developer workflows for features, fixes, refactors, tests, docs, styles, and chores to ensure traceability and improve release notes.

What is the best way to structure a review-ready commit for a bugfix branch?

Structuring a review-ready commit involves analyzing diffs, staging logical file groups together, and applying conventional commit format with a clear type, scope, and subject. This ensures consistent messages and proper scoping for better traceability.

When should I avoid using automated conventional commit message generation?

Automated conventional commit generation should be avoided when changes span multiple unrelated purposes that cannot be logically staged together. The tool targets single, well-structured commits, so heavily mixed modifications require manual staging separation first.