jpskill.com
✍️ ライティング コミュニティ

git-commit-pro

変更内容を解析し、Conventional Commitsという標準に沿った、構造的で分かりやすいgitのコミットメッセージを自動で作成し、変更のコミットやメッセージ改善を支援するSkill。

📜 元の英語説明(参考)

Write well-structured git commit messages following the Conventional Commits standard. Use when a user asks to commit changes, write a commit message, stage and commit, improve a commit message, or follow commit conventions. Analyzes diffs to produce accurate, meaningful commit messages.

🇯🇵 日本人クリエイター向け解説

一言でいうと

変更内容を解析し、Conventional Commitsという標準に沿った、構造的で分かりやすいgitのコミットメッセージを自動で作成し、変更のコミットやメッセージ改善を支援するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o git-commit-pro.zip https://jpskill.com/download/14941.zip && unzip -o git-commit-pro.zip && rm git-commit-pro.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/14941.zip -OutFile "$d\git-commit-pro.zip"; Expand-Archive "$d\git-commit-pro.zip" -DestinationPath $d -Force; ri "$d\git-commit-pro.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して git-commit-pro.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → git-commit-pro フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Git Commit Pro

概要

ステージされた変更を分析して、構造化された Git コミットメッセージを生成します。Conventional Commits 形式に従い、何が変更されたのか、そしてその理由を説明するメッセージを作成します。

手順

ユーザーからコミット、コミットメッセージの作成、または既存のコミットメッセージの改善を依頼された場合は、次の手順に従ってください。

ステップ 1: 変更の確認

# ステージされているものを確認
git diff --cached --stat

# ステージされた差分の全体を確認
git diff --cached

# ステージされていない変更を確認 (ユーザーが最初にステージしたい場合に備えて)
git status

何もステージされていない場合は、まず適切なファイルをステージするようユーザーを支援します。ユーザーが明示的に要求しない限り、git add . は決して使用しないでください。特定のファイルを追加することを推奨します。

ステップ 2: 差分の分析

何が変更されたかを分類します。

  • 新規ファイル: どのような機能を追加しますか?
  • 変更されたファイル: どのような動作が変更されましたか?なぜですか?
  • 削除されたファイル: 何が削除され、なぜですか?
  • 名前が変更/移動されたファイル: どのような再構築が行われましたか?

ファイル名だけでなく、実際のコードの変更を確認してください。変更の背後にある意図を理解してください。

ステップ 3: コミットメッセージの作成

Conventional Commits 形式を使用します。

type(scope): 短い説明

変更内容とその理由に関するより詳細な説明。72文字で折り返してください。
問題またはチケットを参照してください。

Co-Authored-By: 該当する場合

種類:

  • feat: 新しい機能または能力
  • fix: バグ修正
  • docs: ドキュメントのみ
  • style: フォーマット、セミコロン、空白 (ロジックの変更なし)
  • refactor: 動作の変更なしにコードを再構築
  • perf: パフォーマンスの改善
  • test: テストの追加または更新
  • build: ビルドシステムまたは依存関係の変更
  • ci: CI/CD 構成の変更
  • chore: メンテナンス作業、ツール更新

件名行のルール:

  • 命令形を使用する ("add" であり "added" や "adds" ではない)
  • コロンの後の最初の単語を大文字にしない
  • 末尾にピリオドを付けない
  • 72文字未満に保つ
  • スコープはオプションですが役立ちます (例: feat(auth):, fix(api):)

本文のルール:

  • 件名と本文の間には空白行を入れる
  • HOW (どのように) ではなく、WHAT (何を) と WHY (なぜ) を説明する (差分が HOW を示します)
  • 72文字で折り返す
  • 複数の変更には箇条書きを使用する
  • issue 番号を参照する: Fixes #123, Closes #456

ステップ 4: コミットの実行

git commit -m "$(cat <<'EOF'
type(scope): 件名行をここに

変更を説明する本文の段落。

EOF
)"

ステップ 5: 検証

git log --oneline -1
git status

コミットが作成され、ワーキングツリーが期待される状態にあることを確認します。

例 1: 機能の追加

ステージされた変更: 新しい auth/ ディレクトリに、ログイン、登録、およびミドルウェアファイルがあります。

コミットメッセージ:

feat(auth): JWT によるユーザー認証を追加

JWT ベースのセッション管理でログインおよび登録エンドポイントを実装します。以下を含みます:
- email/password を使用した POST /auth/login
- バリデーションを使用した POST /auth/register
- 保護されたルート用の認証ミドルウェア
- トークンリフレッシュエンドポイント

Closes #42

例 2: バグ修正

ステージされた変更: 変更された src/utils/date.ts -- formatDate() でのタイムゾーン処理を変更しました。

コミットメッセージ:

fix(utils): 日付フォーマットのタイムゾーンオフセットを修正

formatDate() は UTC オフセットを間違った方向に適用していたため、
負の UTC タイムゾーン (アメリカ大陸) のユーザーの場合、日付が 1 日遅れて表示されていました。
オフセットは、追加されるのではなく減算されるようになりました。

Fixes #187

例 3: 複数の小さな変更

ステージされた変更: README を更新し、.env.example を追加し、構成ファイルのタイプミスを修正しました。

