Community研究&データ分析github.com

最小限のGitコミット

Conventional Commitsを使用してアトミックなGitコミットを作成します。ユーザーがコミットの生成や作成を依頼したときに使用します。デフォルトではクイックモードを使用し、完全な差分解析が明示的に要求された場合のみフルモードを使用します。

最小限のGitコミット とは?

このスキルは、AIエージェントが現在のタスクに対してアトミックなGitコミットを作成するためのものです。すべてのコミットメッセージはConventional Commitsに従って生成されます。デフォルトではクイックモードを使用し、エージェントのタスク要約と`git status --short`、`git diff --stat`の確認のみでコミットを生成します。完全な差分解析が必要なフルモードは、ユーザーが明示的に`full`と要求した場合にのみ使用されます。フルモードでは、変更された全ファイルの差分を確認し、Conventional Commitsの詳細なルールに従ってコミットを分割し、生成ファイルや機密ファイルの確認、既存のプロジェクトコマンドによるチェックも行います。このスキルは主にClaude CodeのようなAIエージェントで使用され、常にユーザーの明示的なコミット要求を待ってからGit操作を実行し、誤った変更や機密情報のコミットを防ぎます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/BWBYB/agent-skills/tree/HEAD/skills/minimal-git-commit

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

最小限のGitコミット は何をしますか?

目標

現在のエージェントタスクに対して、1つ以上のアトミックなコミットを作成します。生成されるすべてのコミットメッセージはConventional Commitsに従います。通常の依頼では低コンテキストで処理し、完全な差分解析は明示的なフルモード要求があった場合のみ実行します。

モード選択

  • デフォルトではクイックモードを使用します。
  • フルモードは、ユーザーがfullと発言した場合、完全な差分のスキャンや分析を依頼した場合、またはすべての変更を明示的に確認するよう依頼した場合にのみ使用します。
  • クイックモードを黙ってフルモードにアップグレードしないでください。クイックモードで十分な情報が得られない場合は、変更の要約を求めるか、ユーザーにフルモードを選択するよう依頼してください。

クイックモード

まずはエージェントが現在のタスクについて明確にした要約を使用します。必要な場合にのみ、以下を確認します:

git status --short
git diff --stat

完全な差分や履歴は読み取らないでください。タスク要約にない変更については推測しないでください。明示された変更をアトミックなコミットにグループ化し、メッセージを生成します。ユーザーが明示的にコミットを依頼した場合、ファイルの境界が不明瞭なときは、インデックスを変更したりコミットを作成する前に、予定しているファイルやメッセージを表示してください。

フルモード

関連するワーキングツリーとステージングされた差分をすべて読み取り、変更されたすべてのファイルを検査し、Conventional Commitsリファレンスを読んでください。欠落している機能、テスト、ドキュメント、設定、無関係なファイル、機密ファイル、生成ファイル、独立した論理的な変更がないか確認してください。生成されたファイルがバージョン管理に含まれるべきかを確認:ロックファイルやマイグレーションなどプロジェクトに必要な出力は保持し、ビルド成果物やローカル出力は除外してください。独立した機能、バグ修正、リファクタリング、フォーマットのみの変更はアトミックなコミットに分割し、緊密に結合されていて独立したテストや元に戻すことができない変更はまとめてください。既存のプロジェクトコマンドを使用して、変更されたファイルに関連するチェックを実行してください。デフォルトではテスト、リント、型チェックの全スイートを実行しないでください。タスク中にすでに実行されたチェックを再利用し、要求された場合や変更に必要な場合にのみ検証を拡張してください。明示的に要求されない限り、履歴を確認しないでください。

git addまたはgit commitの前に、現在のタスクの範囲外にあるユーザーの変更を保持してください。それらの変更操作は、ユーザーが明示的にコミットを依頼した場合にのみ実行してください。このスキルの一部としてプッシュは決して行わないでください。

コミットルール

以下の形式を使用します:

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]
  • 新機能にはfeatを、バグ修正にはfixを使用します。
  • プロジェクトで使用されているdocs、style、refactor、perf、test、build、ci、chore、revertのタイプを、変更を正確に説明する場合に優先して使用します。
  • 名詞のスコープは、有用なコンテキストを追加する場合にのみ括弧内で使用します。
  • 破壊的変更は、コロンの前に!を付けるか、大文字のBREAKING CHANGE:フッターでマークします。
  • 説明は簡潔で、現在形、命令形、できれば72文字未満にします。
  • 1つのコミットは1つの論理的な変更を表します。独立した機能、修正、テスト、ドキュメント、リファクタリングは可能な限り分割します。
  • fixはSemVer PATCH、featはMINOR、破壊的変更はMAJORに対応します。別途要求がない限り、バージョンファイルは変更しないでください。

安全性と確認

  • デフォルトでgit add .を使用しないでください。現在のタスクに属するファイルのみを追加してください。
  • .env、認証情報、トークン、秘密鍵、その他の機密情報をコミットしないでください。
  • フルモードでは、ステージングされた内容に機密情報がないか確認し、生成ファイルやビルドファイルがプロジェクトに期待されるものであることを確認してから含めてください。
  • Git設定の変更、フックのスキップ、force-push、既存のコミットの修正は、ユーザーがその正確なアクションを明示的に要求した場合を除き、決して行わないでください。
  • 既存のユーザー変更とエージェントの変更を混在させないでください。
  • タスクの境界、ファイルの所有権、論理的な分割、機密ファイルの状態が不明瞭な場合は、停止して確認してください。
  • メッセージを作成することはコミットを作成する許可ではありません。git addまたはgit commitの前に、明示的なコミット要求が必要です。

リファレンス

references/conventional-commits.mdは、フルモード、またはタイプ、フッター、破壊的変更、revert、SemVer、FAQの質問で詳細な処理が必要な場合に読んでください。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

関連スキル