mcpField
G
git-commit

git-commit

github.com/dmythro開発7156 回インストール6 日前に更新
リポジトリ

git-commit について

git-commit は、リポジトリ固有の規則がない場合に、Git のコミットや PR/MR タイトルへ Conventional Commits を適用するスキルです。メッセージの確認や squash merge 用メッセージの作成も扱います。

主な機能

  1. 01Conventional Commits の書式規則
  2. 02プロジェクト固有規則の優先
  3. 03コミットと PR/MR タイトルの指針
  4. 04メッセージの確認と検証
  5. 05GitHub と GitLab の判別

活用シーン

  1. 01変更内容のコミットメッセージ作成
  2. 02squash merge 用 PR/MR の命名
  3. 03コミットメッセージの規則確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/dmythro/agent-skills --skill git-commit

インストール後、Claude Code で/git-commitを入力して読み込まれたか確認します。

詳細

Conventional Commits

デフォルトのコミット形式: Conventional Commits。 プロジェクトで独自のコミット規約が定められていない限り、すべてのコミットと PR/MR タイトルにこの形式を使用してください(CLAUDE.md、AGENTS.md、コントリビューションガイドなどを確認してください)。プロジェクト固有のルールが常に優先されます。

使用する場面

  • git コミットを作成する場合 -- このスキルで必須の形式を定めています
  • PR/MR タイトルを作成する場合 -- スカッシュマージでは、タイトルがコミットメッセージとして使用されます
  • スカッシュマージのメッセージを書く場合 -- 同じ形式に従う必要があります
  • コミットメッセージの形式をレビューする場合 -- これらのルールに照らして確認します

重要なルール

  1. プロジェクトのルールがこのスキルより優先されます -- プロジェクトでコミットメッセージの規約(課題番号の接頭辞、独自の形式など)が定められている場合は、そちらに従ってください。プロジェクト固有のルールがない場合、このスキルがデフォルトになります。
  2. タイプは必須です -- タイプの接頭辞なしでコミットしないでください
  3. 説明は小文字で、命令形とし、末尾にピリオドを付けません:fix: handle null response とし、Fix: Handled null response. とはしません
  4. Co-Authored-By のトレーラーは付けません -- コミットメッセージに追加しないでください
  5. 作業の経緯ではなく、変更内容を説明します -- レビュープロセスの経緯(fix: coderabbit round 2 fixes、fix: address review feedback など)をメッセージに書かず、コミットで何を変更するのかを記述してください。変更のきっかけは、すでに PR とそのスレッドに記載されています。
  6. 余計な文言は入れません -- 通常は説明だけで十分です。説明と差分だけでは伝えられない情報(破壊的変更の詳細、移行手順、明白でない制約)がある場合に限り、本文を追加してください。差分の内容を逐一説明しないでください。

プロバイダーの判別

適切な CLI を使用するため、git プロバイダーを判別します。

git remote get-url origin
リモート URL に含まれる文字列プロバイダーCLIPR の呼称
github.comGitHubghPR
gitlab.com またはセルフホスト GitLabGitLabglabMR

判別できない場合、または両方が存在する場合は、ユーザーに確認してください。


形式

<type>(<optional scope>): <description>

[optional body]

[optional footer(s)]

タイプ

タイプ使用する場面
feat新機能または新しい能力の追加
fixバグ修正
docsドキュメントのみの変更
style書式、空白、セミコロンの変更(ロジックの変更なし)
refactorバグ修正でも機能追加でもないコード変更
perfパフォーマンスの改善
testテストの追加または更新
buildビルドシステムまたは外部依存関係の変更
ciCI/CD 設定の変更
chore保守作業、ツール、設定の変更

ルール

  1. タイプは必須です -- タイプの接頭辞なしでコミットしないでください
  2. スコープは任意ですが、複数モジュールのリポジトリでは推奨されます:feat(auth): add OAuth2 flow
  3. 説明は小文字で、命令形とし、末尾にピリオドを付けません:fix: handle null response とし、Fix: Handled null response. とはしません
  4. 破壊的変更には、タイプまたはスコープの後に ! を付けます:feat(api)!: remove v1 endpoints
  5. PR/MR タイトルも同じ形式に従います -- スカッシュマージでは、PR/MR タイトルがコミットメッセージとして使用されます
  6. Co-Authored-By のトレーラーは付けません -- コミットメッセージに追加しないでください
  7. 作業の経緯ではなく、変更内容を説明します -- 変更内容を記述し、レビュー担当者に求められた理由は書きません(下記の「レビュー対応コミット」を参照)
  8. 本文は任意で、追加することはまれです -- 説明と差分だけでは伝えられない内容がある場合に限り追加してください。差分の言い換えや、説明の水増しはしないでください

コミットの例

git commit -m "feat: add user profile page"
git commit -m "fix(auth): prevent token refresh race condition"
git commit -m "docs: update API reference for v2 endpoints"
git commit -m "refactor(db): extract connection pooling logic"
git commit -m "feat(api)!: change response format for /users"

レビューフィードバック対応コミット

レビュー(人間またはボット)からのフィードバックに対応するコミットにも、ほかのコミットと同じルールが適用されます。メッセージには変更内容を記載します。きっかけとなったレビュー担当者、ボット、ラウンド番号は、PR のスレッドにすでに記録されているプロセス上の情報であり、git log には不要です。

ノイズ(避ける)変更内容
fix: coderabbit round 2 fixesfix: guard nil user in session refresh
fix: address PR review feedbackfix: close file handle on early return
chore: apply copilot suggestionsrefactor: dedupe retry logic across fetchers

1 回のレビューラウンドで、異なる種類のコミットが生まれることもあります。ラウンドごとではなく、変更内容ごとに分けます。

PR/MR タイトルの例

プロバイダー次のタイトルで PR/MR を作成する
GitHubgh pr create --title "feat: add dark mode" --body "..."
GitLabglab mr create --title "feat: add dark mode" --description "..."

コメント