commit-messages について
Gitのコミットメッセージの作成、修正、レビューに関する指針を示すスキルです。変更の意図を伝える簡潔な命令形の件名と、必要に応じて背景や理由を書く本文を重視します。
主な機能
- 01簡潔なコミット件名の作成
- 02変更を要約する命令形の使用
- 03必要に応じた本文の追加
- 04本文の折り返しと課題参照
- 05コミットメッセージの品質確認
活用シーン
- 01新しい変更のコミットメッセージ作成
- 02スカッシュやリベース時のメッセージ改善
- 03明瞭さを基準にしたメッセージのレビュー
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ streamofron/ agent-skills --skill commit-messagesインストール後、Claude Code で/commit-messagesを入力して読み込まれたか確認します。
詳細
コミットメッセージ
意図がひと目で伝わる、明確で簡潔なコミットメッセージを書くためのガイドラインです。
使用する場面
- 新しい変更のコミットメッセージを書くとき
- コミットをスカッシュまたはリベースするとき
- コミットメッセージの明確さをレビューするとき
対象外: タグのメッセージ、自動ツールによるマージコミットのメッセージ、変更履歴のエントリ。
手順
-
簡潔な件名を書く — ほとんどの人が目にするのは最初の行です:
- 最大の目安は160文字です。短いほどよいでしょう
- 命令形を使います。「Add feature」のようにし、「Added」や「Adds」は使いません
- 先頭は大文字にし、末尾にピリオドは付けません
- 作業の手順ではなく、変更内容を要約します
-
件名と本文の間に空行を入れる — ツールが正しく解析するために必須です。件名だけで十分な場合は、本文を省略します。
-
背景説明が必要な場合は本文を書く — 何をではなく、なぜかを説明します:
- 1行あたり約72文字で折り返します
- 変更の動機を示し、制約や判断について説明します
Fixes #123またはRefs #456で課題を参照します
-
1つのコミットにつき、論理的な変更は1つにする — 変更を説明するのに「and」が必要なら、おそらく2つのコミットに分けるべきです。
含める内容
- 大まかな変更内容
- 変更の理由(特に本文)
- 該当する場合は、破壊的変更や移行に関する注意事項
- 該当する場合は、課題への参照
含めない内容
- ファイル一覧 —
git diffとgit showで確認できます - 曖昧な説明 — 「fix bug」「update stuff」「WIP」
- 無関係な複数の変更 — 別々のコミットに分けます
- 実装の詳細 — 差分を見れば方法がわかります。メッセージでは理由を説明します
よくある落とし穴
- 曖昧な件名: 「fix bug」では読者に何も伝わりません。バグや修正内容を具体的に示します。
- 過去形: 「Added feature」は日記のように読めます。命令形の「Add feature」を使います。
- 件名が長すぎる: 160文字を超えると、多くの表示で途中までしか表示されません。ざっと読める長さに保ちます。
- 件名の後に空行がない: ツール(git log --oneline、GitHub、変更履歴)で問題が発生します。
- 巨大なコミット: メッセージが小説のようなら、コミットが大きすぎます。分割します。
- メッセージ内のコメントアウトされたコード: 差分やコードを本文に貼り付けないでください。
確認
コミットメッセージを書いた後、次の点を確認します:
- 件名が160文字未満で、変更内容を要約している
- 命令形(「Fix」「Add」「Update」)を使っている
- 本文がある場合、件名との間に空行がある
- 本文で何をではなくなぜかを説明している
- 1つのコミットにつき、論理的な変更が1つである
簡単なチェックリスト:
Is the subject under 160 characters?
Does it use imperative mood?
Is there a blank line after the subject?
Does the body explain why (if present)?
Could this commit be split into smaller ones?
コメント
Markdown 対応