Install
npx skillscat add autofor/claude-code-config/smart-commit Install via the SkillsCat registry.
SKILL.md
スマートコミットスキル
会話の文脈とファイルの関連性を分析し、意味のある単位でコミットを分割して作成する。
実行手順
1. 変更内容を収集
まず CWD がリポジトリルートであることを保証する(サブディレクトリにいると相対パスが不一致になるため):
cd $(git rev-parse --show-toplevel)次に変更内容を収集する:
git status --short
git diff
git diff --cached変更がない場合は「コミットする変更がありません」と表示して停止する。
2. 変更ファイルをテーマごとにグループ化
以下の情報を総合的に分析してグループ化する:
- ファイルパスの関連性: 同じディレクトリ・モジュールのファイル
- 変更内容の性質: diff の内容から機能追加/修正/設定変更などを判断
- 会話の文脈: これまでの会話でユーザーが指示した作業単位
グループ化のルール:
- 同じ目的・テーマの変更は1つのコミットにまとめる
- 単一テーマしかない場合は1コミットでOK
- 設定ファイル変更、テストファイル変更、ドキュメント変更など性質が異なるものは分ける
- 各グループに対して日本語で簡潔なコミットメッセージを生成
3. コミットを実行
確認なしで即座に実行する。各グループごとに:
git add <ファイル1> <ファイル2> ...
git commit -m "<コミットメッセージ>"4. 完了メッセージ
以下の形式で表示する:
コミットが完了しました(N件):
1. <hash> feat: ダークモード用のCSS変数を追加
2. <hash> feat: ダークモード切り替えコンポーネントを追加
3. <hash> chore: テーマ設定をconfigに追加コミットメッセージ規約
- Conventional Commits 形式:
<type>: <description> - type:
feat,fix,chore,docs,refactor,test,style - description: 日本語で簡潔に記述
注意事項
- 確認なしで即座にコミットを実行する(ユーザーへの確認は不要)
- 既にステージングされた変更(
git diff --cached)も考慮に含める - 他のスキルから呼び出された場合: コミット完了後、呼び出し元スキルの次のステップに処理を戻すこと。smart-commit の完了は呼び出し元スキル全体の完了を意味しない。