コミットメッセージ:

chore: プロジェクトセットアップドキュメントを更新

- 必要な環境変数を含む .env.example を追加
- 新しいセットアップ手順で README を更新
- webpack.config.js コメントのタイプミスを修正

ガイドライン

  • 論理的な変更ごとに 1 つのコミット。差分に関係のない変更が含まれている場合は、複数のコミットに分割することをお勧めします。
  • 「ファイルを更新」や「修正」のような一般的なメッセージは決して書かないでください。すべてのコミットは、差分を見なくても理解できる必要があります。
  • ユーザーのリポジトリに既存のコミット規約がある場合 (git log で最近のものを確認)、Conventional Commits の代わりにそのスタイルに合わせてください。
  • 大きな差分の場合、件名を主要な変更に焦点を当て、本文を二次的な変更に使用します。
  • 差分に生成されたファイル (ロックファイル、ビルドアーティファクト) が含まれている場合は、それらについて簡単に言及しますが、ソースの変更に焦点を当てます。
  • 修正する場合は、必ず最初にユーザーに確認してください。修正は履歴を書き換え、共有ブランチで問題を引き起こす可能性があります。
  • 変更が大きすぎるか、単一の良いコミットメッセージに焦点を当てることができない場合は、ユーザーに伝え、分割する方法を提案します。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Git Commit Pro

Overview

Generate well-structured git commit messages by analyzing staged changes. Follows Conventional Commits format and produces messages that explain what changed and why.

Instructions

When a user asks you to commit, write a commit message, or improve an existing commit message, follow these steps:

Step 1: Inspect the changes

# See what is staged
git diff --cached --stat

# See full staged diff
git diff --cached

# See unstaged changes (in case user wants to stage first)
git status

If nothing is staged, help the user stage the right files first. Never use git add . unless the user explicitly asks -- prefer adding specific files.

Step 2: Analyze the diff

Categorize what changed:

  • New files: What functionality do they add?
  • Modified files: What behavior changed? Why?
  • Deleted files: What was removed and why?
  • Renamed/moved files: What restructuring happened?

Look at the actual code changes, not just file names. Understand the intent behind the changes.

Step 3: Write the commit message

Use Conventional Commits format:

type(scope): short description

Longer explanation of what changed and why. Wrap at 72 characters.
Reference any issues or tickets.

Co-Authored-By: if applicable

Types:

  • feat: New feature or capability
  • fix: Bug fix
  • docs: Documentation only
  • style: Formatting, semicolons, whitespace (no logic change)
  • refactor: Code restructuring without behavior change
  • perf: Performance improvement
  • test: Adding or updating tests
  • build: Build system or dependency changes
  • ci: CI/CD configuration changes
  • chore: Maintenance tasks, tooling updates

Rules for the subject line:

  • Use imperative mood ("add" not "added" or "adds")
  • Do not capitalize the first word after the colon
  • No period at the end
  • Keep under 72 characters
  • Scope is optional but helpful (e.g., feat(auth):, fix(api):)

Rules for the body:

  • Separate from subject with a blank line
  • Explain WHAT and WHY, not HOW (the diff shows how)
  • Wrap at 72 characters
  • Use bullet points for multiple changes
  • Reference issue numbers: Fixes #123, Closes #456

Step 4: Execute the commit

git commit -m "$(cat <<'EOF'
type(scope): subject line here

Body paragraph explaining the change.

EOF
)"

Step 5: Verify

git log --oneline -1
git status

Confirm the commit was created and the working tree is in the expected state.

Examples

Example 1: Feature addition

Staged changes: New auth/ directory with login, register, and middleware files.

Commit message:

feat(auth): add user authentication with JWT

Implement login and registration endpoints with JWT-based session
management. Includes:
- POST /auth/login with email/password
- POST /auth/register with validation
- Auth middleware for protected routes
- Token refresh endpoint

Closes #42

Example 2: Bug fix

Staged changes: Modified src/utils/date.ts -- changed timezone handling in formatDate().

Commit message:

fix(utils): correct timezone offset in date formatting

formatDate() was applying the UTC offset in the wrong direction,
causing dates to display one day behind for users in negative UTC
timezones (Americas). The offset is now subtracted instead of added.

Fixes #187

Example 3: Multiple small changes

Staged changes: Updated README, added a .env.example, fixed a typo in a config file.

Commit message:

chore: update project setup documentation

- Add .env.example with required environment variables
- Update README with new setup instructions
- Fix typo in webpack.config.js comment

Guidelines

  • One commit per logical change. If the diff contains unrelated changes, suggest splitting into multiple commits.
  • Never write generic messages like "update files" or "fix stuff." Every commit should be understandable without looking at the diff.
  • If the user has an existing commit convention in their repo (check recent git log), match that style instead of Conventional Commits.
  • For large diffs, focus the subject on the primary change and use the body for secondary changes.
  • If the diff includes generated files (lockfiles, build artifacts), mention them briefly but focus on the source changes.
  • When amending, always confirm with the user first. Amending rewrites history and can cause issues for shared branches.
  • If the changes are too large or unfocused for a single good commit message, tell the user and suggest how to split them.