AgentSkillsCN

personal-creating-git-commit

根据 Git 仓库的风格创建提交。当用户请求提交,或当代理需要提交时,务必使用此功能。

SKILL.md
--- frontmatter
name: personal-creating-git-commit
description: Git リポジトリのスタイルに合わせてコミットを作成します。ユーザーがコミットを求めたときや、エージェントがコミットするときに必ず使用してください。
allowed-tools: Bash(git diff:*), Bash(git log:*), Bash(sed:*), Bash(tr:*), Bash(sort:*), Bash(xargs:*)

Git コミット作成

ワークフロー

1. 情報収集

ステージングされた変更がある場合:

bash
git diff --staged
git log --oneline -10

ステージングされた変更がない場合:

bash
git diff
git log --oneline -10

2. 判定

過去のコミット履歴から以下を判定します。判定不可の場合はユーザーに確認してください。

言語判定

言語パターン
日本語日本語が含まれる
英語英語のみが含まれる
その他上記以外

スタイル判定

スタイルパターン
Conventional Commitsfeat:, fix:
gitmoji絵文字で始まる
シンプル形式上記以外

gitmoji の場合、絵文字の形式(Unicode / Shortcode)も判定してください。

スコープ判定

過去 10 件にスコープ(例: feat(auth):✨ (auth):)が含まれているかを判定します。

含まれている場合、以下のコマンドでスコープ一覧を取得します:

bash
git log --oneline -100 | sed -n 's/^[a-f0-9]* [^(:]*(\([^)]*\)):.*/\1/p' | tr ',' '\n' | sed 's/^ *//' | sort -u | xargs | sed 's/ /, /g'

3. コミットメッセージ生成

判定結果に基づいてコミットメッセージを生成します。

  • タイトル(1行目): What(何をしたか)を簡潔に、50 文字以内
  • ボディ(本文): Why(なぜしたか)を必要に応じて補足
  • コード参照: コードやパスを表す場合はバッククォートで囲む
  • 言語: 判定した言語に合わせる
  • スタイル: 判定したスタイルに従う(Conventional Commits / gitmoji
  • スコープ: スコープ一覧から適切なものを選択(該当する場合)

4. コミット作成

生成したメッセージを表示し、コミットを作成します。