transition-weaver について
transition-weaverは、隣接するサーベイの小節タイトルと概要を基に、短い接続文を作るスキルです。既存の資料に沿い、新たな事実や引用を加えません。
主な機能
- 01隣接する小節を接続
- 02小節概要と接続の手掛かりを利用
- 03論文に使える接続文を作成
- 04新たな事実や引用を追加しない
活用シーン
- 01執筆済みの節どうしの流れを改善
- 02サーベイの隣接小節をつなぐ
- 03節の統合に向けて接続文を準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ willoscar/ research-units-pipeline-skills --skill transition-weaverインストール後、Claude Code で/transition-weaverを入力して読み込まれたか確認します。
同梱ファイルscripts/run.py
詳細
トランジション・ウィーバー(LLM 優先、新たな事実の追加禁止)
トリガーとルーティング
- トリガー:トランジション・ウィーバー、トランジションをつなぐ、一貫性、过渡句、承接句、章节连贯性。
- 使用する場面:
outline/subsection_briefs.jsonlが存在し、執筆の前後で一貫した流れを作りたい場合(通常は Stage C5)。
目的:隣接する小節が孤立して読まれないよう、リスクの低い簡潔な「トランジションマップ」を作成します。
このスキルは、意図的に低リスクかつ決定論的です。
- スクリプトは、隣接する小節のタイトルと簡潔なつなぎの手掛かりから
outline/transitions.mdを書き出します。 - 生成されるトランジションは論文にそのまま使える表現とし、新たな事実や引用文献を加えません。
トランジションでは、次の点に答えます。
- 前の単位で何が確立されたか
- どのようなギャップや緊張が残っているか
- なぜ次の単位につながるのか
挿入時の契約(トランジションは草稿の文章として扱う)
outline/transitions.md は計画メモではありません。section-merger がこれを output/DRAFT.md に挿入します。
そのため、各トランジション行は論文の文章として読んでも問題のない内容にしてください。
書式の契約(マージ時の挿入用):
- デフォルトでは、
- 3.1 -> 3.2: <text>に一致する行のみが挿入されます(章内の H3 から次の H3 への接続)。 <text>は箇条書きにせず、1 文にしてください。
注意:
- 目に見えない文字や制御文字のエンコード問題を避けるため、Unicode 矢印ではなく ASCII の矢印
->を使ってください。 section-mergerは下位互換性のため->と→の両方を受け付けますが、推奨される形式は->です。
厳守事項:
- トランジション文は完成した文章として記述してください。内容を伝える文にし、作業手順を説明する文にはしないでください。
- 計画について述べる書き出しは避けてください。「To keep ...」「The remaining uncertainty is ...」「setting up a cleaner ...」のような表現は使わないでください。
- スラッシュで区切った軸ラベル(A / B / C、planning/memory など)は使わないでください。自然な文章に書き換えてください。
- 簡潔にしてください。通常は 1 文、2 文になるのはまれです。
- セミコロンを多用した複数節の構成メモは避けてください。
書き換えが必要な表現(見つけたら書き換える):
- 「To keep ...」「We next focus on ...」「The remaining uncertainty is ...」
- 「as the comparison lens」「reference point」「to make the next trade-offs easier to interpret」
役割プロンプト:リンカー(語りを挟まず一貫性をつなぐ)
You are the coherence linker for a survey.
Your job is to write short, content-bearing transitions between adjacent subsections:
- restate what was established (one clause)
- name the remaining tension/gap (one clause)
- justify why the next subsection is the right lens (one clause)
Style:
- argument bridge, not navigation
- no “Now we discuss / Next we move / In this section…”
- no semicolon planning notes
Constraints:
- NO NEW FACTS
- NO citations
- only reuse handles that already exist (titles, RQs, bridge_terms)
文体の目標(論文らしく、ただし新たな事実の追加は禁止):
- 構成の説明ではなく、内容を伝える議論のつなぎを優先してください。
- 簡潔にしてください(多くの場合 1 文)。
- マージ後に節のタイトルを説明する表現は避けてください。「From Section A to Section B」のような表現は使わないでください。
- 「Now we discuss / Next we introduce / In this section we ...」のような表現は避けてください。
重要:トランジションは内容を伝える実質的な文とし、構成メモにしないでください。
- 悪い例:「X の後に、Y は……を通じてつなぎを明示し……。より明確な A 対 B の比較につなげる。」
- 良い例:「ループの設計が可能なアクションを決める一方、ツールインターフェースは、それらのアクションを実行可能な API やオーケストレーションポリシーにどう結び付けるかを定めます。」
(マージ後に軸や計画のメモのように読めるため)次の表現も避けてください。
- スラッシュで区切った軸ラベル(例:
A/B/C、planning/memory)。自然な文章(and/or)に書き換えてください。
入力
outline/outline.yml(順序とタイトル)outline/subsection_briefs.jsonl(rqと、任意のbridge_terms/contrast_hookを含むこと)
出力
outline/transitions.md(section-mergerで使用。論文らしい文体を維持してください)
ワークフロー(新たな事実の追加禁止)
outline/outline.ymlを読み、隣接関係(どの H3 の次にどの H3 が続くか)を確認します。outline/subsection_briefs.jsonlを読み、各小節のrqと、つなぎの手掛かり(bridge_terms、contrast_hook)があれば抽出します。- 境界ごとに、1~2 文のトランジションを書きます。
- 新たな事実を加えない
- 引用文献を加えない
- 「この節を次のように構成する……」といった明示的なメタ説明をしない
- プレースホルダー(
TODO、…、``)を使わない
outline/transitions.mdに書き込みます。
役割カード(明示的に使用)
Linker(引数の橋渡し)
使命:ナレーションを入れず、短く内容のあるつなぎを書くこと。
すること:
- 確立された内容を述べ直す(1 節で)。
- 残っている緊張/ギャップを示す(1 節で)。
- 次の単位が続く理由を正当化する(1 節で)。
避けること:
- 見出しのナレーション(「X から Y へ」)やスライドのナビゲーション(「次に移ります」)。
- セミコロンによる計画メモやメタな解説。
Skeptic(テンプレートキラー)
使命:構築メモのように読めるものをすべて削除すること。
すること:
- どのサブセクションにも当てはまりうる汎用的なつなぎを削除する。
- 見出し/RQ/橋渡し用語から、サブセクション固有の名詞を強制的に引き出す。
避けること:
- つなぎに新たな事実を紛れ込ませること。
スクリプト(生成 + 検証)
通常これを手動で実行することはありません。これはパイプラインランナーが成果物を決定論的に生成し検証できるように存在しています。
クイックスタート
uv run python .codex/skills/transition-weaver/scripts/run.py --workspace <workspace>
すべてのオプション
--workspace <dir>: ワークスペースのルート--unit-id <U###>: ユニット ID(任意、ログ用)--inputs <semicolon-separated>: 入力を上書き(まれ、デフォルトを推奨)--outputs <semicolon-separated>: 出力を上書き(まれ、デフォルトではoutline/transitions.mdを検証)--checkpoint <C#>: チェックポイント ID(任意、ログ用)
例
outline/transitions.mdを書いた後に検証する:uv run python .codex/skills/transition-weaver/scripts/run.py --workspace <workspace>
トラブルシューティング
問題:つなぎがテンプレートのように読める
修正:
- サブセクションのブリーフにサブセクション固有の橋渡しシグナル(
bridge_terms/contrast_hook)が含まれていることを確認する。 - それらのハンドルに言及するようにつなぎを書き直す(軸ラベルの一覧としてではなく、内容として)。
注記:挿入は明示的
デフォルトでは、section-merger は生成されたつなぎを挿入しません。章内の H3 つなぎには
outline/transitions.insert_h3.ok を、H2 間のつなぎには
outline/transitions.insert_h2.ok を作成し、その後マージ後のボイスゲートを実行してください。