# Commit

> 変更内容を確認し、適切なコミットメッセージでgit commitを行う。「コミットして」「変更を保存」「commitして」などのリクエストで使用する。

- Skill: `majiayu000/commit-18` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/commit-18`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/commit-18/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/commit-18

---


# Git コミット

変更内容を確認し、Conventional Commits 形式でコミットする。

## コミットメッセージ規約

```
<type>: <日本語で簡潔な説明>
```

### type 一覧

| type | 用途 |
|---|---|
| `feat` | 新機能の追加 |
| `fix` | バグ修正 |
| `refactor` | リファクタリング（機能変更なし） |
| `style` | コードスタイル変更（フォーマット、セミコロン等） |
| `docs` | ドキュメントのみの変更 |
| `chore` | ビルドプロセスやツール設定の変更 |
| `test` | テストの追加・修正 |
| `perf` | パフォーマンス改善 |

## 手順

1. `git status` で変更されたファイルを確認する
2. `git diff --staged` でステージ済みの差分を確認する
3. ステージされたファイルがない場合は `git diff` で未ステージの差分を確認し、関連ファイルをステージする
4. `git log --oneline -5` で直近のコミット履歴を確認し、メッセージのスタイルを把握する
5. 変更内容を分析し、適切な type と説明文を決定する
6. 引数でコミットメッセージが指定されている場合はそれを使用する
7. ユーザーにコミット内容とメッセージを提示し、確認を取る
8. コミットを実行する

## ステージングのルール

- 変更が1つの機能/修正に関連する場合はまとめてステージする
- 無関係な変更が混在している場合はユーザーに確認する
- 以下のファイルはステージしない（警告を出す）:
  - `.env` / `.env.local` など環境変数ファイル
  - `credentials.json` などの認証情報
  - `*.pem`, `*.key` などの秘密鍵

## コミット実行

```bash
# メッセージは HEREDOC で渡す
git commit -m "$(cat <<'EOF'
<type>: <説明>

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
EOF
)"
```

## ルール

- コミットメッセージの説明は日本語で書く（type プレフィックスは英語）
- `--amend` は明示的に指示された場合のみ使用する
- `--no-verify` は使用しない
- `git add -A` や `git add .` は使わず、ファイルを個別に指定する
- コミット前に必ず差分の内容をユーザーに報告する
- コミット後に `git status` で結果を確認する

