Skip to main content

hurikaeri

Session retrospective with AI-KPT framework. Reviews AI autonomous actions, detects omissions via counterfactual reasoning, persists learnings. Use when user says "振り返り", "retrospective", "KPT", "session review", "/hurikaeri".

跳到安装

来源信息

仓库
sizukutamago/dev-tools-plugin
最近来源活动
2026年2月8日 11:00
检测到的 SKILL.md 语言
日语
星标
0
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
8 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
hurikaeri
description
Session retrospective with AI-KPT framework. Reviews AI autonomous actions, detects omissions via counterfactual reasoning, persists learnings. Use when user says "振り返り", "retrospective", "KPT", "session review", "/hurikaeri".
version
1.0.0
# hurikaeri(振り返り) セッション単位でAIの行動・判断を振り返り、学びを永続化するスキル。 ## 概要 ``` ┌─────────────────────────────────────────────────────────────┐ │ hurikaeri パイプライン │ │ │ │ Phase 1: Trace (データ収集) │ │ ┌──────────┬──────────┬──────────┐ │ │ │ JSONL │ git diff │ AI memory│ │ │ │ 解析 │ 解析 │ 回想 │ │ │ └────┬─────┴────┬─────┴────┬─────┘ │ │ └──────────┼──────────┘ │ │ ▼ │ │ Phase 2: Reflect (分析) │ │ ┌──────────────────────────────┐ │ │ │ AI-KPT + 反事実推論 │ │ │ │ (Keep/Problem/Try + Omission)│ │ │ └──────────────┬───────────────┘ │ │ ▼ │ │ Phase 3: Crystallize (永続化) │ │ ┌──────────────────────────────┐ │ │ │ 学習メモ保存 │ │ │ │ + CLAUDE.md/SKILL.md 更新 │ │ │ │ + prompt-improver 連携(任意) │ │ │ └──────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` ## prompt-improver との差別化 | 観点 | prompt-improver | hurikaeri | |------|----------------|-----------| | 対象 | 複数セッションの蓄積 | 今のセッション | | 視点 | 指示(入力)の改善 | 行動(プロセス)の改善 | | 分析手法 | 統計パターン | AI-KPT + 反事実推論 | | 不作為検出 | なし | あり(「何をしなかったか」) | | 出力 | ファイルパッチ | 振り返りレポート + 改善提案 | --- ## Phase 1: Trace(データ収集) 3つのデータソースからセッションの事実を抽出する。 ### 1a. トランスクリプト JSONL 解析 `extract_session_trace.py` を使い、セッションログから構造化データを抽出。 ```bash # 最新セッションのトランスクリプトを探索 TRANSCRIPT=$(ls -t ~/.claude/projects/*/sessions/*/*.jsonl 2>/dev/null | head -1) # トレース抽出 python3 "${SKILL_DIR}/scripts/extract_session_trace.py" "$TRANSCRIPT" ``` **抽出する情報:** | カテゴリ | 内容 | |---------|------| | `metrics` | ターン数、ツール使用数、変更ファイル数 | | `tool_timeline` | ツール使用の時系列(ターン、ツール名、入力サマリー、成功/失敗) | | `search_paths` | 検索・探索の軌跡(Grep/Glob/Read の対象パス) | | `changed_files` | 変更ファイル一覧(Write/Edit経由) | | `backtrack_events` | やり直し検出(同一ファイルの複数回編集) | | `errors` | ツール実行エラー | | `user_corrections` | ユーザーの修正指示 | ### 1b. git diff 解析 セッション中のコード変更を取得。 ```bash # セッション開始時の HEAD からの差分 git diff --stat HEAD~5..HEAD # 直近の変更概要 git diff HEAD~5..HEAD # 詳細な変更内容 ``` ### 1c. AI 記憶ベースの回想 AI 自身がコンテキストウィンドウ内の記憶を元に以下を列挙: - セッションで行った判断とその理由 - 迷った点や方針変更した箇所 - 暗黙に置いた前提条件 - ユーザーに確認せずに進めたこと --- ## Phase 2: Reflect(AI-KPT + 反事実推論) Phase 1 のデータを入力として、4つの観点で分析。 ### 2a. Keep(継続すべき行動) 成功パターンを特定し、根拠とともに記録。 **分析観点:** - エラーなく完了したタスク - ユーザーの修正指示が不要だった領域 - 効率的なツール使用パターン - 適切な判断が行われた箇所 ### 2b. Problem(問題のあった行動) AI の行動に問題があった箇所を特定。 **分析観点:** - `errors` に記録されたエラーとその原因 - `user_corrections` で検出された修正指示 - `backtrack_events` で見つかったやり直し - 非効率なツール使用(同じ検索の繰り返し等) - ユーザーへの確認なしで行った影響の大きい判断 **カテゴリ:** error | inefficiency | misunderstanding | oversight | wrong_approach ### 2c. Omission(不作為 — 反事実推論で検出) `references/counterfactual_prompts.md` のテンプレートを適用して「やらなかったこと」を検出。 **プロセス:** 1. 変更ファイルの種類に応じて関連する反事実プロンプトを選択 2. AI が各プロンプトに回答し、見落としを洗い出す 3. 「このタスクで別の3つのアプローチを挙げ、なぜ採用しなかったか述べよ」 **重要:** 反事実推論は `references/counterfactual_prompts.md` の必須プロンプト3つ(ベテランエンジニア視点/テスト観点/代替案検討)を必ず実施。変更内容に応じて条件付きプロンプトを追加選択。 ### 2d. Try(次回の改善アクション) Problem と Omission から具体的な改善アクションを生成。 **各 Try には以下を含める:** - 対応する Problem/Omission の ID - スコープ(immediate / session / project / global) - 永続化先の提案(CLAUDE.md / SKILL.md / メモリ) ### 2e. ユーザー確認 AskUserQuestion を使用して振り返り結果を確認: - 「この分析結果は正しいですか? 追加の気づきはありますか?」 - ユーザーのフィードバックを反映して最終化 --- ## Phase 3: Crystallize(知見の永続化) 振り返りで得た知見を永続化する。 ### 3a. KPT レポート保存 Phase 2 の分析結果を `kpt_schema.md` に準拠した YAML 形式で生成し、パイプ経由で保存: ```bash # KPT YAML を生成して標準入力経由で保存 echo "$KPT_YAML_CONTENT" | "${SKILL_DIR}/scripts/persist_learnings.sh" ``` 保存先: `~/.claude/hurikaeri/kpt-YYYYMMDD-NNN.yaml` ### 3b. CLAUDE.md / SKILL.md への改善追記 Try で「global」スコープの改善アクションがあれば、該当ファイルへの追記を提案。 **重要:** 自動適用はしない。必ず AskUserQuestion でユーザー承認を得てから適用する。 ### 3c. prompt-improver 連携(オプション) AskUserQuestion で連携するか確認: - Yes の場合: Problem を `~/.claude/feedback/` の YAML に変換して保存 - No の場合: KPT レポートのみ保存 **変換ルール:** - `problem` → `issues` (type は problem.category からマッピング) - `try` → `proposed_actions` - `metrics` → `stats` ### 3d. 振り返りサマリー表示 最終的な振り返りサマリーを出力。 ``` 【セッション振り返り】 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📋 タスク: {task_summary} ⏱ {turns}ターン / ツール{tool_count}回 ── Keep(継続) ── ✅ {keep_items} ── Problem(問題) ── ⚠️ {problem_items} ── Omission(不作為) ── 🔍 {omission_items} ── Try(次回) ── 💡 {try_items} 📁 保存先: ~/.claude/hurikaeri/kpt-YYYYMMDD-NNN.yaml ``` --- ## Stop hook(振り返り提案) セッション終了時に複雑度を判定し、振り返りを提案する。 ### 判定基準 | 条件 | 閾値 | |------|------| | JSONL行数 >= 50 かつ ツール使用 >= 10 | 実質的なセッション | | コード変更(Write/Edit)>= 5 | 多くのファイル変更 | | エラー >= 3 | 問題の多いセッション | | JSONL行数 < 20 | 除外(軽微なセッション) | ### 出力 ``` 🔄 複雑なセッションでした(turns:50, tools:15, changes:8) → /hurikaeri で振り返りを実行できます ``` --- ## 保存先 ``` ~/.claude/hurikaeri/ ├── kpt-20260208-001.yaml ├── kpt-20260208-002.yaml └── ... ``` ## 依存関係 標準Unixツール + Python 3.x 標準ライブラリ(json, re, sys, os, collections) ## コマンド | コマンド | 説明 | |---------|------| | `/hurikaeri` | セッション振り返りを実行 | ## リソース ### scripts/ - `extract_session_trace.py`: トランスクリプト JSONL からセッショントレースを抽出 - `suggest_hurikaeri.sh`: Stop hook 判定スクリプト - `persist_learnings.sh`: KPT レポート永続化ヘルパー ### references/ - `kpt_schema.md`: AI-KPT 出力の完全スキーマ定義 - `counterfactual_prompts.md`: 反事実推論プロンプト集 ### assets/ - `hooks/hurikaeri_hook.json`: Stop hook 設定例
在 GitHub 查看