mcpField
O
opener-variator

opener-variator

github.com/willoscarドキュメント51736 回インストール3 週間前に更新
リポジトリ

opener-variator について

opener-variator は、論文の小節冒頭を修正するライティング Skill です。対象を指摘された冒頭に限定し、論旨と引用を保ちながら、セルフループレポートに沿って改稿します。

主な機能

  1. 01指摘された小節ファイルの特定
  2. 02冒頭段落や文の改稿
  3. 03論旨と引用の維持
  4. 04異なる冒頭構成の活用
  5. 05writer-selfloop による再確認

活用シーン

  1. 01小節冒頭の反復を減らす
  2. 02概要説明を内容に即した導入へ変更
  3. 03セルフループレポートに基づく論文修正

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/willoscar/research-units-pipeline-skills --skill opener-variator

インストール後、Claude Code で/opener-variatorを入力して読み込まれたか確認します。

同梱ファイルscripts/run.py

詳細

Opener Variator(H3 の最初の段落の書き換え)

トリガーとルーティング

  • トリガー: opener variator, opener rewrite, rewrite openers, overview opener, 开头改写, 小节开头, 去overview, 去旁白.

目的:構造上のゲートを通過してしまう、強い自動生成の兆候を取り除きます。

  • 多くの H3 が同じ修辞的な型で始まっている
  • 内容を伝える枠組みの代わりに、「概要」を説明するナレーションが使われている

このスキルの対象は意図的に絞っています。

  • 対象として指定された H3 ファイルの最初の段落(または最初の 2~4 文)のみを書き換えます
  • 論旨の展開と引用はそのまま維持します

入力

必須:

  • output/WRITER_SELFLOOP_TODO.md(Style Smells セクション)
  • 参照先の sections/S<sub_id>.md ファイル

任意(整合性を保つのに役立ちます):

  • outline/writer_context_packs.jsonl(opener_mode、tension_statement、thesis を使用)

出力

この対象を絞ったパスは、style-harmonizer の直後、論理の 推敲前に実行します。この決定論的スクリプトは認定アダプターです。最新の writer-selfloop レポートに対象ファイルがまだ記載されている場合、またはレポートが いずれかの sections/*.md ファイルより古い場合、マーカーの作成を拒否します。意味上の書き換えは この Skill または担当する上流のライターを通じて行い、writer-selfloop を再実行してから、 アダプターを再試行してください。合格マーカーには、認定済み Section ツリーの SHA256 が記録されます。

  • 更新された sections/S<sub_id>.md ファイル(引き続き本文のみ。見出しは含めません)

ワークフロー(セルフループレポートに基づく)

  1. output/WRITER_SELFLOOP_TODO.md を開き、## Style Smells を見つけます。
  2. 対象範囲を今回のパスで指定された sections/S*.md の一覧のみに限定します。
  3. 対象ファイルごとに、次を行います。
    • 任意:outline/writer_context_packs.jsonl で該当エントリーを確認し、opener_mode / tension_statement / thesis を読んで整合性を保ちます。
    • 実際の書き換えは subsection-writer または chapter-lead-writer で上流から行います。安易なローカルの正規表現による処理に頼らないでください。
    • 3 案から最良の導入を選ぶサンプリング(推奨):異なる導入モードで段落の候補を 2~3 案作成し、その中から内容が最も充実し、H3 間での重複が最も少ない案を選びます。
  4. writer-selfloop を再実行し、Style Smells の一覧が減ったことを確認します。

役割プロンプト:Opener Editor(論文調)

You are rewriting the opening paragraph of a survey subsection.

Goal:
- replace narration/overview openers with a content-bearing framing
- vary opener cadence across subsections so the paper reads authored

Constraints:
- do not invent facts
- do not add/remove/move citation keys
- do not change the subsection’s thesis

Checklist:
- sentence 1 is content-bearing (tension/decision/failure/protocol/contrast), not “what we do in this section”
- paragraph 1 ends with a clear thesis/takeaway
- no slide navigation (“Next, we…”, “In this subsection…”, “This section provides an overview…“)

削除する表現(強いナレーションの兆候)

導入に次のいずれかが含まれている場合は、すぐに書き換えます。

  • 「This section/subsection provides an overview …」
  • 「In this section/subsection, we …」
  • 「This subsection surveys/argues …」
  • 「Next, we move/turn …」
  • 繰り返される導入ラベル(「Key takeaway:」の乱用)

置き換えに使う表現(導入の展開)

H3 ごとに導入モードを 1 つ選びます(writer pack が opener_mode を提案する場合があります)。 ラベルをそのまま使わず、自然な文章を書いてください。

使用できる導入の展開(1 つ選択し、具体的に書く):

  • 緊張関係から始める:実際のトレードオフを示し、それが重要な理由を説明して、主張で締めくくります。
  • 意思決定から始める:制約下でのビルダーの選択を提示し、主張で締めくくります。
  • 失敗から始める:この観点が必要となる失敗モードから始め、主張で締めくくります。
  • プロトコルから始める:比較可能性の制約(予算/ツールへのアクセス)から始め、主張で締めくくります。
  • 対比から始める:A と B を対比する文で始め、その理由を説明して、主張で締めくくります。
  • 観点から始める:章の観点を示し、この小節の問いへと絞り込みます。

簡単な例(言い換えて使用し、そのままコピーしないでください)

悪い例(概要を説明するナレーション):

  • This subsection provides an overview of tool interfaces for agents.

よりよい例(内容を伝える):

  • Tool interfaces define what actions are executable; interface contracts therefore determine which evaluation claims transfer across environments.

悪い例(作業手順のナレーション):

  • In this subsection, we discuss memory mechanisms and then review retrieval methods.

よりよい例(緊張関係から始める):

  • Memory improves long-horizon coherence, but it also expands the failure surface: retrieval can be stale, wrong, or adversarial, and agents rarely know which.

完了チェックリスト

  • 指摘されたファイルの冒頭に「overview/narration」系の語句がありません。
  • 第1段落の末尾が主張/要点になっています(意味は同じです)。
  • 引用キーに変更がありません(追加・削除・移動がありません)。
  • writer-selfloop が引き続き PASS し、Style Smells が減少しています。

スクリプト

クイックスタート
  • uv run python .codex/skills/opener-variator/scripts/run.py --workspace <workspace>
すべてのオプション
  • --workspace <dir>(必須)
  • --unit-id <U###>
  • --inputs <semicolon-separated>
  • --outputs <semicolon-separated>
  • --checkpoint <C#>
使用例
  • 調査用ワークスペースの冒頭文を書き換える:
    • uv run python .codex/skills/opener-variator/scripts/run.py --workspace workspaces/survey-llm-agents

コメント