# Creating Git Commit

> Git リポジトリのスタイルに合わせてコミットを作成します。ユーザーがコミットを求めたときや、エージェントがコミットするときに必ず使用してください。

- Skill: `majiayu000/creating-git-commit` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/creating-git-commit`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/creating-git-commit/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/creating-git-commit

---


# Git コミット作成

## ワークフロー

### 1. 情報収集

ステージングされた変更がある場合：

```bash
git diff --staged
git log --oneline -10
```

ステージングされた変更がない場合：

```bash
git diff
git log --oneline -10
```

### 2. 判定

過去のコミット履歴から以下を判定します。判定不可の場合はユーザーに確認してください。

#### 言語判定

| 言語   | パターン           |
| ------ | ------------------ |
| 日本語 | 日本語が含まれる   |
| 英語   | 英語のみが含まれる |
| その他 | 上記以外           |

#### スタイル判定

| スタイル             | パターン           |
| -------------------- | ------------------ |
| Conventional Commits | `feat:`, `fix:` 等 |
| gitmoji              | 絵文字で始まる     |
| シンプル形式         | 上記以外           |

gitmoji の場合、絵文字の形式（Unicode / Shortcode）も判定してください。

#### スコープ判定

過去 10 件にスコープ（例: `feat(auth):` や
`✨ (auth):`）が含まれているかを判定します。

含まれている場合、以下のコマンドでスコープ一覧を取得します：

```bash
git log --oneline -100 | sed -n 's/^[a-f0-9]* [^(:]*(\([^)]*\)):.*/\1/p' | tr ',' '\n' | sed 's/^ *//' | sort -u | xargs | sed 's/ /, /g'
```

### 3. コミットメッセージ生成

判定結果に基づいてコミットメッセージを生成します。

- **タイトル（1行目）**: What（何をしたか）を簡潔に、50 文字以内
- **ボディ（本文）**: Why（なぜしたか）を必要に応じて補足
- **コード参照**: コードやパスを表す場合はバッククォートで囲む
- **言語**: 判定した言語に合わせる
- **スタイル**:
  判定したスタイルに従う（[Conventional Commits](references/conventional-commits.md)
  / [gitmoji](references/gitmoji.md)）
- **スコープ**: スコープ一覧から適切なものを選択（該当する場合）

### 4. コミット作成

生成したメッセージを表示し、コミットを作成します。

