---
name: commit-message
description: 変更点を分析し、Conventional Commits 形式のコミットメッセージを提案する。Use when the user asks for a commit message, コミットメッセージを考えて, 変更点を分析してコミットメッセージを, or similar.
---

# commit-message Skill

変更点を分析し、Conventional Commits 形式のコミットメッセージを提案する。

## ワークフロー

1. **変更の把握**: `git status` と `git diff` を実行して変更内容を確認する
2. **変更の分類**: 新規追加・修正・削除・リファクタリング等を識別する
3. **メッセージの作成**: 以下の形式に従ってコミットメッセージを提案する

## メッセージ形式

```
[scope] type: 簡潔な説明
  - 詳細1（必要に応じて）
  - 詳細2
```

### スコープ

- `frontend`: フロントエンド関連の変更
- 他プロジェクトルートに応じて適宜設定

### タイプ

| タイプ | 用途 |
|--------|------|
| feat | 新機能の追加 |
| fix | バグ修正 |
| refactor | リファクタリング（挙動変更なし） |
| adjust | パラメータ・設定値の微調整 |
| update | 依存関係・アセットの更新 |
| docs | ドキュメントのみの変更 |

### 本文のルール

- **1行目**: 50文字以内で変更の要約。動詞は現在形（add, fix, update 等）
- **詳細**: 重要な変更点を箇条書き。ファイルパスや具体的な値があれば含める
- **日本語**: プロジェクトの慣例に従い、日本語で記述する

## 実施時のポイント

- **git diff を必ず確認**: 推測せず、実際の差分に基づいてメッセージを作成する
- **untracked ファイル**: `git status` で新規ファイルを確認し、メッセージに含める
- **簡潔版と詳細版**: 必要に応じて両方の案を提示する
- **複数ファイルの変更**: 関連する変更を1つのメッセージにまとめ、論理的にグループ化する
