evidence-selfloop について
evidence-selfloopは、エビデンス優先の執筆パイプライン向け診断・ルーティングスキルです。中間成果物を調べて上流の不足を報告し、本文の代筆や事実の捏造は行いません。
主な機能
- 01ブリーフ、バインディング、証拠草稿の確認
- 02阻害要因とバインディング不足の検出
- 03カバレッジ、抽出、計画の問題を分類
- 04サブセクションごとの修正と再実行順を提示
活用シーン
- 01執筆前にサブセクションの証拠を確認
- 02評価情報の不足を上流の修正手順に振り分け
- 03証拠不足が残る間の埋め草的な執筆を防止
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ willoscar/ research-units-pipeline-skills --skill evidence-selfloopインストール後、Claude Code で/evidence-selfloopを入力して読み込まれたか確認します。
同梱ファイルscripts/run.py
詳細
エビデンスのセルフループ(C3/C4 の修正 → 再バインド → 再ドラフト)
トリガーとルーティング
- トリガー: エビデンスのセルフループ、エビデンスループ、エビデンスの不足、バインディングの不足、blocking_missing、エビデンスのセルフループ、エビデンス不足のループ。
目的:埋め草の文章を書かずに、エビデンス優先のパイプラインを収束させます。
このスキルは、中間エビデンスアーティファクト(ブリーフ/バインディング/パック)を読み取り、次の問いに答える、実行可能な TODO リストを作成します。
- どのサブセクションの裏付けが不十分ですか?
- 問題はマッピング/カバレッジ(C2)、エビデンスの抽出(C3)、それともバインディング/計画(C4)ですか?
- 高品質な執筆を妨げている問題を解消するため、どのスキルをどの順序で再実行する必要がありますか?
入力
outline/subsection_briefs.jsonloutline/evidence_bindings.jsonl(利用可能な場合、binding_gaps/binding_rationaleを想定)outline/evidence_drafts.jsonl(blocking_missing、比較、評価プロトコル、制約事項を想定)- 任意(ルーティングの精度が向上します):
outline/evidence_binding_report.mdoutline/anchor_sheet.jsonlpapers/paper_notes.jsonlpapers/fulltext_index.jsonlqueries.md
出力
output/EVIDENCE_SELFLOOP_TODO.md(レポートクラス。常に書き出されます)
セルフループの契約(「エビデンスの修正」の意味)
- 不足を文章で取り繕うのではなく、上流のエビデンスを修正してください。
- エビデンスパックに
blocking_missingがある場合、STOP シグナルとして扱います。ノート/全文/マッピングを強化してから、パックを再生成してください。 - バインディングに
binding_gapsがある場合、ROUTING シグナルとして扱います。マッピング済み論文のエビデンスバンクを充実させるか、マッピングのカバレッジを拡大するか、現実的でない場合はrequired_evidence_fieldsを調整してください。
推奨される最小限の再実行チェーン:
- C3 のエビデンスが不十分な場合:
pdf-text-extractor→paper-notes→evidence-binder→evidence-draft→anchor-sheet→writer-context-pack - C2 のカバレッジが弱い場合:
section-mapper→outline-refiner→(続いて C3/C4 のエビデンススキルを再実行)
ワークフロー(分析のみ)
queries.mdを読み取ります(存在する場合)
- ソフトな設定ヒント(evidence_mode/draft_profile)としてのみ使用し、アーティファクトの契約を上書きしないでください。
outline/subsection_briefs.jsonlを読み取ります
- 各
sub_idについて、axesとrequired_evidence_fields(そのサブセクションで想定されるエビデンスの種類)を記録します。
outline/evidence_bindings.jsonlを読み取ります
- 各
sub_idについて、binding_rationaleとbinding_gaps(バインダーがエビデンスバンクから網羅できた内容と、できなかった内容)を示します。
- (任意)
outline/evidence_binding_report.mdを読み取ります
- 人が読みやすい要約として使用します。独立した真実の情報源ではなく、
outline/evidence_bindings.jsonlのビューとして扱ってください。
outline/evidence_drafts.jsonlを読み取ります
blocking_missing(STOP シグナル)を示し、内容のない執筆につながる比較/評価プロトコル/制約事項の不足がないか確認します。
- (任意)
outline/anchor_sheet.jsonlを読み取ります
- 各サブセクションに、引用で裏付けられたアンカー(数値/評価/制約事項)が少なくともいくつかあるか確認します。
- (任意)
papers/paper_notes.jsonlとpapers/fulltext_index.jsonlを読み取ります
- これらを修正のルーティングに使用します。エビデンスが要旨のみに基づいており、評価に関するトークンが不足している場合は、文章のドラフト作成より先にノート/全文の充実を優先します。
レポートの内容
- 概要件数:
blocking_missingがあるサブセクション、binding_gapsがあるサブセクション、およびよくある失敗理由。 - サブセクションごとの TODO:そのサブセクションを執筆可能にするための、最小限の上流修正パス(スキル+アーティファクト)。
ステータスの意味(ブロック解除ルール)
このスキルは、エビデンス品質に関する執筆前のルーターです。ブロック解除の契約として、Status: の行を扱ってください。
PASS:blocking_missingもbinding_gapsもありません → C5 の執筆に進みます(ただし、ブロック対象ではない執筆可能性の兆候も確認してください。比較/評価/アンカーが少ない場合、内容のない文章になることがよくあります)。OK:blocking_missingはありませんが、binding_gapsがいくつかあります → ドラフトを作成できますが、具体性が弱くなることが予想されます。まず不足を修正することを推奨します。FAIL: 入力が不足している、またはblocking_missingがある → 埋め草の文章を書かず、上流を修正して C3/C4 を再実行してください。
ルーティングマトリクス(症状 -> 根本原因 -> 上流での修正)
これを意味的なルーティングテーブルとして使用してください(スクリプトのチェックリストではありません)。目的は、最初に壊れている中間生成物を修正することです。
| 症状(確認できる箇所) | 考えられる根本原因 | 最初に確認するもの | 最小限の上流修正チェーン |
|---|---|---|---|
evidence_drafts.blocking_missing: no usable citation keys | マッピングされた論文に bibkey がない/bibkey が citations/ref.bib にない | papers/paper_notes.jsonl(bibkey フィールド)、citations/ref.bib | C3 paper-notes(bibkey を確保) -> C4 citation-verifier -> evidence-binder を再実行 -> evidence-draft を再実行 |
blocking_missing: title-only evidence | 検索結果/メタデータに要旨がない(またはフィルタリングが過剰) | papers/papers_raw.jsonl の要旨、papers/paper_notes.jsonl の evidence_level | C1 literature-engineer(メタデータを充実)または C3 pdf-text-extractor(全文を取得) -> paper-notes を再実行 |
blocking_missing: no evidence snippets extractable | マッピングされた論文のノートが簡素すぎる/エビデンスバンクが空 | papers/evidence_bank.jsonl(件数)、papers/paper_notes.jsonl | C3 paper-notes(抽出内容を充実。可能であれば全文を優先) -> C4 のパックを再実行 |
blocking_missing: no concrete evaluation tokens | ノート/バンクからベンチマーク/メトリクス/予算が抽出されていない | papers/paper_notes.jsonl(metrics/benchmarks フィールド)、outline/anchor_sheet.jsonl | C3 paper-notes(評価のアンカーを抽出) -> anchor-sheet と evidence-draft を再実行 |
evidence pack comparisons が乏しい(兆候:comparisons が少ない) | クラスター間で比較できない、またはマッピングの網羅性が不十分 | outline/subsection_briefs.jsonl(クラスター)、outline/mapping.tsv | C2 section-mapper(網羅性)または C3 subsection-briefs(クラスターを改善) -> evidence-draft を再実行 |
bindings.binding_gaps にベンチマーク/メトリクス/プロトコルが記載されている | バインダーが、このサブセクションに対応する評価タグ付きエビデンスを見つけられない | outline/evidence_binding_report.md(タグの構成)、papers/evidence_bank.jsonl のタグ | C3 paper-notes(タグ/エビデンスを抽出)または C2 で該当するサブセクションのマッピングを拡張 -> evidence-binder を再実行 |
binding_gaps にセキュリティ/脅威モデル/攻撃が記載されている | マッピングされた論文群にセキュリティを扱う研究がない、またはノートに脅威モデルの詳細が不足している | outline/mapping.tsv、papers/paper_notes.jsonl | C2 でマッピングを拡張(必要なら C1 で検索クエリも追加)または C3 でノートを充実 -> バインダー/パックを再実行 |
binding report が H3 全体で機械的に均一に見える(タグの構成が同じで、タグのばらつきが少ない) | バインダーの選択が定型的すぎる、またはエビデンスバンクのタグが大まかすぎる | outline/evidence_binding_report.md(タグの構成)、エビデンスバンクのタグ | required_evidence_fields を厳格化し、エビデンスバンクのタグを改善してからバインダーを再実行します。特異性に欠けるバインディングを、文章で取り繕わないでください |
ライターのセルフループとの連携(エビデンス不足を文章で取り繕わない)
writer-selfloopがアンカー/比較の不足で FAIL になり、対応するライターパックにpack_warningsがある場合は、停止してこのエビデンスのセルフループを実行してください。このセクションは、そのパックでは執筆できないことを示しています。- H3 ごとに一般的な埋め草を加えるのではなく、エビデンスの不足を上流で一度に修正してください。
このスキルで行わないこと
papers/*、outline/*、sections/*は編集しません。- 新しい事実や引用を捏造しません。
- しきい値を変更して品質基準を「緩和」することはありません。修正すべき最も上流の生成物を特定します。
スクリプト
クイックスタート
uv run python .codex/skills/evidence-selfloop/scripts/run.py --workspace <workspace>
すべてのオプション
--workspace <dir>--unit-id <U###>(任意)--inputs <semicolon-separated>(任意の上書き)--outputs <semicolon-separated>(任意の上書き。デフォルトではoutput/EVIDENCE_SELFLOOP_TODO.mdに書き込みます)--checkpoint <C#>(任意)
使用例
- C4 のパック生成後にエビデンス TODO リストを生成します:
uv run python .codex/skills/evidence-selfloop/scripts/run.py --workspace <workspace>
コメント
Markdown 対応