reflect について
reflect は、会話から再利用可能な学びを抽出し、スキルの編集案やバックログに振り分けるスキルです。複数の観点から並行レビューして結果を統合し、採用した変更の適用には明示的な承認を求めます。
主な機能
- 01現在の会話記録の特定
- 02三つの観点による並行レビュー
- 03採用・却下・バックログ項目の統合
- 04構造的な修正のバックログ振り分け
- 05スキル編集前の承認確認
活用シーン
- 01会話から再利用可能な学びを抽出
- 02セッション中のツール利用と判断を検討
- 03承認用のスキル変更案を準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ cursor/ plugins --skill reflectインストール後、Claude Code で/reflectを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/divergent-reviewer.mdjudgment-reviewer.mdsynthesizer.mdtooling-reviewer.md詳細
Reflect
現在の会話から長期的に役立つ学びを抽出し、スキルの編集先に振り分けます。
ユーザーが「reflect」または「/reflect」と言ったときに実行します。会話が些細な内容、話題から外れた内容、または親エージェントが既存のスキルに従って適切に対応済みの内容の場合はスキップします。一度きりの出来事は学びではありません。
1. アクティブなトランスクリプトを探す
並行処理を開始する前に、システムプロンプトで指定された agent-transcripts/ ディレクトリから、この会話のトランスクリプトを探します。~/.cursor/projects/*/ をまたいで glob を実行しないでください。ワークスペースの境界を越え、無関係なプロジェクトのプライベートなチャットを読み込むことになります。
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 に会話の最初のユーザープロンプトが含まれるファイルを選びます。該当するファイルがない場合は、代わりにセッションの簡潔な要約を渡します。
2. 3 人のレビュアーを並行して起動する
1 回のメッセージで、subagent_type: generalPurpose、エージェントモード(readonly: false)を指定して、3 回の Task 呼び出しを行います。レビュアーは、トランスクリプトで参照されているチケット、チャットスレッド、オブザーバビリティのトレースを調べるため、MCP へのアクセスが必要です。readonly では MCP が使えなくなります。
各レビュアーと統合担当者は、pstack-models.mdc ルール内のロール行とデフォルトモデルを指定します。model にはその行の値を設定し、ルールまたは該当する行がない場合はデフォルトを設定します。値が auto または inherit-parent の場合は、model を指定しません。Task ツールが指定したスラッグを受け付けない場合は、デフォルトを使い、その旨を伝えます。デフォルトも受け付けない場合は、エラーメッセージにある同じファミリーの有効なスラッグのうち、最も近いものを使います。poteto-mode スキルの Subagents セクションに従って、各サブエージェントの推論レベルと、fast または standard の速度を選びます。
| 観点 | ロール行 | デフォルトの 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. 統合する
subagent_type: generalPurpose、reflect judgment, divergent, synthesizer 行の model(デフォルトは claude-opus-5-5-xhigh)、エージェントモード(readonly: false)を指定して、Task を 1 回呼び出します。MCP を使って引用をスポット検証します。readonly では MCP が使えなくなります。references/synthesizer.md をそのまま渡し、指定箇所に各レビュアーの出力全文を埋め込みます。Accepted / Rejected / Backlog の一覧が返されます。
4. 構造による強制の確認
リンティングルール、スクリプト、メタデータフラグ、またはランタイムチェックでより確実に強制できる Accepted 項目は、Backlog に移します。encode-lessons-in-structure の原則スキルを参照してください。
5. 適用
シンセサイザーの「Accepted/Rejected/Backlog」の出力全体を提示し、「Accepted」の編集を適用する前に明示的な承認を待ちます。ユーザーが対象を選び、ルーティングを変更することもあります。スキルの変更は、組織内の今後のすべてのエージェントに影響します。自動適用はしないでください。
Backlog の項目は、待たずにチームの DevEx またはバックログトラッカーに登録します。承認を待つのは「Accepted」のリストだけです。
plugins/cache/ 配下のスキルは編集しないでください。承認前に、適用先が .cursor/skills/<skill>/ か ~/.cursor/skills/<skill>/ かを示します。承認後、スキルフォルダーをその場所にコピーし、コピーを編集します。プルリクエストの作成やプッシュはしないでください。
承認された各行の Routing に厳密に従います。
- 既存スキルへの軽微な編集(一行の箇条書き、文章の簡潔化、古くなった情報の修正):親エージェントが直接行います。
- 既存スキルへの実質的な編集(新しいセクション、新しいパターン表、約10行を超える追加):Cursor 組み込みの
create-skillスキルに任せ、ドラフト/テスト/反復のループを実行します。 tune description: <skill path>(スキルは存在するものの、必要なときにトリガーされなかった):create-skillに任せ、説明を最適化するループを実行します。new skill via create-skill: <kebab-name>:作成をcreate-skillに任せます。場当たり的に構成を考案しないでください。
環境に SKILL.md バリデーターが含まれている場合は、完了を宣言する前に、変更したすべてのスキルに対して実行します。
6. ユーザー向けに要約する
前置きなしの短いリストにします。
- 適用した編集:
<skill path>。変更内容を一行ずつ記載します。 - 作成した新しいスキル:
<skill path>。一行ずつ記載します(まれ)。 - DevEx トラッカーに登録したバックログ:
<issue title>(<tags>)。一行ずつ記載します。 - 見送り:却下された指摘ごとに一行で、シンセサイザーが示した理由を記載します。