citation-injector について
citation-injectorは、引用予算レポートの制約に従って論文草稿に使用可能な引用キーを追加し、変更内容を記録します。新たな事実を加えずに引用範囲を広げたい執筆ワークフロー向けです。
主な機能
- 01予算に沿って引用キーを追加
- 02対象範囲内のキーのみ使用
- 03草稿を直接更新
- 04合否レポートを作成
- 05全体の引用目標を検証
活用シーン
- 01草稿の引用数が目標未満の場合に補完
- 02小節間で同じ引用が繰り返される状況を改善
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ willoscar/ research-units-pipeline-skills --skill citation-injectorインストール後、Claude Code で/citation-injectorを入力して読み込まれたか確認します。
同梱ファイルscripts/run.py
詳細
引用インジェクター(決定論的なベースライン編集;予算を制約として使用)
トリガーとルーティング
- トリガー:引用インジェクター、引用予算を適用、安全に引用を挿入、引用を追加、引用注入、予算に応じた引用追加、引用の高密度化。
目的:下書きが次のような場合に、パイプラインが収束するようにします。
- 局所的には引用が密集しているものの、全体として引用が不足している(ユニークなキーが少なすぎる)、または
- 多くのサブセクションで同じ引用を過剰に再利用している。
このスキルは意図的に保守的でスクリプト化可能です。
- スクリプトは予算レポートを制約として使用し、
output/DRAFT.mdを直接編集します - 挿入は証拠に対して中立的です(新たな事実は追加しません)。各 H3 に対してすでに列挙されている対象範囲内のキーのみを使用します
入力
output/DRAFT.mdoutput/CITATION_BUDGET_REPORT.md(citation-diversifierによる生成)outline/outline.yml(H3 の ID/タイトルの対応表)citations/ref.bib(挿入するすべてのキーが含まれている必要があります)
出力
output/DRAFT.md(その場で更新)output/CITATION_INJECTION_REPORT.md(PASS/FAIL と変更内容)
絶対条件(新たな事実は追加しない)
- その H3 の予算レポートに記載されているキーのみを挿入します。
- 新たな数値、新たなベンチマーク、優位性を主張する表現を導入しないでください。
This subsection discussesやNext, we examineのような語りのテンプレートを追加しないでください。- 段落内の引用が
[@a; @b; @c]のような引用の羅列だけにならないようにしてください。
論文調の挿入パターン(安全な文の形)
以下は、文の意図として使用してください(言い換えて使用し、そのままコピーしないでください)。
- 軸に沿った実例(推奨)
Systems such as X [@a] and Y [@b] instantiate <axis/design point>, whereas Z [@c] explores a contrasting point under a different protocol.
- 括弧内での根拠づけ(短く、リスクが低い)
The same design pressure appears in nearby systems (e.g., X [@a], Y [@b], Z [@c]).
- クラスターの提示と対比のヒント
Representative implementations span both <cluster A> (X [@a], Y [@b]) and <cluster B> (Z [@c]), suggesting that the trade-off hinges on <lens>.
- 判断基準に沿った提示
For builders choosing between <A> and <B>, prior systems provide concrete instantiations on both sides (X [@a]; Y [@b]; Z [@c]).
- 評価基準に沿った提示(引き続き証拠に対して中立)
Across commonly used agent evaluations, systems such as X [@a] and Y [@b] illustrate how <lens> is operationalized, while Z [@c] highlights a different constraint.
- 列挙調ではない対比
While many works operationalize <topic> via <mechanism> (X [@a]; Y [@b]), others treat it as <alternative> (Z [@c]), which changes the failure modes discussed later.
避けるべきパターン(予算を機械的に並べる、目立つ表現)
以下の書き出しは避けてください(自動挿入のように読めます)。
A few representative references includeNotable lines of work includeConcrete examples include
これらが下書きに含まれている場合は、上記のパターンを使ってすぐに書き直してください(引用キーは変更しないでください)。
配置のガイダンス
- サブセクション内ですでに具体的な対比や判断基準を述べている箇所に引用を挿入することを優先してください。
- 新しい文/短い段落を追加する必要がある場合は、早い位置(多くの場合、第 1 段落の後)に置き、後付けではなく位置づけとして読めるようにしてください。
- 挿入内容はサブセクション固有のものにしてください。サブセクションの観点(H3 のタイトル/
contrast_hook)に触れ、同じ文をすべての H3 にコピーして使えないようにしてください。
ワークフロー
- 予算レポート(
output/CITATION_BUDGET_REPORT.md)を読みます。
- パイプラインゲートの PASS ラインとして、
Global target (policy; blocking)を扱います(queries.md:citation_targetから算出。A150++ のデフォルトはrecommended)。 Gap: 0の場合は何もせず、短い PASS レポートを書いて次に進みます。- それ以外の場合、推奨キーが示された各 H3 について、目標までの不足分を埋めるのに十分なキーを選びます。
- 不足が少ない場合:H3 あたり 3〜6 個のキー
- A150++ で不足がある場合:H3 あたり 6〜12 個のキーが目安です 全体で未使用のキーを優先し、同じ新しいキーを多くの H3 で繰り返し使わないようにします。
- 適切なサブセクションに挿入します。
outline/outline.ymlで H3 の順序を確認し、挿入する文が正しい###サブセクション内に入るようにします。
- 論文らしい文体で挿入します。
- 長い列挙文ではなく、軸を明示した短い文を優先します。
- 挿入する文は証拠に中立な表現にし(新たな事実を加えない)、新しい数値を避けます。
- キーを挿入する前に、
citations/ref.bibに存在することを確認します。
output/CITATION_INJECTION_REPORT.mdを作成します。
- 手を加えた H3 と追加したキーを記録します。
- 全体の目標を達成した場合のみ、
- Status: PASSと記載します。
- 検証します。
- バリデータースクリプト(以下)を再実行して、全体の目標を再確認します。
- 次に
draft-polisherを実行し、挿入文に残る不自然な表現を整えます(引用キーは変更しないでください)。
完了条件
output/CITATION_INJECTION_REPORT.mdが存在し、- Status: PASSとなっていること。pipeline-auditorが「unique citations too low」で FAIL しなくなること。
スクリプト(任意;決定論的な挿入および検証)
通常、このスクリプトを手動で実行する必要はありません。パイプラインランナーがベースラインとなる挿入を決定論的に適用し、目標を検証できるように用意されています。
クイックスタート
uv run python .codex/skills/citation-injector/scripts/run.py --workspace <workspace>
すべてのオプション
--workspace <dir>--unit-id <U###>(任意;ログ用)--inputs <semicolon-separated>(まれに上書きする場合。デフォルトを優先してください)--outputs <semicolon-separated>(まれに上書きする場合。デフォルトではoutput/CITATION_INJECTION_REPORT.mdを検証します)--checkpoint <C#>(任意)
例
- 予算レポートを生成した後、スクリプトでベースラインの挿入を適用する場合:
uv run python .codex/skills/citation-injector/scripts/run.py --workspace <workspace>
コメント
Markdown 対応