AgentSkillsCN

session-retrospective

会话结束时进行综合回顾,从五个维度(领域知识、技术收获、自动化机遇、现有知识更新、项目 CLAUDE.md)对会话展开分析,并根据每次交流的内容,将成果分类归档保存。

SKILL.md
--- frontmatter
name: session-retrospective
description: セッション終了時の統合振り返り。5つの観点(ドメイン知識・技術的学び・自動化機会・既存知識の更新・プロジェクトCLAUDE.md)でセッションを分析し、1回のやりとりで保存先を振り分ける。
user-invocable: true
allowed-tools: ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "AskUserQuestion"]

Session Retrospective

セッションの振り返りを4つの観点で構造的に行い、得られた知見を適切な保存先に振り分ける統合スキル。

背景

CyberAgent ジャンプTOON チームの「多観点チェックリスト」アプローチに着想を得た設計。 従来の3スキル逐次実行(/record-business-knowledge/sync-knowledge/suggest-automation)を 1回の実行に統合し、やりとりのターン数を削減する。

When to Use This Skill

  • セッション終了時(implementation.md Step 5)
  • /session-retrospective コマンドを実行
  • 「振り返って」「まとめて」と依頼

4つの観点(Perspectives)

#観点検出対象保存先
1ドメイン知識業務ルール、用語、仕様理解business_knowledge/ リポジトリ
2技術的学び型設計、テスト、エラー解決パターン~/.claude/rules/
3自動化機会繰り返しパターン、定型操作hooks / skills / rules
4既存知識の更新陳腐化した情報、矛盾する知見該当ルールファイルを更新
5プロジェクト CLAUDE.mdセッションで不足したコンテキスト./CLAUDE.md or .claude.local.md

実行フロー

Step 1: セッション走査(自動)

セッション全体を振り返り、4観点それぞれで該当する知見を抽出する。

走査の判断基準

各観点について、以下のシグナルが検出された場合に知見として抽出する。

観点1: ドメイン知識

  • ユーザーが業務ルールや仕様を口頭で説明した
  • 「〜という仕様」「〜というルール」「〜の場合は〜する決まり」といった発言
  • コード内のビジネスロジックを理解するために背景知識が必要だった場面
  • ドメイン固有の用語が登場し、定義が明らかになった

観点2: 技術的学び

  • エラーを解決し、原因と対策が明らかになった
  • ライブラリやフレームワークの挙動で「こうすべき」と分かった場面
  • 設計パターンの選択で「この方が良い」と判明した
  • 型定義やテスト手法で新しい知見を得た

観点3: 自動化機会(既存の suggest-automation シグナルを継続)

  • 同じチェックを毎回手動で実行した
  • 3ステップ以上の連続した操作を行った
  • 「〜する前に確認して」という依頼パターンがあった
  • エラー後の定型的な修正を行った

観点4: 既存知識の更新

  • セッション中の検索(コード検索・Web検索・ドキュメント参照)で、~/.claude/rules/ の既存記述と類似または矛盾する情報源を発見した
  • 既存ルールに従ったが、うまくいかず別のアプローチが正解だった
  • ライブラリのバージョンアップ等で既存の回避策が不要になった
  • 既存ルールの記述が曖昧で、今回の経験でより具体的に書けるようになった

観点5: プロジェクト CLAUDE.md

  • セッション中にコンテキスト不足で非効率な動きがあった(試行錯誤、誤った前提での実装)
  • プロジェクト固有の Bash コマンド・スクリプトを発見・使用した
  • コードスタイルやアーキテクチャの慣習が暗黙的で、CLAUDE.md に記載がなかった
  • 環境・設定の癖(ポート番号、環境変数、ビルド手順等)に遭遇した
  • テストの実行方法やデバッグ手順で試行錯誤した

Step 2: レポート生成

以下の形式で統合レポートを提示する。

markdown
## セッション振り返り

### 検出した知見

#### 🏢 ドメイン知識
| # | 内容 | ドメイン | 重要度 |
|---|------|---------|--------|
| D1 | [知見の概要] | [ドメイン名] | 高/中/低 |

#### 🔧 技術的学び
| # | 内容 | カテゴリ | 保存先 |
|---|------|---------|--------|
| T1 | [学びの概要] | [型設計/テスト/etc] | [ファイル名] |

#### ⚡ 自動化機会
| # | 内容 | 種類 | 信頼度 |
|---|------|------|--------|
| A1 | [パターンの概要] | hook/skill/rule | 0.3-0.9 |

#### 🔄 既存知識の更新
| # | 対象ファイル | 更新内容 | 理由 |
|---|-------------|---------|------|
| U1 | [ファイル名] | [何を更新するか] | [なぜ更新が必要か] |

#### 📋 プロジェクト CLAUDE.md
| # | 対象ファイル | 追記内容 | 理由 |
|---|-------------|---------|------|
| C1 | [CLAUDE.md or .claude.local.md] | [1行の追記内容] | [なぜ必要か] |

---

該当なしの観点は省略。
保存する項目を選んでください(例: D1, T1, A1, C1 / all / none)

