AgentSkillsCN

commit

根据提交规范生成提交(自动判断变更的分类与拆分)。当用户输入“提交”“提交更改”“/commit”等指令时使用。以Conventional Commits为基础,遵循相关规范,自动生成恰当的type、scope和subject。对于应拆分为多个逻辑单元的变更,系统会自动判断并将其拆分为多条提交。

SKILL.md
--- frontmatter
name: commit
description: コミット規約に沿ったコミットを作成する(変更の分類・分割も自動判断)。ユーザーが「コミットして」「変更をコミット」「/commit」などと言った場合に使用。Conventional Commitsを基本とした規約に従い、適切なtype/scope/subjectを自動生成。複数の論理単位に分割すべき変更は自動判断して複数コミットに分割する。

コミット作成スキル

実行フロー

1. 変更の確認

bash
git status
git diff
git diff --staged
git log --oneline -5
  • 変更ファイルと差分を確認
  • 最近のコミットスタイルを参照

2. 変更の分類と分割判断

以下の場合はコミットを分割:

  • 異なる機能の変更が混在
  • featfix が混在
  • 独立してリバート可能な変更が含まれる
  • 差分が大きすぎる(300行超が目安)

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

references/commit-conventions.md の規約に従ってメッセージを生成。

Bodyの「なぜ」について:

  • コードの差分や会話の文脈から変更理由が推測できる場合は記述
  • 推測できない場合はユーザーに確認(例: 「この変更の背景や理由を教えてください」)
  • 単純な変更(typo修正、フォーマット等)はbody省略可

4. ユーザー確認

コミットを分割する場合はその理由と分割単位を提示し、確認。 分割の必要がない場合は、確認不要。

5. コミット実行

確認後、git addgit commit を実行。

分割が必要な場合は、各まとまりごとにステージング→コミットを繰り返す。

注意事項

  • git commit --amend は使用しない(明示的な指示がない限り)
  • --no-verify は使用しない(明示的な指示がない限り)
  • プッシュは行わない(明示的な指示がない限り)