Git Commit スキル
MCP連携を活用してチケット情報を取得し、適切なコミットメッセージを生成してコミットを実行します。
このスキルの目的
- •チケット情報の自動取得 - ブランチ名からチケットIDを抽出し、MCPでチケット詳細を取得
- •コミットメッセージの生成 - チケット情報と変更内容からコミットメッセージを自動生成
- •コミット実行 - ユーザー確認なしにコミットを実行
処理フロー
以下の手順でコミットを実行してください。
1. 現在のブランチ名を取得
git branch --show-current
2. ブランチ名からチケットIDを抽出
以下のパターンからチケットIDを抽出してください:
| ブランチパターン | 抽出対象 |
|---|---|
feature/{チケットID}-* | {チケットID} 部分 |
issue/{チケットID}-* | {チケットID} 部分 |
bugfix/{チケットID}-* | {チケットID} 部分 |
hotfix/{チケットID}-* | {チケットID} 部分 |
fix/{チケットID}-* | {チケットID} 部分 |
チケットIDの例:
- •GitHub/GitLab Issue:
123,456 - •Jira:
PROJ-123,ABC-456 - •Redmine:
#123,123
3. 利用可能なMCPを確認してチケット情報を取得
チケットIDのフォーマットに応じて、適切なMCPを使用してチケット情報を取得してください。
GitHub Issues(MCPが利用可能な場合)
チケットIDが数値のみの場合、GitHub MCPの github-mcp-server-issue_read を使用:
method: get
owner: {リポジトリオーナー}
repo: {リポジトリ名}
issue_number: {チケットID}
GitLab Issues(MCPが利用可能な場合)
GitLab MCPが利用可能な場合、該当するツールでIssue情報を取得してください。
Jira(Atlassian MCPが利用可能な場合)
チケットIDが PROJ-123 形式の場合、Atlassian/Jira MCPを使用してチケット情報を取得してください。
Redmine(Redmine MCPが利用可能な場合)
Redmine MCPが利用可能な場合、該当するツールでチケット情報を取得してください。
MCPが利用できない場合
ブランチ名から推測できる情報のみを使用してコミットメッセージを生成してください。
- •チケットID: ブランチ名から抽出したID
- •タイトル: ブランチ名のID以降の部分をタイトルとして使用(ハイフンをスペースに置換)
4. 変更内容を確認
git status git diff --cached --stat git diff --cached
ステージングされていない変更がある場合は、ユーザーに確認してください。
5. コミットメッセージを日本語で生成
🚨 重要:コミットメッセージは必ず日本語で生成してください 🚨
絶対に英語でコミットメッセージを生成してはいけません。
- •サマリー行(1行目)は日本語で記述すること
- •詳細説明(2行目以降)も日本語で記述すること
- •Conventional Commitsのプレフィックス(feat:, fix: など)を使用する場合でも、コロンの後は必ず日本語で記述すること
- •チケット参照(refs #123)以外は、すべて日本語で記述すること
変更内容から適切な日本語コミットメッセージを生成してください。
フォーマット例:
機能: コンポーネント名の説明 - 変更内容1 - 変更内容2 - 変更内容3
または
feat: 機能の説明(日本語) - 実装内容の詳細
チケットIDがある場合:
refs #{チケットID} 機能の説明(日本語)
- 実装内容の詳細
例:
refs #123 ログイン機能の実装 - ログインフォームコンポーネントを追加 - 認証APIとの連携を実装 - バリデーション処理を追加
6. コミット実行
確認なしでコミットを実行:
git commit -m "{生成したコミットメッセージ}"
リポジトリ情報の取得方法
GitHub/GitLabのリポジトリ情報は以下のコマンドで取得できます:
git remote get-url origin
出力例からowner/repoを抽出:
- •
https://github.com/owner/repo.git→ owner:owner, repo:repo - •
git@github.com:owner/repo.git→ owner:owner, repo:repo
注意事項
- •ステージングされた変更がない場合は、何をステージングするか確認してください
- •🚨 コミットメッセージは必ず日本語を使用してください(英語は禁止)🚨
- •opus-parent-agentを含むすべてのエージェントは、日本語でコミットメッセージを生成する必要があります
- •子エージェントにコミット作業を依頼する場合も、「コミットメッセージは必ず日本語で生成すること」を明確に指示してください
- •MCPが利用できない場合でも、ブランチ名から最低限の情報を抽出して処理を継続してください
- •複数のチケットに関連する変更の場合は、ユーザーに確認して適切なチケットIDを選択してください
典型的なワークフロー
[ブランチ確認] --> ブランチ名からチケットID抽出
|
[MCP確認] --> 利用可能なMCPでチケット情報取得
|
[変更確認] --> git status/diff でステージング状態確認
|
[メッセージ生成] --> チケット情報+変更内容で日本語コミットメッセージ作成
|
[コミット実行] --> git commit 実行