Install
openclaw skills install git-smart-commitAnalyze staged git changes and generate high-quality commit messages following Conventional Commits format. Use when: (1) user asks to commit changes, (2) us...
openclaw skills install git-smart-commitGenerate precise, conventional commit messages from staged git changes and optionally commit in one step.
git diff --cached --stat to see what's staged. If nothing is staged, check git diff --stat and ask the user if they want to stage all changes first.git diff --cached to get the full diff (if very large, use --stat summary + sample key hunks).git commit -m "<message>".Follow Conventional Commits:
<type>(<scope>): <subject>
[optional body]
[optional footer]
feat, fix, refactor, docs, chore, test, style, perf, ci, buildauth, api, ui, db). Omit if changes span too many areas.! after type/scope and BREAKING CHANGE: footer.git add -p.| Signal | Type |
|---|---|
| New feature, new endpoint, new UI element | feat |
| Bug fix, error correction, patch | fix |
| Code restructure, no behavior change | refactor |
| Comments, README, docs, JSDoc | docs |
| Dependencies, configs, tooling | chore |
| Test files added/modified | test |
| Formatting, whitespace, linting | style |
| Performance improvement | perf |
| CI/CD pipeline changes | ci |
| Build system, compilation | build |
Before presenting the message, verify:
git log --oneline can understand the change)Single file fix:
fix(auth): handle expired JWT tokens in refresh flow
Multi-file feature:
feat(api): add pagination support to list endpoints
Implement cursor-based pagination for /users, /posts, and /comments.
Default page size is 20, max 100.
Breaking change:
feat(config)!: migrate from YAML to TOML configuration
BREAKING CHANGE: config.yaml is no longer supported.
Run `migrate-config` to convert existing configs.
Chore:
chore(deps): bump express from 4.18.2 to 4.19.0
For diffs exceeding ~4000 lines:
git diff --cached --stat for overviewgit diff --cached -- <important-file>The user may specify preferences:
--no-body: Skip the body, subject only--scope <name>: Force a specific scope--type <type>: Force a specific type--amend: Amend the previous commit instead--dry-run: Generate message without committing