AgentSkillsCN

git-commit

掌握在 Git 提交时分析变更内容、合理选择提交前缀(add/fix/docs/refactor/test/chore/perf/build/ci/revert/style),从而生成清晰且可追溯的提交信息并完成提交的技能。该技能适用于提交信息的撰写、前缀的选择、多条变更的拆分判断,以及提交操作的执行。

SKILL.md
--- frontmatter
name: git-commit
description: Gitコミット時に変更内容を分析し、コミットprefix(add/fix/docs/refactor/test/chore/perf/build/ci/revert/style)を適切に選定して、明確で追跡可能なコミットメッセージを作成・実行するためのスキル。コミットメッセージ作成、prefix選定、複数変更の分割判断、コミット実行時に使用する。
allowed-tools: Read, Write, Bash

Git Commit スキル

変更差分を根拠に、適切な prefix を決定して高品質なコミットを作るためのスキルです。

このスキルで採用するprefix

  • add: ユーザー価値が増える機能追加・仕様追加
  • fix: バグ修正・不具合是正
  • docs: ドキュメントのみ変更
  • refactor: 振る舞いを変えない内部改善
  • test: テスト追加・修正
  • chore: 雑務的変更(設定、依存更新、軽微保守)
  • perf: パフォーマンス改善
  • build: ビルドシステムや依存解決の変更
  • ci: CI/CD設定の変更
  • revert: 既存コミットの取り消し
  • style: フォーマットやlintのみ(意味的変更なし)

基本方針

  • 1コミット1目的を守る
  • コミット前に差分を確認する
  • コミットメッセージは日本語で記述する
  • prefix は「変更の主目的」で決める
  • 迷う場合の優先順位は fix > add > refactor > chore

メッセージ形式

text
<prefix>: <summary>

<detail>
- <file path 1>
- <file path 2>
  • summary は 30〜60 文字目安
  • detail は 1〜3 行で要点のみ記載
  • 修正ファイル名は本文に含めてよい(簡潔に列挙)

例:

text
add: 記事選定ロジックに重複除外ルールを追加

候補記事の重複判定を導入し、配信品質を安定化。
- src/newsletter/selector.py
- tests/test_selector.py
text
fix: タイムアウト時に再試行回数が増えない不具合を修正

リトライカウンタ更新条件の分岐漏れを修正。
- src/lambda/handler.py

```text` docs: ローカル実行手順と環境変数の説明を更新

READMEの手順を最新構成に合わせて整理。

  • README.md
code

## 実行フロー

1. 変更確認

```bash
git status --short
git diff --staged
git diff
  1. 変更の主目的を1文で定義
  • 「何を直した/追加したか」ではなく「なぜ必要か」を明確化
  1. prefix判定
  • 判定表に従い最も影響の大きい変更を採用
  • 複数目的が混在する場合はコミット分割を優先
  1. ステージング整理
bash
git add <file>
# または

git add -p
  1. コミット実行
bash
git commit -m "<prefix>: <summary>" -m "<detail>\n- <file path>"

prefix判定ルール(実務用)

  • バグを直しているなら fix(新規機能を含んでも原則 fix
  • 新しい振る舞いを導入するなら add
  • 外部仕様に影響せず内部構造のみ整理なら refactor
  • テストだけなら test
  • ドキュメントだけなら docs
  • CI定義だけなら ci
  • 依存解決・ビルド定義中心なら build
  • 速度改善が主目的なら perf
  • どれにも当てはまらない保守作業は chore

NG例

  • update, misc, changes のような曖昧なsummary
  • 無関係な変更を1コミットに混在
  • fix なのに本文が「機能追加」中心
  • 巨大コミットを分割せずにそのまま記録
  • 詳細が長すぎて差分を読まないと要点が分からない本文

実行前チェックリスト

  • 差分を確認した
  • prefixの根拠を説明できる
  • 1コミット1目的になっている
  • summary と detail が重複せず簡潔
  • 本文に主要な修正ファイル名を記載した
  • テストまたは最低限の動作確認を実施した

クイックコマンド

このスキルを呼び出すコマンドprefixは以下を推奨:

text
/git-commit

実行例:

text
/git-commit 「変更差分を見て適切なprefixでコミットして」