reflect について
reflect は、現在の会話から継続的に役立つ学びを抽出し、スキルの編集先を整理するスキルです。会話記録の確認、並列レビュー、結果の統合、承認後の適用を手順化しています。
主な機能
- 01現在の会話記録の特定
- 023つの観点による並列レビュー
- 03結果の統合と検証
- 04スキル編集前の承認
- 05変更規模に応じた作業の振り分け
活用シーン
- 01完了した会話から再利用できる学びを抽出する
- 02実行可能なスキル変更と却下事項を分ける
- 03承認済みのスキル変更を実装に向けて整理する
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ q-qp-p/ pstack --skill reflectインストール後、Claude Code で/reflectを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/divergent-reviewer.mdjudgment-reviewer.mdsynthesizer.mdtooling-reviewer.md詳細
Reflect
会話から長期的に役立つ学びを抽出し、スキルの編集に反映します。
ユーザーが「reflect」または「/reflect」と言ったときに実行します。会話が些細な内容、話題から外れている内容、または親エージェントが既存のスキルに従って適切に対応済みの内容ならスキップします。一度限りの内容は学びではありません。
1. アクティブなトランスクリプトを特定する
並列処理を開始する前に、アクティブなワークスペースのセッションディレクトリから、この会話のトランスクリプトを探します。すべてのプロジェクトのディレクトリを横断して glob してはいけません。ワークスペースの境界を越えて、無関係なプロジェクトのプライベートなチャットを読み込むことになります。
トランスクリプトの場所は、使用するハーネスによって異なります。
-
Cursor: システムプロンプトで指定された
agent-transcripts/ディレクトリ。ls -t <agent-transcripts>/*.jsonl <agent-transcripts>/*/*.jsonl <agent-transcripts>/*/subagents/*.jsonl 2>/dev/null | head -10これには、旧式のフラット形式(
<id>.jsonl)、現在のネスト形式(<id>/<id>.jsonl)、サブエージェント形式(<parent>/subagents/<child>.jsonl)が含まれます。候補ごとに、最初の JSONL 行を読みます。message.content[0].textにこの会話の冒頭のユーザープロンプトが含まれているファイルを選びます。 -
Claude Code:
~/.claude/projects/<slug>/<session-id>.jsonl。<slug>は、ワークスペースのパスに含まれる英数字以外のすべての文字を「-」に置き換えたものです。 -
Pi:
~/.pi/agent/sessions/--<slug>--/*.jsonl。<slug>は、先頭のスラッシュを取り除いたワークスペースのパスで、各「/」を「-」に置き換えたものです。 -
Codex:
~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl。最初の行のpayload.cwdがワークスペースのパスと一致するファイルだけを残します。 -
その他のハーネス: そのワークスペースのハーネスのセッションディレクトリを確認します。
Cursor 以外では、まず新しい候補から確認し、最初のユーザーメッセージに会話の冒頭のユーザープロンプトが含まれているかを調べてください。一致する候補がなければ、セッションの要点を簡潔にまとめて渡します。
2. 3 人のレビュアーを並列で起動する
1 回のメッセージで、subagent_type: generalPurpose、エージェントモード(readonly: false)を指定して、Task を 3 回呼び出します。レビュアーがトランスクリプト内で言及されているチケット、チャットスレッド、オブザーバビリティのトレースを調べられるよう、MCP へのアクセスが必要です。readonly では MCP が使えなくなります。
その他のハーネス。 このスキル内の起動方法は、Cursor の Task ツールを使用しています。別のハーネスでは、そのサブエージェントツールを使います。Claude Code では Agent(subagent_type: general-purpose)、OpenCode では task(subagent_type: general)、Codex では spawn_agent を使ってください。利用可能なサブエージェントツールがない場合(拡張機能のない Pi など)は、各役割を順番に自分で実行します。
各レビュアーと統合担当者は、pstack の設定ファイル(Cursor では ~/.cursor/rules/pstack-models.mdc、その他のハーネスでは ~/.agents/pstack-models.md)で該当する役割行とデフォルト値を確認します。model にはその行の値を指定し、ファイルまたは行がない場合はデフォルト値を指定します。値が auto または inherit-parent の場合は、model を指定しません。サブエージェントツールがモデルのスラッグを受け付けない場合は、デフォルト値を使い、その旨を伝えます。デフォルト値も受け付けない場合は、エラーメッセージまたはハーネスのモデル一覧から、同じファミリーの最も近い有効なスラッグを選びます。各サブエージェントの推論レベルと速度(fast または standard)は、poteto-mode スキルの Subagents セクションに従って、タスクに合わせて選びます。
| 観点 | 役割行 | デフォルトの model | プロンプトテンプレート |
|---|---|---|---|
| 判断 | reflect judgment, divergent, synthesizer | claude-opus-5-5-xhigh | references/judgment-reviewer.md |
| ツール | reflect tooling | grok-4.7-xhigh-fast | references/tooling-reviewer.md |
| 発散 | reflect judgment, divergent, synthesizer | claude-opus-5-5-xhigh | references/divergent-reviewer.md |
各テンプレートをそのまま渡し、該当箇所にトランスクリプトのパスまたは要約を入れます。レビュアーは、Task の応答本文に調査結果を返します。
3. 統合
Task を 1 回呼び出します。subagent_type: generalPurpose、model は reflect judgment, divergent, synthesizer の行にあるもの(デフォルトは claude-opus-5-5-xhigh)、エージェントモード(readonly: false)を指定します。MCP 経由で引用を抜き取り検証します。readonly では MCP が除外されます。references/synthesizer.md をそのまま渡し、指定箇所に各レビュアーの出力全文をインラインで挿入します。Accepted / Rejected / Backlog のリストが返されます。
4. 構造による強制の確認
Accepted の項目のうち、lint ルール、スクリプト、メタデータフラグ、または実行時チェックでより確実に強制できるものは、Backlog に移します。encode-lessons-in-structure の原則スキルを参照してください。
5. 適用
統合担当者が出力した Accepted / Rejected / Backlog の全文を提示し、Accepted の編集を適用する前に明示的な承認を待ちます。ユーザーが対象項目を選び、振り分け先を変更する場合もあります。スキルの変更は組織内の今後のすべてのエージェントに影響します。自動適用しないでください。
Backlog の各項目は、待たずにチームの devex またはバックログトラッカーに登録します。承認を待つのは Accepted リストのみです。
承認された各行の Routing に必ず従ってください。
- 既存スキルへの軽微な編集(箇条書き 1 行、文の簡潔化、古くなった事実の修正など):親エージェントが直接対応します。
- 既存スキルへの実質的な編集(新しいセクション、新しいパターン表、約 10 行を超える変更):ハーネスのスキル作成スキルに引き継ぎ、ドラフト/テスト/反復のサイクルを実行します。Cursor では
create-skill(組み込み)、Anthropic ではskill-creatorを使用します。どちらもない場合は、agentskills.io の Agent Skills 形式に従ってください。以下の「create-skill」は、使用するいずれかを指します。 tune description: <skill path>(スキルは存在するが、起動すべきときに起動しなかった):create-skillに引き継ぎ、説明の最適化サイクルを実行します。new skill via create-skill: <kebab-name>:作成をcreate-skillに引き継ぎます。場当たり的に構成を考案しないでください。
環境に SKILL.md バリデーターが付属している場合は、完了を宣言する前に、変更したすべてのスキルに対して実行してください。
6. ユーザー向けに要約
前置きなしで、短く箇条書きにします。
- 適用した編集:
<skill path>。変更内容を各 1 行で記載します。 - 作成した新しいスキル:
<skill path>。各 1 行で記載します(まれ)。 - devex トラッカーに登録した Backlog:
<issue title>(<tags>)。各 1 行で記載します。 - 却下:却下した指摘ごとに 1 行、その理由は統合担当者の説明に従います。