Agent Skill
2/7/2026commit
現在のセッションで行った変更を論理単位ごとに分割し、適切なコミットメッセージで複数コミットを作成します。
S
shonenm
0GitHub Stars
1Views
npx skills add shonenm/dotfiles
SKILL.md
| Name | commit |
| Description | 現在のセッションで行った変更を論理単位ごとに分割し、適切なコミットメッセージで複数コミットを作成します。 |
name: commit description: 現在のセッションで行った変更を論理単位ごとに分割し、適切なコミットメッセージで複数コミットを作成します。 user-invocable: true
Commit - Git コミット作成
現在のClaudeセッション内で行った変更のみを対象に、論理的な単位に分割して適切なコミットメッセージでコミットを作成します。
重要: 対象範囲
このスキルは現在の会話で自分(Claude)が行った変更のみをコミットします。
- 会話履歴から Edit/Write ツールで変更したファイルを特定する
- 会話開始前から存在していた未コミットの変更はコミットしない
- 他のセッションや手動で行われた変更はコミットしない
- 不明な変更がある場合はユーザーに確認する
手順
-
セッション内の変更を特定 - 会話履歴から以下を確認:
- Edit/Write ツールで変更・作成したファイル一覧
- 各変更の目的(機能追加、バグ修正、設定変更など)
-
git状態の確認 - 以下のコマンドを並列で実行:
git status- 未追跡ファイルと変更の確認(-uallフラグは使用しない)git diff --staged- ステージ済みの変更を確認git diff- 未ステージの変更を確認git log --oneline -5- 最近のコミットメッセージのスタイルを確認
-
対象ファイルの照合 - git diff の結果とセッション内変更を照合:
- セッションで変更したファイルのみを対象とする
- セッション外の変更(会話開始時の gitStatus に記載されていた変更など)は除外
- 判断が難しい場合はユーザーに確認
-
変更の分析とコミット分割計画 - セッション内の変更を論理単位ごとに分割:
- 各ファイルの変更内容を確認し、関連する変更をグループ化
- 1コミット = 1つの論理的な変更単位(機能追加、バグ修正、設定変更、ドキュメント更新など)
- 異なる目的の変更は別コミットに分ける(例: 新機能とドキュメント更新は分離)
.envや認証情報などの機密ファイルはコミットしない- コミット順序は依存関係を考慮(コードの変更 → それに対するドキュメント更新)
-
コミットメッセージの規約:
- フォーマット:
prefix(scope): 説明(英語、小文字始まり) - prefix一覧:
prefix 用途 feat新機能の追加 imprv既存機能の改善・強化 fixバグ修正 rfacリファクタリング(動作変更なし) perfパフォーマンス改善 docsドキュメントのみの変更 choreビルド、CI、依存関係、その他雑務 - scope: 変更対象のコンポーネント(
nvim,zsh,git,tmux,claude等)。複数にまたがる場合は省略可 - 説明: 「何を」ではなく「なぜ」に焦点を当てた簡潔な英語(小文字始まり)
- フォーマット:
-
コミットの実行 - 分割計画に従い、グループごとに順番にコミット:
- 関連するファイルのみをステージング(
git add -Aやgit add .は避け、ファイル名を指定) - HEREDOCを使用してコミットメッセージを渡す:
git commit -m "$(cat <<'EOF' prefix(scope): 説明 Co-Authored-By: Claude <noreply@anthropic.com> EOF )" - 各コミット後に次のグループをステージングして繰り返す
- 全コミット完了後に
git statusとgit log --onelineで成功を確認
- 関連するファイルのみをステージング(
注意事項
- ユーザーが明示的に要求しない限り、
--amendは使用しない - プリコミットフックが失敗した場合は、修正して新しいコミットを作成(amendしない)
- 変更がない場合は空コミットを作成しない
git pushはユーザーが明示的に要求しない限り実行しない- 変更が単一の論理単位に収まる場合は1コミットで問題ない(無理に分割しない)
- セッション外の変更には触れない(ユーザーが明示的に指示した場合を除く)
Skills Info
Original Name:commitAuthor:shonenm
Download