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.
NewMaintained
Automatic
◆Coding packdevopsgitsmart-commits
Last verified 8/30/2026
What it changes
Passed 0 of 18 test cases with the skill, and 18 of 18 without it.
Without skill100%
With skill0%
0 fixed17 passed either way3 still failing2 broke
Pass-rate lift
-100 pp
Tokens
+42%
Agent turns
0%
Response time
-30%
Model gemini-3.6-flashMeasured 8/30/2026v117 of 22 cases passed with skill · 18 comparable
Tokens, turns and time describe resource use, not a dollar price.
What's inside
The instructions your model reads when the skill loads.
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.
Prerequisites
Git repository initialized in the working directory
Changes staged via git add (at least one staged file)
Git user name and email configured (git config user.name, git config user.email)
Understanding of the project's commit message conventions (check recent history)
Instructions
Run git diff --cached --stat to get an overview of staged files and change volume
Run git diff --cached to examine the actual code changes in detail
Classify the commit type based on the nature of changes:
feat: new functionality visible to users
fix: bug correction
refactor: code restructuring without behavior change
docs: documentation only
test: adding or updating tests
chore: build process, dependencies, or tooling
perf: performance improvement
ci: CI/CD configuration changes
Determine scope from the primary directory or module affected (e.g., auth, api, cli, db)
Check for breaking changes: removed public APIs, changed function signatures, renamed exports, schema migrations
Check recent commit history with git log --oneline -10 to match the project's style conventions
Construct the commit message: type(scope): imperative description under 72 characters
Add a body with bullet points explaining the "why" behind the change if the diff is non-trivial