mcpField
G
git-commit

git-commit

github.com/fudesign2008開発689 回インストール2 日前に更新
リポジトリ

git-commit について

git-commitは、コミット情報の収集、ワークスペース内のプロジェクト検出、形式に沿ったコミットメッセージ作成を行うスキルです。通常はGit操作を実行し、明示的に手動モードを求めた場合はコマンドのみを提示します。

主な機能

  1. 01自動・手動の実行モード
  2. 02コミット情報の項目と形式ルール
  3. 03複数プロジェクトの検出
  4. 04状態確認・ステージング・コミット・プッシュ
  5. 05大規模変更と保護ブランチの警告

活用シーン

  1. 01ワークスペースの変更から形式に沿ったコミットを作成
  2. 02実行せずにGitコマンドを用意
  3. 03検出した複数プロジェクトの変更を個別にコミット
  4. 04コミット前にブランチと変更規模を確認

インストール

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

$npx skills add https://github.com/fudesign2008/open-skills --skill git-commit

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

詳細

Git Commit — 統合エントリ(デフォルトは自動モード)

モード判定ルール

シグナル結果
呼び出し元が execute=true を渡す、または jira-fix-workflow のフェーズ 7 から起動された場合自動モード
ユーザーが「手動でコミット」「コマンドのみ生成」「実行しないで」「コマンドを教えて」と指示した場合手動モード
その他のトリガー、または状況が不明確な場合デフォルトで自動モード

実行フロー

ステップ 1:コミット情報を収集する

コミットメッセージのフィールド:

  • type:fix、feat、refactor、perf、style、docs、test
  • scope(任意):ai-summary、share、auth、api、ui、core
  • subject:ユーザーの希望する言語での簡潔な説明、最大 50 文字
  • jira_id(任意):例:PROJ-123

(jira_id は任意です。branch、report_path などのその他のコンテキストフィールドは呼び出し元から渡され、コミットには含めません)

ステップ 2:実行モードを決定する

execute=false(手動)または execute=true(自動)を決定します。上記の「モード判定ルール」を参照してください。

ステップ 3:複数プロジェクトの検出

スキャンルール:

  • スキャン範囲:ワークスペースルートの第 1 階層および第 2 階層のサブディレクトリ
  • 判定方法:.git ディレクトリの有無
  • 除外対象:node_modules、.cursor、dist、build、.git、隠しディレクトリ(. で始まるディレクトリ)
  • 各候補ディレクトリで git status を実行し、有効性を確認する

複数プロジェクトのシナリオ:レポートファイルはプライマリプロジェクト(最初のプロジェクト)でのみコミットします。変更のある各プロジェクトには、それぞれ個別のコミットメッセージを作成します。

ステップ 4:コミットメッセージを生成する

形式:

<type>(<scope>): <Jira-ID> <subject>

ルール:

  • 件名:最大 50 文字、ユーザーの希望する言語で記述し、type に対応する動詞を含める必要があります(例:feat:追加、fix:修正、refactor:リファクタリング、perf:最適化、style:フォーマット、docs:ドキュメント、test:テスト)
  • Jira ID がある場合は、件名の前に配置する
  • scope がない場合は括弧を省略する:<type>: <subject>
  • コミットメッセージにはタイトル行のみを含め、本文は含めない
ステップ 5:Git 操作を実行する

手動モード(execute=false):コマンドを生成しますが実行せず、ユーザーに手動実行を促します。

自動モード(execute=true):以下のコマンドを順番に実行し、それぞれの結果またはステータスを出力します。

  1. git status — 現在の変更の概要を出力する
  2. 保護ブランチの確認 — main/master/develop への直接コミットはコードレビューを回避し、未レビューの本番コードが main に取り込まれることになります。検出した場合はユーザーに警告する
  3. git add . — ステージ済みファイルのステータスを出力する
  4. git commit -m "..." — コミットハッシュとメッセージを出力する
  5. git log -1 --stat — コミットの統計情報(変更ファイル数と行数)を出力する
  6. git push -u origin [branch-name] — push の結果またはブランチの追跡情報を出力する

複数プロジェクトの場合、各プロジェクトでこれらの手順を個別に実行し、最後にサマリーテーブルを出力します。

出力形式

自動モード(デフォルト):

## Git Commit (Auto Mode)

**Project**: backend   **Branch**: fix/PROJ-123
**Commit**: a1b2c3d  **Push**: ✅ Success
**Changes**: +45/-12 (3 files)

**Next**: Create PR → Code Review → Test Verification

手動モード(明示的なリクエストがある場合):

## Git Commit (Manual Mode)

**Generated Commit Message**:
fix(ai-summary): PROJ-123 修复分享链接中AI摘要按钮显示问题

**Commands**:
git status
git add .
git commit -m "fix(ai-summary): PROJ-123 修复分享链接中AI摘要按钮显示问题"
git log -1 --stat
git push -u origin [branch-name]  # optional

**Note**: Please review and execute the above commands manually.

複数プロジェクトの場合、各プロジェクトの結果を個別に出力し、最後にサマリーテーブルを出力します。

エラー処理

状況対応
未コミットの変更がない手動モード:コミット対象がないことをユーザーに伝える。自動モード:「No changes to commit」を出力するか、git add . を実行して「Staging area empty」と表示する
ブランチが存在しないエラーを出し、先にブランチを作成するよう提案する
Git 操作が失敗したエラーを表示し、代替策(再試行のため「手動でコミット」するよう提案する)を提示する
Git リポジトリ内にいないエラーを出して終了し、ディレクトリを確認するよう提案する
複数プロジェクトの検出に失敗した現在のディレクトリを使った単一プロジェクトモードにフォールバックする

安全機構(自動モード)

  • 変更が 10 ファイル/500 行を超えた場合に警告し、20 ファイル/1000 行で再度警告する(警告によって処理はブロックされません)。あるプロジェクトで失敗しても、他のプロジェクトには影響しません

コメント