writer-context-pack について
writer-context-packは、学術論文の執筆者向けに小節ごとの構造化コンテキストパックを作成するスキルです。段落計画、証拠の比較、引用範囲、制限事項をまとめ、証拠に基づく執筆と定型表現の抑制を支援します。
主な機能
- 01小節ごとのJSONLパック生成
- 02段落計画と研究課題の統合
- 03比較カードと評価アンカーの提示
- 04引用範囲の限定と執筆リスクの警告
- 05トリミング統計と執筆制約の収録
活用シーン
- 01収集した証拠に基づくサーベイ小節の執筆
- 02段落・比較・引用要件の確認
- 03証拠不足やパックのトリミングの把握
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ willoscar/ research-units-pipeline-skills --skill writer-context-packインストール後、Claude Code で/writer-context-packを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/context_pack_policy.jsonpaper_voice_palette.jsonsource_text_hygiene.jsonreferences/source_text_hygiene.mdscripts/run.py詳細
ライター向けコンテキストパック(C4→C5 ブリッジ)[文章なし]
トリガーとルーティング
- トリガー:writer context pack、context pack、drafting pack、paragraph plan pack、写作上下文包。
目的:ライターに小節ごとの単一のコンテキストパックを提供し、C5 の「中身のない執筆」を減らします。
- 正確な RQ/軸と段落計画(
subsection_briefs) - 具体的な比較カード、評価プロトコル、制限事項(
evidence_drafts) - 数値/評価/制限事項のアンカー(
anchor_sheet) evidence_bindingsに基づく引用可能範囲(小節および章全体)
入力
outline/outline.ymloutline/subsection_briefs.jsonloutline/chapter_briefs.jsonloutline/evidence_drafts.jsonloutline/anchor_sheet.jsonloutline/evidence_bindings.jsonlcitations/ref.bib
必要に応じて参照
- 不適切な原文の文や論文自身による語りがライター向けパックに混入する場合は、
references/source_text_hygiene.md
機械可読アセット
assets/paper_voice_palette.jsonassets/source_text_hygiene.jsonassets/context_pack_policy.json- リポジトリ全体の
assets/limitation-signals.json— 文が制限事項のフックになる前に使われる、共通の極性ルール
出力
outline/writer_context_packs.jsonl
出力形式(outline/writer_context_packs.jsonl)
JSONL。H3 の小節ごとに 1 オブジェクトです。
必須キー:
sub_id、title、section_id、section_titlerq、thesis、axes、paragraph_planclusters(小節ブリーフからコピー。比較カードが少ない場合でも、ライター側で根拠をルートごとに割り当てられます)tension_statement、evaluation_anchor_minimal(小節ブリーフからコピー。具体的な緊張関係と、評価に必要な最小限のコンテキスト枠)opener_mode、opener_hint(テンプレートラベルを使わずに小節の書き出しに変化をつける、論文調のヒント)bridge_terms、contrast_hook、required_evidence_fields(小節ブリーフからコピー。つなぎと根拠の手がかり。新たな事実は追加しません)chapter_synthesis_mode(章ブリーフからコピー。「総合すると……」のようなテンプレート調の繰り返しを避けるのに役立ちます)allowed_bibkeys_{selected,mapped,chapter,global}anchor_facts(簡略化済み)comparison_cards(簡略化済み)must_use(ライターとの契約。パックの情報量とdraft_profileから導出される最低要件)do_not_repeat_phrases(書き換えのトリガー。文面をそのまま繰り返さないようにする、シグナルの強い生成表現の書き出し)pack_warnings(リスト。このパックが上流で修正されないままだと、なぜ中身のない草稿になる可能性があるか)paper_voice_palette(肯定的な論文調の表現パレットと書き換え用の表現。脆弱なハードブロックを使わずに「生成文らしい語り口」を避けます)- ソース:ワークスペースのオーバーライド
outline/paper_voice_palette.json(存在する場合)、なければリポジトリのデフォルト.codex/skills/writer-context-pack/assets/paper_voice_palette.json。 role_cards(節の執筆者/根拠の管理者/スタイル調整者)を含みます。文のテンプレートではなく、役割の手がかりと書き換えの意図として扱ってください。
- ソース:ワークスペースのオーバーライド
pack_stats(オブジェクト。切り詰め/除外が見えなくならないよう、元の数、保持数、除外数と切り詰めポリシーを記録)
切り詰めポリシー:
- パックでは JSONL の読みやすさを保ちつつ具体的な詳細を残すため、長い抜粋を切り詰めます(
pack_stats.trim_policyを参照)。 - 切り詰め時に省略記号は追加しません(文章への意図しない混入を減らすため)。
Writer contract(C5 がこのパックを使用する方法)
各パックを任意のコンテキストではなく、実行可能なチェックリストとして扱ってください。
A150++ の最小要件(デフォルト。ゲートと自己ループで使用):
- paragraph_plan: 10
- anchor_facts: >=10
- comparison_cards: >=4
- limitation_hooks: >=3
- allowed_bibkeys_mapped: >=28
course_paper の最小要件では、より小さなコンテキストパックを使用します。paragraph_plan 6、
anchor_facts >=6、comparison_cards >=3、limitation_hooks >=2、そして
allowed_bibkeys_mapped >=8 です。執筆者向けの must_use サブセットは、アンカーが 3 件、
比較が 2 件、制限が 1 件です。
- 計画の遵守:
paragraph_planに従ってください(計画された段落を飛ばさないでください。対比とアンカーを維持する場合に限り、統合できます)。 - 接続表現の意図:
paragraph_plan[].connector_phraseを意味上の指針として扱い、そのままコピーせず、言い換えて変化をつけてください。「Next, we ...」のようなナレーションは避けてください。 - アンカーは必須:該当する項目がある場合、段落の主張の種類(評価/数値/制限)に合致する
anchor_factsを少なくとも 1 件含めてください。 - 比較は必須:
comparison_cardsを再利用し、A と B を明示的に対比する文を書いてください(A と B を別々に要約する「A、それから B」の形式は避けてください)。 - comparison cards は、両側に利用可能なハイライトがある場合にのみ有効です。衛生処理後に一方だけになった場合は、そのカードを破棄し、執筆者に不足分を即興で補わせるのではなく、不足を上流に戻してください。
- 論旨は必須:最初の段落は
thesisの文で締めくくってください(または、同程度の確約度を保った忠実な言い換えにしてください)。- 内容に関する主張を優先してください。生成文のようなメタ的な書き出し(
This subsection ...)や、H3 の多くで同じ冒頭ラベル(例:Key takeaway:)を繰り返すことは避けてください。
- 内容に関する主張を優先してください。生成文のようなメタ的な書き出し(
- 書き出しモード(テンプレート化の防止):
opener_mode/opener_hintを使い、第 1 段落でサブセクションをどのように枠づけるかに変化をつけてください(緊張関係を先に示す/判断を先に示す/視点を先に示す)。- ラベルを文章にそのまま持ち込まず、道標は控えめにしつつ、内容を担わせてください。
- テンプレート化の防止:
do_not_repeat_phrasesを書き換えのきっかけとして扱ってください(論文調の文体を保つため)。- 一覧にある表現が出てきたら、内容に関する主張や論旨をつなぐ表現に書き換えてください(構成の説明は避けてください)。
- 新たに同じ語句の型に置き換えることは避け、表現に変化をつけ、論文らしい文体を保ってください。
- 例外:サブセクション固有の表現であり、再利用可能な語句の型ではない場合は、1 回だけ使用できます。
- ミクロ構成:文章が平板な要約に流れ始めたら、
grad-paragraphを繰り返し適用してください(緊張関係 → 対比 → 評価のアンカー → 制限)。 - 引用の範囲:
allowed_bibkeys_selectedを優先し、次にallowed_bibkeys_mapped、その次にallowed_bibkeys_chapterを使用してください。allowed_bibkeys_globalは、複数のサブセクションにわたって割り当てられた横断的な研究(基礎研究/ベンチマーク/サーベイ)用です。使用は控えめにし、各 H3 でサブセクション固有の引用を 3 件以上含めてください。
このパックが執筆者によくある失敗をどう防ぐか(積極的に活用してください)
このパックは、執筆上の制約と活用可能な要素のセットとして扱ってください。
失敗 -> パックの扱い -> 執筆上の工夫
-
ナレーション風の書き出し(「この小節では……」「本小節では……」)
- 使用する項目:
tension_statement、opener_mode、opener_hint、thesis - 工夫:内容を先に示す段落を執筆します。段落1では、緊張関係/判断/視点を示し、重要である理由を説明してから、最後に論旨を述べます。
- 使用する項目:
-
トピックの列挙(論文ごとに段落を分け、比較しない)
- 使用する項目:
comparison_cards、axes - 工夫:明確な対比語(「一方で」「対照的に」「〜とは異なり」)を使ったA対Bの文を書き、軸を一つずつ対応させます。
- 使用する項目:
-
評価の背景情報が不足(プロトコル/指標が示されず、主張が宙に浮く)
- 使用する項目:
evaluation_anchor_minimal、evaluation_protocol - 工夫:結果を比較する段落で、最低限の3要素(タスクの種類+指標+制約(予算/ツールへのアクセス/コスト))を示します。
evaluation_protocol内のベンチマーク一覧はメタデータとしてのみ扱います。本文でベンチマーク名をそのまま列挙しないでください。
- 使用する項目:
-
限界の説明が不足(自信過剰な印象になる)
- 使用する項目:
limitation_hooks、required_evidence_fields - 工夫:証拠からは何が示されないのか(プロトコルの不一致、アブレーションの不足、脅威モデルが不明確など)に結び付けて、明示的な留保を段落または節として一つ追加します。
- 使用する項目:
-
免責事項の繰り返し(すべてのH3で「要旨のみの証拠」を繰り返す)
- 使用する項目:
pack_warnings(手掛かりとして使用し、文言をそのまま使わない) - 工夫:証拠に関する方針は前付けで一度だけ示します。H3では、その小節に固有の短い留保が必要な場合に限り追加します。
- 使用する項目:
-
引用の逸脱/論文内で自由に引用する
- 使用する項目:
allowed_bibkeys_selected(次にmapped、続いてchapter、globalはまれに使用) - 工夫:これらのセット以外を引用しないと書けない場合は、本文で「何とかする」のではなく、作業を止めて上流のマッピング/バインディングを修正します。
- 使用する項目:
短い例(そのまま転載せず、言い換えてください)
悪い例(ナレーション風の書き出し):
This subsection surveys tool interfaces for agents ...
良い例(内容を先に示す書き出し):
A central tension in tool interfaces is balancing expressive action spaces with verifiable execution; we argue that interface contracts largely determine what evaluation claims can be trusted.
悪い例(メタ的なガイダンス):
Therefore, survey comparisons should focus on ...
良い例(文献に即した観察):
Across reported protocols, comparisons often hinge on whether tools are treated as deterministic APIs or as stochastic resources, which changes both cost and failure modes.
スクリプト
クイックスタート
uv run python .codex/skills/writer-context-pack/scripts/run.py --helpuv run python .codex/skills/writer-context-pack/scripts/run.py --workspace <workspace>
すべてのオプション
--workspace <dir>--unit-id <U###>--inputs <semicolon-separated>--outputs <semicolon-separated>--checkpoint <C#>
例
- デフォルトの入出力:
uv run python .codex/skills/writer-context-pack/scripts/run.py --workspace <workspace>
- 入出力を明示する場合:
uv run python .codex/skills/writer-context-pack/scripts/run.py --workspace <workspace> --inputs "outline/outline.yml;outline/subsection_briefs.jsonl;outline/chapter_briefs.jsonl;outline/evidence_drafts.jsonl;outline/anchor_sheet.jsonl;outline/evidence_bindings.jsonl;citations/ref.bib" --outputs "outline/writer_context_packs.jsonl"
改訂マーカー(推奨;変更の繰り返しを防止)
writer packsに問題がなく(briefs/bindingsとの整合性も取れている)と判断したら、次を作成します:
outline/writer_context_packs.refined.ok
これは「レビューして改訂しました」という明示的なシグナルです:
- スクリプトによる再生成で作業が元に戻るのを防ぎます
- (strict runsでは)執筆前の完了シグナルとして使用できます