git-commit-guidelines
gitmoji + Conventional Commits形式を使用してgitコミットのベストプラクティスを強制します。コミット作成時にTRIGGERされます。品質ゲートのパスを確保し、issue自動クローズを防止(Close/Fixキーワードなし)し、AIコミットにはCo-Authored-Byを含め、コミット前にユーザー承認が必要です。
description の原文を見る
Enforce git commit best practices using gitmoji + Conventional Commits format. TRIGGER when creating commits. Ensures quality-gate passes, prevents issue auto-closing (no Close/Fix keywords), includes Co-Authored-By for AI commits, and requires user approval before committing.
SKILL.md 本文
Gitコミットガイドライン
このスキルは、Packmindプロジェクトに対してGitコミットのベストプラクティスを強制します。視覚的なコミットタイプ識別用のgitmojiと、Conventional Commits形式を組み合わせています。
トリガーチェックリスト - まずお読みください
このスキルをトリガーする場合:
- ユーザーがコミットの実行を依頼している
- ユーザーがコミットの作成を依頼している
-
git commitを実行しようとしている - ユーザーが「commit this」または同様の表現を使用している
直ちにトリガーしてください - Gitコミットコマンドを実行する前に。
失敗例 - してはいけないこと
失敗例1: ユーザー許可なしでコミットする
User: "Fix the bug in the login function"
AI: [Fixes the bug]
AI: [Runs git commit directly without asking] ❌
CORRECT BEHAVIOR:
AI: [Fixes the bug]
AI: [Asks user: "Ready to commit. Here's the proposed message: ..."]
AI: [Waits for user approval]
AI: [Then commits]
失敗例2: イシュー参照の前にClose/Fixを使用する
AI: git commit -m "Fix login bug
Closes #123" ❌
CORRECT BEHAVIOR:
AI: git commit -m "Fix login bug
#123" ✓
失敗例3: 品質ゲートをスキップする
AI: [Makes changes]
AI: [Commits immediately without running quality-gate] ❌
CORRECT BEHAVIOR:
AI: [Makes changes]
AI: [Runs npm run quality-gate]
AI: [Fixes any issues]
AI: [Then proposes commit]
失敗例4: Gitmojiを忘れる
AI: git commit -m "feat(auth): add login validation" ❌
CORRECT BEHAVIOR:
AI: git commit -m "✨ feat(auth): add login validation" ✓
コミットメッセージ形式
<gitmoji> <type>(<scope>): <subject>
<body>
<issue-reference>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
形式ルール
| 要素 | ルール |
|---|---|
| 言語 | 必須。すべてのコミットメッセージは英語で記述する必要があります |
| Gitmoji | 必須。コミットタイプと一致する必要があります |
| Type | 必須。feat、fix、refactor、docs、test、chore、style、perf、security、remove、move、depsのいずれか |
| Scope | オプション。影響を受けるコンポーネントまたはモジュール(例: auth、api、ui) |
| Subject | 必須。命令形、句点なし、最大72文字 |
| Body | オプション。複数の変更については - プレフィックス付きの箇条書き |
| イシュー参照 | オプション。#123 形式を使用。「Close」「Fix」「Resolve」で接頭辞をつけないこと |
| Co-Author | AIアシスト付きコミットの場合は必須 |
Gitmoji参照表
| Gitmoji | Type | 説明 | 例 |
|---|---|---|---|
| ✨ | feat | 新機能 | ✨ feat(auth): add OAuth2 support |
| 🐛 | fix | バグ修正 | 🐛 fix(api): handle null response |
| ♻️ | refactor | コードリファクタリング | ♻️ refactor(core): extract helper function |
| 📝 | docs | ドキュメント | 📝 docs: update API reference |
| ✅ | test | テスト追加/更新 | ✅ test(auth): add login tests |
| 🔧 | chore | メンテナンスタスク | 🔧 chore: update dependencies |
| 🎨 | style | コード整形 | 🎨 style: apply prettier formatting |
| ⚡️ | perf | パフォーマンス改善 | ⚡️ perf(query): optimize database calls |
| 🔒️ | security | セキュリティ修正 | 🔒️ security: sanitize user input |
| 🗑️ | remove | コード/ファイル削除 | 🗑️ remove: delete deprecated endpoint |
| 🚚 | move | ファイル移動/名前変更 | 🚚 move: relocate utils to shared |
| 📦 | deps | 依存関係 | 📦 deps: upgrade React to v19 |
7ステップコミットワークフロー
ステップ1: 作業完了
すべての変更が完了し、機能/修正が動作していることを確認します。
ステップ2: 品質ゲート実行
npm run quality-gate
必須: コミット前にこれが合格する必要があります。見つかった問題を修正してください。
ステップ3: 変更内容を確認
これらのコマンドを実行してコミット内容を確認します:
git status
git diff --staged
変更がステージされていない場合は、まずステージしてください:
git add <files>
ステップ4: コミットメッセージを準備
上記の形式に従ってコミットメッセージを作成します:
- 変更タイプに基づいて適切なgitmojiを選択
- 命令形で明確なサブジェクト行を記述
- 複数の変更がある場合は箇条書きで本文を追加
- イシュー参照を「Close/Fix/Resolve」プレフィックスなしで含める
- Co-Authored-Byフッターを追加
ステップ5: ユーザーに許可を求める(必須)
このステップをスキップしないでください。 コミット内容をユーザーに提示します:
Ready to commit. Here's the proposed message:
<full commit message>Do you want me to proceed with this commit?
ユーザーの明確な承認を待ちます。
ステップ6: コミット作成
HEREDOCフォーマットを使用してフォーマットを保持します:
git commit -m "$(cat <<'EOF'
✨ feat(scope): subject line here
- First change description
- Second change description
#123
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
EOF
)"
--no-verify は絶対に使用しないこと
ステップ7: コミット確認
コミット後、成功したことを確認します:
git log -1 --pretty=format:"%h %s"
git status
シナリオ例
シナリオ例1: シンプルなバグ修正
✨ Staged changes: Fixed null check in user service
✅ Commit message:
🐛 fix(user): handle null user in getProfile
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
シナリオ例2: イシュー参照付き新機能
✨ Staged changes: Added export functionality to reports
✅ Commit message:
✨ feat(reports): add CSV export functionality
- Add export button to report toolbar
- Implement CSV generation service
- Add download trigger
#456
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
シナリオ例3: 複数の変更を含むリファクタリング
✨ Staged changes: Refactored authentication module
✅ Commit message:
♻️ refactor(auth): extract token validation logic
- Move validation to dedicated service
- Add unit tests for edge cases
- Update imports across modules
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
シナリオ例4: ドキュメント更新
✨ Staged changes: Updated README with new setup instructions
✅ Commit message:
📝 docs: update installation instructions
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
シナリオ例5: テスト追加
✨ Staged changes: Added tests for payment service
✅ Commit message:
✅ test(payment): add unit tests for refund flow
- Test successful refund scenario
- Test partial refund handling
- Test refund validation errors
#789
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
シナリオ例6: 依存関係更新
✨ Staged changes: Upgraded TypeScript to v5.3
✅ Commit message:
📦 deps: upgrade TypeScript to 5.3
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
シナリオ例7: ファイル移動/名前変更
✨ Staged changes: Moved utility functions to shared package
✅ Commit message:
🚚 move: relocate date utils to shared package
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
シナリオ例8: セキュリティ修正
✨ Staged changes: Fixed XSS vulnerability in comment input
✅ Commit message:
🔒️ security(comments): sanitize HTML in user input
#security-audit
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
重要なガイドライン
すること
- ✅ コミットメッセージは常に英語で記述してください
- ✅ コミット前に常に
npm run quality-gateを実行してください - ✅ コミット前に常にユーザーに許可を求めてください
- ✅ コミットタイプに一致するgitmojiを常に使用してください
- ✅ AIアシスト付きコミットには常に
Co-Authored-Byを含めてください - ✅
git log -1でコミットが成功したことを常に確認してください - ✅ サブジェクト行では命令形を使用してください(「added」ではなく「add」)
- ✅ サブジェクト行を72文字以下に保ってください
- ✅ 複数行の本文では
-プレフィックス付きの�条書きを使用してください - ✅ イシューを
#123形式のみで参照してください
してはいけないこと
- ❌ 英語以外の言語でコミットメッセージを書かないでください(フランス語、スペイン語など)
- ❌ ユーザー承認なしでコミットしないでください
- ❌
--no-verifyフラグを使用しないでください - ❌ イシュー番号の前に「Close」「Fix」「Resolve」を使用しないでください
- ❌ 品質ゲートチェックをスキップしないでください
- ❌ 明示的に要求されない限り
git commit --amendを使用しないでください - ❌ main/masterへの強制プッシュをしないでください
- ❌ シークレット(.env、credentials.json)を含むファイルをコミットしないでください
- ❌ gitmojiプレフィックスを忘れないでください
- ❌ サブジェクトに過去形を使用しないでください(「fixed」→「fix」)
クイックリファレンスカード
┌─────────────────────────────────────────────────────────────┐
│ GIT COMMIT クイックリファレンス │
├─────────────────────────────────────────────────────────────┤
│ 形式: │
│ <gitmoji> <type>(<scope>): <subject> │
│ │
│ GITMOJI: │
│ ✨ feat 🐛 fix ♻️ refactor 📝 docs │
│ ✅ test 🔧 chore 🎨 style ⚡️ perf │
│ 🔒️ security 🗑️ remove 🚚 move 📦 deps │
│ │
│ ワークフロー: │
│ 1. npm run quality-gate │
│ 2. git status && git diff --staged │
│ 3. gitmojiを含むメッセージを準備 │
│ 4. ユーザーに許可を求める │
│ 5. git commit (HEREDOCを使用) │
│ 6. git log -1 (確認) │
│ │
│ ルール: │
│ • 常に英語で記述してください │
│ • コミット前に常にユーザーに許可を求めてください │
│ • イシューの前にClose/Fix/Resolveを使用しないでください │
│ • --no-verifyを使用しないでください │
│ • 常にCo-Authored-Byフッターを含めてください │
└─────────────────────────────────────────────────────────────┘
覚えておいてください: このスキルはコミット作成時に必須です。常に品質ゲートを実行し、常にユーザーに許可を求め、常にgitmojiを使用してください。これらのステップはコード品質を確保し、きれいで情報的なGitの履歴を維持します。
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- PackmindHub
- リポジトリ
- PackmindHub/packmind
- ライセンス
- Apache-2.0
- 最終更新
- 2026/5/12
Source: https://github.com/PackmindHub/packmind / ライセンス: Apache-2.0