スマートコミット
コーディング入門
git diffを分析して変更の性質を把握し、Conventional Commitsフォーマットに沿ったコミットメッセージを自動で生成します。
トリガー
/commit使用頻度毎日
コミットメッセージに悩む時間がもったいない人なら? /commitで分析からメッセージ生成まで自動化
git自動化コミット
動作フロー
/commit 実行 → git diff --staged 分析
↓
フェーズ1: 2つの分析を並列実行
type-detect
変更タイプの判定
scope-detect
影響範囲の把握
↓
Conventional Commitsメッセージ生成 → ユーザー確認
↓
✓ きれいなコミット完了
スキルコード
# Smart Commit Skill
## Trigger: /commit
When invoked:
1. Run `git diff --staged` to check staged changes
2. If nothing staged, run `git diff` and suggest what to stage
3. Analyze changes to determine type:
- feat: new feature
- fix: bug fix
- refactor: code restructuring
- docs: documentation
- style: formatting
- test: adding tests
- chore: maintenance
4. Generate commit message:
- Format: `type(scope): description`
- Keep under 72 characters
- Use imperative mood ("add" not "added")
5. Show the message and ask for confirmation
6. On approval, execute: `git commit -m "message"`
コピーしてCLAUDE.mdに貼り付ければ、すぐに使えます。
スマートコミット の仕組み
Smart Commitはステージされたgit diffを分析して変更タイプ(feature、fix、refactor、docsなど)を検出し、影響範囲を特定した上で、承認・編集可能なConventional Commitsメッセージを自動生成します。
スマートコミット が力を発揮する場面
頻繁にコミットするがメッセージを手動で書くのが面倒な開発者に最適です。特に複数ファイルにまたがる変更で、将来のgit log検索のために意図を正確に記録したいときに威力を発揮します。
主な強み
- Conventional Commits標準に自動準拠
- 実際のコードdiffから変更タイプとスコープを検出
- ステージ済み変更からクリーンなコミットまでワンコマンド
- 一貫したコミット履歴でコードレビューとChangelog生成を改善