agents-introspection について
agents-introspectionは、Claude CodeとCodex CLI向けに、関連プロジェクトの会話履歴から再発リスクを調べるスキルです。観察事実と推論を分け、根拠に沿った最小限の恒久対策を提案します。
主な機能
- 01関連するCodexとClaude Codeの会話履歴を検索
- 02範囲を限定してセッション履歴を調査
- 03観察事実と推論を区別
- 04根拠に基づく予防的な変更を提案
活用シーン
- 01タスクに再発リスクがあるか評価
- 02プロジェクト指針の変更前に証拠を確認
- 03会話履歴のカバレッジ不足を特定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ paulrberg/ agent-skills --skill agents-introspectionインストール後、Claude Code で/agents-introspectionを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/transcript-sources.mdscripts/transcript_common.pytranscript-inspect.pytranscript-miner.py詳細
エージェントの内省
このスキルは調整の対象外です。宣言された作業については、ai-coord ゲートをスキップしてください。
対応するチャットホスト
作業を始める前に、現在のチャットホストを特定してください。Claude Code または Codex CLI でない場合は、次のエラーを表示して停止してください。
This skill only works in Claude Code or Codex CLI.
スラッシュまたはドル記号による呼び出しによって、すでにこの指示が会話に追加されている場合は、その指示に従ってください。その場合、スキルツールを使ってこのスキルを再度呼び出さないでください。
現在のプロジェクトにおける過去の Codex と Claude Code の作業から、ユーザーのタスクに再発リスクがあると判断できるかどうかを確認してください。そのうえで、証拠に基づき、効果が持続する最小限の対策を提案してください。
成功とは、レポートでトランスクリプトの対象範囲が示され、観察された行動と推論が区別されていることです。一貫した証拠基準を適用してください。具体的な再発防止策を提案するか、持続的な変更が正当化されない理由を説明してください。
入力
<task>(必須):評価対象のタスク、判断、インシデント、またはワークフロー。省略されていても、現在の会話で明確に示されている場合は、そのタスクを使用してください。それ以外の場合は、不足しているタスクを尋ねてください。
対象範囲と権限
- メタデータまたは cwd が現在のプロジェクトに該当する Codex と Claude Code のトランスクリプト、およびユーザーのタスクに実質的に関連するその他のローカルプロジェクトのトランスクリプトを確認してください。関連する他プロジェクトのセッションを確認する際、ユーザーに許可を求める必要はありません。タスクの文脈、明示されたプロジェクトやパスへの言及、共通する変更やワークフロー、またはセッションのメタデータから関連性を判断してください。名前の一部やキーワードが共通しているだけで、他プロジェクトの履歴を調べないでください。
- 現在のプロジェクトのトランスクリプトは、内部作業の証拠として扱ってください。レポートの改善に実質的に役立つ場合は、直接の抜粋を含めてください。モデルプロバイダーが閲覧できるという理由だけで、要約や編集をしないでください。認証情報、セキュリティ上の秘密情報、個人のウォレットアドレスは決して公開しないでください。
- 原則として確認と報告のみを行ってください。ユーザーから修正の適用または実装を明示的に求められた場合に限り、AGENTS.md またはスキルを編集してください。その場合は、対象範囲内で必要最小限の変更を行い、検証してください。
- トランスクリプトの保存場所は決して変更しないでください。トランスクリプトの証拠を公開物またはサードパーティの成果物に含める前に、外部開示のレビューを実施し、無関係な個人情報や顧客データ、不適切なプライベートパスやリポジトリ名、無関係なトランスクリプトの内容を取り除いてください。許可されている場合に限り、外部への書き込みを行ってください。
範囲を限定した検索
references/transcript-sources.md を読みます。pwd -P で現在のプロジェクトを特定します。ほかにタスクに関連するローカルプロジェクトがあれば特定します。関連するファイル名、コマンド、ツール、エラー、パッケージ名、イシュー ID、スキル名から、識別力の高い短いキーワードを3~6個選びます。
Codex の読み取り専用サンドボックス内、または uv がキャッシュに書き込めない場合は、ヘルパーをスキップします。いずれの場合も、uv run を再試行せず、参照資料の「手動フォールバック」に直接進みます。
ユーザーまたは呼び出し元のスキルが履歴範囲を指定した場合は、以下の既定の --since、--max-sessions、アーカイブ、および本文5件の上限の代わりに、その範囲を使用します。履歴範囲には、期間、セッション数、特定のセッション、アーカイブ済みセッション、その他の関連プロジェクトを指定できます。ユーザーが指定した範囲を広げてはいけません。適用した範囲を 🗂 Historical coverage に記載します。
- 現在のプロジェクトと、タスクに関連する各ローカルプロジェクトについて、選んだキーワード、
--since 60d、--excerpts、--max-sessions 8を指定して、同梱のマイナーを実行します。対象はアーカイブされていないセッションのみです。同義語は別々の--keywordフラグではなく、1つの OR グループキーワード(--keyword 'a|b')として指定します。--max-excerpt-bytes(既定値は8192)は抜粋の合計サイズを制限します。excerpts_truncatedがtrueの場合、抜粋のない候補についてインスペクターを使用します。 - ソースの所有権判定はマイナーの不変条件として扱います。マイナーは、トランスクリプトの内容ではなく、ソース固有の cwd、ディレクトリ、履歴メタデータに基づいて各候補を一度だけ割り当てます。
ownershipを確認します。フォールバックの所有権情報(turn_context.cwdなど)がタスクに対して実質的に曖昧な場合に限り、候補を除外します。マイナーは、所有権の根拠が矛盾する候補と、既定では現在のセッションを除外します。また、関連性の順位付け前に、既知のガーディアン承認セッションも除外します。候補を独立したセッションとして扱う前に、session_kindとparent_session_idを確認します。明示的に指定したガーディアンのパスはインスペクターで引き続き利用できます。 - マイナーのスコア、テーマ、修正、失敗、検証、ツール、または
privacy_gapsの件数、編集済みのexcerpts、およびstartedまたはmodifiedのタイムスタンプは、候補の順位付けとトリアージの手掛かりとしてのみ扱います。これらはヒューリスティックであり、それだけでは根拠になりません。同梱のインスペクターのダイジェスト(scripts/transcript-inspect.py)を使って、関連性の高い上位5件までのトランスクリプト本文をまず確認します。ダイジェストでは不十分な場合に限り、生の本文を開きます。根拠が十分に得られた時点で、それ以上の確認を止めます。可能であれば、比較対象となる成功セッションも含めます。 - 報告された特定のインシデントが見つからない場合は、期間を広げる前に、参照資料の「特定インシデントのフォールバック」を使用します。どちらのヘルパーも、長いセッションの中間部分を省略することがあります。それ以外の場合は、より広いキーワード、または OR グループ化したキーワードで一度だけ再試行します。根拠が依然として弱い場合は、
--sinceを削除して一度だけ再試行します。アーカイブされていない履歴から手掛かりが得られない場合は、--include-archivedを付けて一度だけ再試行します。 - 矛盾する根拠の解消、または明示的に網羅的な調査依頼への対応に必要な場合に限り、これらの上限を超えます。ヘルパーが失敗した場合は、参照資料に従って、プロジェクトの範囲を限定した手動フォールバックを1回行います。
上限内のフォールバックを行っても有用な根拠が得られない場合は、調査範囲の不足を報告して終了します。根拠がないことは、失敗が一度も起きていないことの証明にはなりません。
検索が特に長引く場合は、検索フォールバックの開始時、調査結果によって介入の見込みが変わったとき、または明示された上限に達したときに限り、簡潔な進捗を報告します。🔎 Broadening transcript search — <検証済みの理由と上限> や ⏳ Checking archived sessions — <検証済みの未アーカイブ/アーカイブ範囲> のように、結果を先に示す行を使用します。件数と調査範囲に関する記述は、マイナーまたはツールの出力に基づくものにします。通常のトランスクリプト確認については逐一説明しません。
エビデンス契約
復元可能な場合は、そのセッションで参照できた AGENTS.md とスキルの指示に照らして、過去の動作を評価してください。現在のソースツリーや ~/.agents/skills または ~/.claude/skills にインストールされているコピーにそのルールが含まれているというだけで、エージェントがルールを無視または誤って適用したと推測してはいけません。トランスクリプトから当時のバージョンや利用可能性を確認できない場合は、不明とし、帰属を限定して記述してください。
該当するセッションごとに、以下について簡潔で監査可能な所見だけを記録してください。
- AGENTS.md またはスキルの指示を無視または誤読したこと。
- cwd、プロジェクトルート、ソースパス、またはパスのエンコーディングの誤り。
- 範囲が広すぎる編集、無関係な変更、ユーザーの作業の上書き、または破壊的なコマンド。
- ツール、シェル、解析、再試行、または検証の誤り。
- 根拠のない主張、曖昧な報告、またはテストやチェックの不足。
- 誤りの防止に役立った成功パターン。
各所見を現在のタスクに関連付け、因果関係や再発に関する主張には「推論」と明記してください。意見の不一致や証拠の乏しさは、平均化して隠さず明示してください。
以下の信頼度を使用してください。
- 高:独立した関連セッションが少なくとも2件あり、同じパターンと現在のタスクへの関連性を直接裏付けている。
- 中:曖昧さのない関連セッションが1件ある、または複数のセッションから相反する裏付けが得られる。
- 低:間接的、曖昧、またはヒューリスティックな兆候だけがある。信頼度が低い証拠から、永続的なリポジトリ変更を推奨してはいけません。
永続的な変更には、独立したセッション2件以上で同じ失敗が確認されるか、安定した不変条件の欠如を示す、影響の大きい曖昧さのない失敗が1件必要です。影響の小さい単発の事例は、手動の注意事項として扱ってください。
親セッションとその子セッションは、再発を示す1つの証拠源として数えてください。Guardian の承認セッションには、親の履歴がコピーされている場合があります。そのコピーされた履歴を別の事例として数えてはいけません。系譜メタデータがない場合は、session_kind: unknown としてください。種類が不明であることや親 ID がないことは、独立性の根拠にはなりません。セッションを別々に数える場合は、他の証拠から独立性を確認してください。
最小限の介入を選ぶ
- 教訓が安定しており、プロジェクト全体に適用でき、その範囲で作業するエージェントに役立つ場合は、AGENTS.md を更新してください。
- 失敗が既存のワークフロー内で明確に発生した場合は、既存のスキルを更新してください。
- 複数のプロジェクトやリポジトリにまたがる、繰り返し利用可能な手順に限り、新しいスキルを提案してください。
- 決定論的な検出、解析、または検証を繰り返し実装する必要がある場合に限り、スクリプトを追加してください。
- 単発のミス、証拠の乏しい場合、またはすでに明確に示されているルールについては、永続的な変更を推奨しないでください。代わりに、リスクと手動の注意事項を報告してください。
報告して終了する
読み取り専用の作業では ### 🔎 Introspection complete — <intervention or coverage-gap outcome> で始めてください。明示的に依頼された修正を適用した場合は、### ✅ Introspection fixes applied — <outcome> で始めてください。その後は、以下だけを報告してください。
🗂 Historical coverage:プロジェクトのパス、確認した情報源、使用した代替手段、調査したセッション。🔎 Findings:信頼度、確認された証拠、推論、関連性、介入策を含む簡潔な表。信頼度は深刻度や影響度と明確に分けてください。🛡 Durable recommendations:適用する、後で検討する、または変更しない、のいずれかを、対象と防止策とともに示してください。🧪 Validation and gaps:実行したコマンド、実施したチェック、外部開示に関する制約、不足している証拠。
修正が明示的に依頼されていた場合は、変更したファイルと検証結果を具体的に示してください。証拠に基づく推奨、または明示的な調査範囲の不足が明らかになった時点で、現在のタスクを終了してください。例を追加したり説明を強化したりするためだけに、さらに履歴を調べてはいけません。トランスクリプトへの参照、パス、カウンター、秘匿化箇所、miner JSON は、装飾せず正確に記載してください。