commandby jnicrimi

show-summary

## 概要

Installs: 0
Used in: 1 repos
Updated: 2d ago
$npx ai-builder add command jnicrimi/show-summary

Installs to .claude/commands/show-summary.md

# show-summary

## 概要

ローカルブランチ間の差分を分析し、変更内容を要約する。

## 実行手順

### 1. カレントブランチの確認

```bash
git branch --show-current
git status --short
```

### 2. ベースブランチの選択

```bash
git branch --format='%(refname:short)'
```

#### 比較可能なブランチが存在しない場合

「比較可能なブランチがありません。」と出力して処理を終了。

#### 比較可能なブランチが存在する場合

取得したローカルブランチ一覧から、選択肢を表示する際にカレントブランチを除外。

```text
🔀 ベースブランチの選択
────────────────────────────────────────
1. branch-name-1
2. branch-name-2
3. branch-name-3

(1-3):
```

ユーザーが番号を選択したら以下を実行。

- 有効な番号が選択された場合
  - 選択されたベースブランチを記録
- 無効な番号が選択された場合
  - 「無効な番号です。もう一度番号を選択してください。」と再入力を促す

### 3. 差分の取得と分析

#### 3.1 差分の取得

選択されたベースブランチとの差分を取得。

```bash
git diff ${selected_branch}...HEAD --stat
git diff ${selected_branch}...HEAD --name-status
git diff --ignore-all-space --ignore-blank-lines
git diff --staged --ignore-all-space --ignore-blank-lines
git diff ${selected_branch}...HEAD --ignore-all-space --ignore-blank-lines
```

- 変更がない場合
  - 「変更内容がありません」を出力し、処理を終了

#### 3.2 差分の分析

収集した差分を整理して、以下の項目に分類。

- 追加された機能
- 変更された機能
- 削除された機能

### 4. 変更要約の出力

変更内容を開発者が理解しやすい形式にまとめる。

#### 出力ルール

- テンプレートの内容のみを出力する
- テキスト形式で出力する(```text```ブロックで囲む)
- テンプレート以外の説明や補足は追加しない
- `{{! ... }}` で囲まれた例文は出力しない(内部参照用)
- `[...]` のプレースホルダはAIが適切な内容を生成して置き換える
- 変更を機能単位や関連性でグループ化する
- 簡潔で分かりやすい表現を使用する

#### 出力テンプレート

```text
🤖 変更要約
────────────────────────────────────────
🔀 ブランチ: ${selected_branch} ← ${current_branch}
📊 統計情報: [統計情報] {{! 5ファイル (+120行 -45行) }}

📋 [変更カテゴリ] ([総件数]) {{! 機能追加 (2件) }}
────────────────────────────────────────
▸ [変更内容のタイトル]
  {{! usersテーブルにphoneカラムを追加 }}

  [詳細な説明]
  {{! ユーザー情報に電話番号フィールドを追加して連絡手段を拡充 }}

  📍 [ファイル名]
     {{! db/schema.rb, db/migrate/20240101_add_phone_to_users.rb }}

▸ [変更内容のタイトル]
  {{! Userモデルにphone属性を追加 }}

  [詳細な説明]
  {{! 電話番号のバリデーションとフォーマット処理を実装 }}

  📍 [ファイル名]
     {{! app/models/user.rb }}

📋 [変更カテゴリ] ([総件数]) {{! 機能改善 (1件) }}
────────────────────────────────────────
▸ [変更内容のタイトル]
  {{! パスワードリセットメール再送機能 }}

  [詳細な説明]
  {{! パスワードリセットメールの再送信機能を追加し、ユーザビリティを向上 }}

  📍 [ファイル名]
     {{! app/controllers/password_resets_controller.rb, app/mailers/user_mailer.rb }}
```

Quick Install

$npx ai-builder add command jnicrimi/show-summary

Details

Type
command
Author
jnicrimi
Slug
jnicrimi/show-summary
Created
6d ago