| name | dev:git-reflect |
| description | Git履歴から作業セッションを自動検出し、ブロック単位で振り返りサマリーを生成する。
日付境界でなく、コミット間隔の空白(ギャップ)から自然な作業ブロックを識別する。
「振り返り」「作業履歴」「/dev:git-reflect」で起動。
Trigger:
振り返り, 作業振り返り, git-reflect, git振り返り, /dev:git-reflect, 最近何やった
|
Git 作業振り返り(dev:git-reflect)
概要
Git コミット履歴を時系列で取得し、コミット間のタイムギャップからセッション境界を自動検出。
各ブロックの詳細分析を block-analyzer エージェントに並列委譲(中程度の軽量モデル推奨)し、
結果を統合して振り返りサマリーを表示する。
引数
| 引数 | デフォルト | 説明 |
|---|
| ブロック数 | 3 | 振り返るブロック数。ユーザーが「5ブロック」等と指定した場合はそれに従う |
| ギャップ閾値 | 3時間 | この時間以上コミット間隔が空いたらブロック境界とみなす |
ユーザーが「今日の」「先週の」など期間を指定した場合は --since / --until で絞る。
実行手順
Step 1: コミットログ取得
git log --format="%h %aI %s" -100
- 直近100件を取得(ブロック数に応じて足りなければ追加取得)
%aI で ISO 8601 タイムスタンプを使用(タイムゾーン込み)
Step 2: ブロック分割
コミットを時系列順(古い順)に並べ、隣接コミット間の時間差を計算する。
分割ルール:
- ギャップが 3時間以上 → ブロック境界
- 日付が変わっても深夜〜早朝の連続作業(例: 23:00→01:00)はギャップが3時間未満なら同一ブロック
- 必要なブロック数が揃うまで、新しい方から数える
分割結果として、各ブロックについて以下を確定する:
- コミットハッシュのリスト(古い順)
- 時間範囲("MM/DD HH:MM〜HH:MM")
- 所要時間("約X時間")
Step 3: コミットメッセージからブロックごとの概要を把握
Step 1 で取得済みのコミットメッセージ(%h %aI %s)を各ブロックに振り分け、
メインスレッドでブロックごとのテーマ・作業の流れをざっくり把握しておく。
この時点での理解は「コミットメッセージから読み取れる範囲」に留める。
Step 4: block-analyzer エージェントを並列起動
各ブロックごとにサブエージェントとして block-analyzer(agents/block-analyzer.md)を起動する。
全ブロックを1つのメッセージで同時に起動すること(並列実行)。 軽量〜中程度のモデルで十分。
各エージェントへのプロンプトに含める情報:
- block_number
- commits(ハッシュリスト)
- time_range
- duration
- 「agents/block-analyzer.md の手順に従って分析し、diff --stat やファイル変更の詳細を報告せよ」
エージェントの役割は 変更ファイル・行数・ディレクトリ分布など、コミットメッセージだけでは見えない詳細情報の収集・整理。
Step 5: メインスレッドでマージ・出力
Step 3 のコミットメッセージベースの概要と、Step 4 のエージェント報告をマージしてサマリーを生成する。
マージの方針:
- コミットメッセージから読み取れるテーマ・流れをベースにする
- エージェント報告の diff 統計・ファイル分布で裏付け・補足・修正する
- メッセージからは見えなかったテーマの発見(例: メッセージは "fix" だが実際は大規模リファクタ)
- 変更の重さの定量情報(+X -Y, Nファイル)
- ディレクトリ分布からのテーマ分割の精緻化
- 最終出力は ブロック番号順(新しい順: Block 1 が最新) に並べる
3ブロック以上の場合、最後に全体の流れを一言で補足する。
出力例
## Block 1: 3/23 11:19〜15:30 (約4時間) — キーカード LLM 選出
**キーカード選出の大改修**
- finetuning CSV データ整備(140例→100例に精査)
- `select-keycard.ts` をCLI→関数化→Haiku API実装まで段階的に進化
- Z.AI プロキシの Structured Output 問題を修正
- 仕様書 Gate A〜F 全完了
**SKILL.md 改善**
- Predict/Scenario/Learn 分析結果マージ、Thinking phase追加
**コミット数:** 25件 | **変更:** +1200 -300 (42ファイル)
エージェント構成
| エージェント | 推奨モデル | 役割 |
|---|
| block-analyzer | 軽量〜中程度 | diff --stat・ファイル分布・変更規模を調査し詳細レポートを返す(サマリー生成はしない) |
注意事項
- 作業内容の良し悪しを評価しない(純粋な振り返り)
- ユーザーが「何してたっけ」と聞いている前提で、思い出しやすい粒度にする
- メモリに保存すべき情報があれば提案するが、自動保存はしない