From git-commit-smart
Generates Conventional Commits from staged git changes: classifies feat/fix/docs types, detects scopes/breaking changes, matches project style from history.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin git-commit-smartThis skill is limited to using the following tools:
!`git diff --cached --stat`
Generates conventional git commit messages by analyzing staged changes, categorizing types like feat/fix, adding scopes, and matching project history style.
Generates conventional commit messages from staged Git changes by reviewing diffs, categorizing as feat/fix/refactor/docs/test/chore, and formatting as type(scope): description. Use before committing.
Generates descriptive commit messages following conventional commits format by analyzing git diffs. Useful when writing commit messages or reviewing staged changes.
Share bugs, ideas, or general feedback.
!git diff --cached --stat
!git log --oneline -5
!git status --short
Analyze staged git changes and generate Conventional Commits messages with accurate type classification, scope detection, and breaking change identification. Supports feat, fix, docs, style, refactor, test, chore, perf, ci, and build types following the Conventional Commits 1.0.0 specification.
git add (at least one staged file)git config user.name, git config user.email)git diff --cached --stat to get an overview of staged files and change volumegit diff --cached to examine the actual code changes in detailfeat: new functionality visible to usersfix: bug correctionrefactor: code restructuring without behavior changedocs: documentation onlytest: adding or updating testschore: build process, dependencies, or toolingperf: performance improvementci: CI/CD configuration changesauth, api, cli, db)git log --oneline -10 to match the project's style conventionstype(scope): imperative description under 72 charactersBREAKING CHANGE: footer if applicableConventional commit message following this format:
type(scope): imperative description
- Explanation of what changed and why
- Impact on existing functionality
BREAKING CHANGE: description (if applicable)
| Error | Cause | Solution |
|---|---|---|
No changes staged for commit | Nothing added to staging area | Run git add <files> to stage changes before generating the message |
Not a git repository | Working directory is not inside a git repo | Run git init or navigate to the repository root |
Ambiguous commit type | Changes span multiple categories (feature + fix) | Split into separate commits or use the primary intent as the type |
Scope unclear from file paths | Changes touch many unrelated directories | Use the most significant module or omit scope entirely |
Commit message exceeds 72 characters | Description too verbose | Shorten to the essential action; move details to the commit body |