inkblot-commit-message について
Jira チケットに紐づく作業のコミットメッセージ規則を定める、コーディングエージェント向けスキルです。チケットがないコミットには形式を課さず、対象ごとに大文字のキーと命令形の要約を使います。
主な機能
- 01件名に大文字の Jira キー
- 02コミットごとにチケットを 1 件指定
- 03命令形で文頭を大文字にした要約
- 04Conventional Commits の接頭辞なし
- 05コミット本文は必須ではない
活用シーン
- 01Jira 管理の変更をコミットする場面
- 02複数チケットに紐づくブランチのコミット整理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ inkblot-therapy/ ai-skills --skill inkblot-commit-messageインストール後、Claude Code で/inkblot-commit-messageを入力して読み込まれたか確認します。
詳細
Inkblot のコミットメッセージ
この規約が必須となるのは、作業に Jira チケットがある場合のみです。チケットがない場合は、ID をでっち上げたり、チケットを求めたりせず、件名に制限を設けないでください。
チケットがある作業(必須)
<TICKET-ID>: <Concise imperative summary>
- Jira キー全体を大文字で記載し、コミットごとにチケットを1 件だけ指定します(例:
POD2-2291。pod2-2291や2-2291ではありません) - キーの後にコロンとスペースを置き、命令形の要約を続けます(「修正する…」「追加する…」「名前を変更する…」)
- 文頭のみ大文字にします。1 行で記載します。約 72 文字を目安にしてください。ファイルの一覧ではなく、結果を記載します。
- 件名には、そのコミットが対象とするチケットを記載します。PR 上のすべてのチケットではなく、常にブランチ名のチケットを記載するわけでもありません。
Conventional Commits のプレフィックス(feat:、fix:、chore:)は使用しないでください。分類にはチケットを使います。
1 つの作業に複数のチケットがある場合
ブランチ/PR に複数のチケットが記載されていても、各コミットのキーは 1 つだけです。そのコミットで実装または修正するチケットを指定します。
- その作業に関するコミットでは、原則としてブランチのチケットを使います(
pod2-2291-…→POD2-2291: …)。 - このコミットが別の関連チケットに対応する場合は、件名のキーを切り替えます。
- このコミットがどのチケットに対応するか不明な場合は、確認してください。ID をでっち上げたり、キーを連結したりしないでください(
POD2-2276-2277: …)。
例 — ブランチ pod2-2276-restrict-provider-access に、POD2-2277 も関連付けられている場合:
POD2-2276: Restrict availability reserved-for-clientPOD2-2277: Hide estimates from unauthorized clients
例
POD2-2291: Fix no-show video call outcomePOD2-2291: Baseline the false-positive Brakeman role warningPOD1-3452: Rename renewal date service to resolverPOD1-3452: Guard missing specialized renewal periods
本文
規則はありません。本文を必須にせず、ユーザーから求められない限り追加しないでください。背景情報は Jira にあります。
禁止事項(チケットがある作業のみ)
feat: add renewal dates/fix: …— Conventional Commits は使いませんpod2-2291: Fix no-show …— コミットではキーを大文字にします2-2291: Fix no-show …— Jira キーではありませんPOD2-2291 - fix stuff—-ではなく:を使いますPOD2-2291: Fixed bug— 命令形(Fix …)を推奨しますPOD2-2276-2277: …— 件名に指定する主要チケットは 1 件です- チケット ID をでっち上げること
検証(フック/リンター向け)
^[A-Z][A-Z0-9]+-[0-9]+: .+
チケットがない場合
件名に関する規則はありません。マージコミット、同期、その他のチケットに紐付かない作業では、任意の件名を使用できます。
理由
- 件名にチケットを記載する: Jira Smart Commits と GitHub–Jira 連携は、コミットの件名を読み取ります。ブランチ名だけでは不十分です。
- ここでは大文字、ブランチでは小文字: トラッカーでは正規の
POD2-2291:形式が必要です。Git の大文字と小文字の区別による問題を避けるため、ブランチ名は小文字のままにします。 feat:/fix:を使わない: チケットですでに作業を分類できます。プレフィックスを 2 つ付けると、件名が長くなるだけです。- チケットがある場合のみ適用: ブランチと同様です。チケットのない雑務、マージ、ホットフィックスを妨げないでください。
- ブランチごとではなく、コミットごとにチケット 1 件: Jira は件名に記載されたキーにコミットを紐付けます。1 つの PR で複数のチケットを扱う場合、各コミットは実際に変更するチケットに紐付けてください。件名に ID を連結すると、grep、フック、紐付けに支障が出ます。
- 本文の規約を設けない: チケットにはすでに背景情報があります。Git に 2 段落目を追加しても Jira の紐付けには役立たず、エージェントが内容をでっち上げる原因にもなりやすいです。
コメント
Markdown 対応