From git-commit-smart
Execute use when generating conventional commit messages from staged git changes. Trigger with phrases like "create commit message", "generate smart commit", "/commit-smart", or "/gc". Automatically analyzes changes to determine commit type (feat, fix, docs), identifies breaking changes, and formats according to conventional commit standards.
npx claudepluginhub flight505/skill-forge --plugin git-commit-smartThis skill is limited to using the following tools:
!`git diff --cached --stat`
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
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 |