← スキル一覧に戻る

git-commit
by biwakonbu
Claude Code 用プラグイン
⭐ 0🍴 0📅 2026年1月25日
SKILL.md
name: git-commit description: Git コミットワークフローの実行。変更のステージング、コミットメッセージ生成、コミット実行を行う。Use when user wants to commit changes, create a commit, or stage and commit files. allowed-tools: Bash, Read, Grep, Glob
Git Commit スキル
Instructions
このスキルは Git コミットの全ワークフローを提供します。
重要: git コマンドは作業ディレクトリで直接実行する。git -C は使用禁止。
実行フロー
1. 状態確認(並列実行)
以下の git コマンドを並列で実行し、現在の状態を把握する:
git status # 未追跡ファイルと変更状態
git branch --show-current # カレントブランチ
git diff # ステージされていない変更
git diff --staged # ステージ済みの変更
git log --oneline -5 # 直近のコミットスタイル確認
2. 変更分析
ステージされた変更(または新規追加予定の変更)を分析:
- 変更の性質(new feature, enhancement, bug fix, refactoring, test, docs など)
- 変更の目的と理由
- 機密ファイルの有無を確認
機密ファイル検出時は警告:
.env,.env.*credentials.json,secrets.**.pem,*.keyconfig/local.*
3. コミットメッセージ生成
原則: コミットメッセージは書けば書くほど良い。
コミットメッセージは将来の開発者が「なぜこの変更が必要だったのか」を理解するための重要なドキュメント。
必須セクション
-
タイトル行: 変更の要約(リポジトリの既存スタイルに準拠)
-
背景・動機: なぜこの変更が必要になったのか
- ユーザーからの要望やフィードバック
- バグ報告や Issue 番号
- 技術的負債の解消理由
- パフォーマンス問題の発見経緯
-
実装内容: 何を変更したか
- 変更したファイルと役割
- 追加・削除・修正した機能
- 変更の性質(add = 新機能, update = 改善, fix = バグ修正, refactor = リファクタリング)
-
設計判断の理由: なぜこの実装方法を選んだのか
- 検討した代替案があれば記載
- 参照したドキュメント、仕様書、既存コード
- 採用した設計パターンとその理由
- トレードオフの考慮点
-
参照情報(該当する場合):
- 関連する Issue/PR 番号
- 参照したドキュメントの URL やパス
- 依存する他のコミットや機能
- 参考にした既存実装のパス
情報が不明な場合
実装内容から推測できる事情を記載する:
- コードの構造から読み取れる設計意図
- 命名規則やパターンから推測される方針
- 既存コードとの一貫性を保つための判断
4. ステージングとコミット実行
# 関連ファイルをステージング(必要な場合)
git add <files>
# HEREDOC形式でコミット実行
git commit -m "$(cat <<'EOF'
タイトル: 変更の要約
## 背景
- なぜこの変更が必要になったか
## 実装内容
- 変更したファイルと内容
## 設計判断
- なぜこの方法を選んだか
## 参照
- 関連ドキュメントや Issue
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)"
5. 結果確認
コミット後、git status で成功を確認する。
安全規則
- pre-commit hook でコミットが失敗した場合は、問題を修正して新しいコミットを作成する(--amend は使用しない)
- コミットが成功したが hook がファイルを自動修正した場合のみ、--amend を検討可能
- プッシュ済みのコミットは --amend しない
- git config の更新は禁止
--no-verify,--no-gpg-signなどのスキップオプションは禁止
動詞の使い分け
add: 完全に新しい機能update: 既存機能の改善fix: バグ修正refactor: 機能変更なしのコード改善docs: ドキュメントのみの変更test: テストのみの変更
Examples
良いコミットメッセージ
ユーザー認証のセッションタイムアウトを30分から1時間に延長
## 背景
ユーザーから「作業中に頻繁にログアウトされる」というフィードバックが
複数寄せられていた(Issue #234, #256)。特にドキュメント編集中の
セッション切れが問題視されていた。
## 実装内容
- src/config/auth.ts: SESSION_TIMEOUT を 1800 から 3600 に変更
- src/middleware/session.ts: タイムアウト警告を残り5分で表示するよう追加
- tests/auth.test.ts: 新しいタイムアウト値に対応したテストケース追加
## 設計判断
- 2時間案も検討したが、セキュリティチームとの協議の結果、
セキュリティとUXのバランスから1時間が適切と判断
- 無期限セッションは PCI DSS 準拠の観点から却下
- 参照: docs/security-policy.md のセッション管理方針
## 参照
- Issue: #234, #256
- セキュリティレビュー: SEC-2024-001
- 参考実装: src/features/admin/session.ts(管理者セッション処理)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
悪いコミットメッセージ
fix bug
update files
セッションタイムアウトを変更
(何を、なぜ変更したか不明)
スコア
総合スコア
60/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です