Communityライティング&編集github.com

mdesoeuv/claude_skills

適切なスコープのgitコミットをConventional Commitメッセージで作成します。ユーザーがコミット、作業の保存、「これを出荷」と依頼したとき、あるいは変更を完了してgitに記録したいとき(「コミット」と言わない場合でも)使用します。また、コミットメッセージを作成または書き換えるときにも使用します。

claude_skills とは?

このスキルは、Conventional Commit形式に従った、スコープの明確なGitコミットを作成するためのAIエージェント(Claude Code、Cursor、Codexなど)向けのツールです。一年後にインシデント対応で誰かが読むことを想定し、可読性と履歴の明確さを最適化します。ワークフローでは、コミット前に `git status` や `git diff` で変更を確認し、認証情報や機密データの混入を防止。ステージングはファイル単位で行い、1コミット=1論理変更を徹底します。メッセージ本文には「なぜこの変更が必要か」「何を検討したか」を2〜4文で記述し、フッターにはチケット番号や破壊的変更の注記を含めます。引数が与えられた場合はそれをスコープやサマリのヒントとして扱いますが、実際のdiffと一致しない場合は修正します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mdesoeuv/claude_skills/tree/HEAD/skills/commit

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

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

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

ドキュメント

Commit

コミットは、一年後に誰かがインシデント対応でプレッシャーの中読む最小の履歴単位です。その読み手のために最適化しましょう。

ワークフロー

  1. コミット前に確認:git status、git diff --staged、git diff。決して盲目的にコミットしないでください。
  2. 絶対に含めてはいけないものを確認:認証情報、.env ファイル、秘密鍵、大きなバイナリ、デバッグ用プリント、コメントアウトされたコード。見つかったら停止し、ユーザーに伝えてください。secrets-hygiene スキルを参照してください。
  3. 意図的にステージングする。git add -A よりも git add <paths> を推奨します。1コミットにつき1論理変更;diffにリファクタリングと機能追加が混在している場合は分割してください。
  4. 以下の形式でメッセージを書きます。
  5. ヒアドキュメントを使ってコミットすると、複数行の本文がシェルでそのまま維持されます:
git commit -m "$(cat <<'MSG'
feat(auth): add OIDC login for the admin console

Replaces the shared basic-auth password with Cognito-backed OIDC so
access can be revoked per user. Sessions expire after 8h.

Refs: PLAT-412
MSG
)"
  1. git log -1 --stat で確認します。ユーザーが明示的に依頼しない限り、修正(amend)や強制プッシュ(force-push)はしないでください。

メッセージの形式

<type>(<scope>): <命令形のサマリ, 72文字以下, 末尾にピリオドなし>

<なぜこの変更が必要か — diffはすでに何が変わったかを示しているので、それではなく理由を書く>

<フッター: Refs/Closes チケット, BREAKING CHANGE: ..., Co-Authored-By>

タイプ:feat、fix、refactor、perf、test、docs、build、ci、chore、revert。 スコープは対象のモジュール、サービス、スタック(api、terraform/vpc、ci)。変更が全体的な場合は省略します。

本文はサマリよりも重要です。「なぜ今なのか?」「何を検討したのか?」を2〜4文で答えてください。些細な変更であれば1行コミットでも構いません。

例

入力: S3バケットにタグがない場合のヌルポインタを修正した 出力: fix(s3-inventory): handle buckets with no tag set

入力: terraformのawsプロバイダを5.40から5.60にバンプした。新しいlambdaランタイム属性に必要 出力:

build(terraform): bump aws provider to 5.60

Required for `aws_lambda_function.runtime = "python3.13"`. No resource
diffs on `terraform plan` across all stacks.

$ARGUMENTS が与えられた場合

ユーザーからのスコープまたはサマリのヒントとして扱いますが、それでもdiffを確認し、実際の変更と一致しない場合は修正してください。

Individual skills in this repo

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

関連スキル