Step 3: ユーザー承認

ユーザーが選択した項目のみを保存する。

  • all → 全項目を保存
  • none → 何も保存しない
  • D1, T1 → 指定した項目のみ保存
  • 個別の項目について修正を求められた場合は修正してから保存

Step 4: 振り分け実行

承認された項目を保存先に振り分ける。

観点保存アクション
ドメイン知識business_knowledge/ にファイル作成/追記 → コミット&プッシュ
技術的学び~/.claude/rules/ の該当ファイルに追記
自動化機会hooks: settings.json に追加 / skills: ~/.claude/skills/ に作成 / rules: 該当ファイルに追記
既存知識の更新該当ルールファイルのセクションを更新(追記ではなく書き換え)
プロジェクト CLAUDE.md./CLAUDE.md or .claude.local.md に追記(1行1概念、簡潔に)

Step 5: 完了報告

markdown
## 保存完了

| 項目 | 保存先 | ステータス |
|------|--------|----------|
| D1 | business_knowledge/xxx/notes/yyy.md | ✅ |
| T1 | ~/.claude/rules/troubleshooting.md | ✅ |

重要なルール

  1. 該当なしは正常 - 全セッションで学びがあるわけではない。無理に検出しない
  2. ユーザー承認必須 - 自動保存しない
  3. 既存知識の確認 - 追記前に必ず既存内容を読み、重複・矛盾を確認
  4. 鮮度の意識 - 新しい知見が既存の記述と矛盾する場合、更新を提案(観点4)
  5. 秘密情報除外 - APIキー、トークン、個人情報は含めない
  6. 簡潔に - 1セッションで大量の知見を無理に絞り出さない

保存先マッピング(技術的学び)

振り分けの原則

知見の対象技術・ツールに応じたファイルに保存する。 エラー解決・トラブルシューティングでも、対象がツール固有なら当該ツールのルールファイルに記載する。 troubleshooting.mdClaude Code 環境固有のワークアラウンド(stdin 制約、WebFetch の制限等)にのみ使用する。

マッピング表

カテゴリファイル
React/Next.js~/.claude/rules/react-nextjs.md
TypeScript~/.claude/rules/typescript.md
JS/TS エコシステム(パッケージ管理, bundler, runtime)~/.claude/rules/javascript.md
テスト~/.claude/rules/testing.md
API設計~/.claude/rules/api-design.md
DB~/.claude/rules/database.md
Cloudflare~/.claude/rules/cloudflare.md
DevOps~/.claude/rules/devops.md
Terraform~/.claude/rules/terraform-guidelines.md
mise~/.claude/rules/mise.md
セキュリティ~/.claude/rules/security.md
フロントエンド~/.claude/rules/web-frontend.md
命名~/.claude/rules/naming.md
型設計~/.claude/rules/type-granularity.md
ドメインモデリング~/.claude/rules/domain-modeling.md
プランレビュー~/.claude/rules/plan-review-learnings.md
Claude Code 環境固有の回避策~/.claude/rules/troubleshooting.md
その他既存ファイルに該当なければ新規ファイルを提案

プロジェクト CLAUDE.md の振り分け基準

対象ファイルの検索

プロジェクトルートで ./CLAUDE.md.claude.local.md を探す。 存在しない場合は観点5をスキップする(新規作成は提案しない)。

CLAUDE.md vs .claude.local.md の振り分け

振り分け先内容
CLAUDE.mdチームで共有すべきコンテキスト(アーキテクチャ、テスト実行方法、コード規約)
.claude.local.md個人の環境固有(ローカルのポート設定、個人のツール設定)

記載スタイル

  • 1行1概念 — CLAUDE.md はプロンプトの一部なので簡潔さが重要
  • <コマンド or パターン> - <簡潔な説明> の形式

書くべきもの / 書くべきでないもの

CLAUDE.md は「書いた瞬間から劣化し始める」前提で運用する。

書くべき書くべきでない
コードから推測できないプロジェクト固有の判断コードスタイルルール(リンターに委譲)
非自明なビルド・テスト・デプロイコマンドディレクトリ構造の説明(すぐ変わる)
重要な gotcha / footgun汎用的なプログラミングアドバイス
ドメイン固有の用語catch-all セクション(「Important Context」等)

追記と同時に削除も提案する

  • エージェントが推測できるようになった情報 → 削除提案
  • コマンドが変わった → 旧コマンドの記述を更新提案
  • 冗長な説明、自明な情報、再発しない一回限りの修正 → 削除提案

自動化機会の信頼度基準

スコア条件
0.93回以上の繰り返し + 明確なパターン
0.72回の繰り返し or 明示的なユーザーの要望
0.51回だが一般的に有用と判断
0.3仮説段階、要検証

既存スキルとの関係

このスキルは以下の3スキルの機能を統合する。 個別のスキルは引き続き単独で使用可能。

  • /record-business-knowledge → 観点1(ドメイン知識)
  • /sync-knowledge → 観点2(技術的学び)+ 観点4(既存知識の更新)
  • /suggest-automation → 観点3(自動化機会)