AgentSkillsCN

git-commit

按适当粒度提交变更文件

SKILL.md
--- frontmatter
name: git-commit
description: 変更ファイルを適切な単位でコミット
disable-model-invocation: true

/git-commit

使用方法

code
/git-commit

実行内容

  1. git status で変更ファイルを確認
  2. git diff で差分の規模と内容を確認
  3. 変更の分析と分割判断:
    • 分割の原則: 1つの論理的な変更 = 1コミット
      • 自己完結: そのコミット単体でビルド・テストが通る
      • 小規模・アトミック: 1つのことだけを実行
      • 関連する変更はまとめ、無関係な変更は分ける
    • 目安: 100行程度が妥当、1000行は大きすぎ(ファイル数も考慮)
  4. 分割してコミットする場合:
    • git add -pgit add [特定ファイル] で段階的にステージング
    • 各コミットが独立して意味を持つようにする
    • 各コミットにビルドが通る状態を保つ(可能な限り)
  5. git log --oneline -10 で過去のコミットメッセージスタイルを確認
    • 言語(英語/日本語)の判定
    • プロジェクト固有のフォーマット(type(scope):形式など)の検出
  6. 各コミットに明確で簡潔なメッセージを付与
    • 言語統一: 要約行と詳細は同じ言語で記述(過去のコミットログから判断)
    • 要約行: 72文字以内(目安50-60文字)で変更内容を端的に表現
    • 詳細: 必要な場合のみ追加(大半のコミットは要約行のみで十分)
    • 形式: 「動詞 + 対象 + (理由)」(例: "Fix login timeout issue")
    • 避けるべき:
      • 実装の詳細な説明、コードの羅列、冗長な背景説明
      • メタ的なメッセージ(「レビュー対応」「フィードバック修正」など) → 技術的な理由を書く(例: 「データ整合性のためトランザクション追加」)
    • 参考: Linuxカーネルの中央値は55文字、94%が72文字以内
  7. コミット後の確認
    • git status で正常にコミットされたことを確認
    • 必要に応じて git log -1 でコミット内容を確認