section-logic-polisher について
section-logic-polisher は、論文やサーベイの小節草稿の論理展開を点検し、修正を支援するスキルです。冒頭の主張不足を検出し、節の統合前に接続状況をレポートします。
主な機能
- 01冒頭に明確な主張があるか確認
- 02段落間の論理的なつながりを診断
- 03PASS/FAIL レポートを作成
- 04アウトラインに沿った修正手順
活用シーン
- 01段落が孤立して見える小節の修正
- 02節の統合前に H3 の主張を確認
- 03アウトラインを使った段落間の論理補強
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ willoscar/ research-units-pipeline-skills --skill section-logic-polisherインストール後、Claude Code で/section-logic-polisherを入力して読み込まれたか確認します。
同梱ファイルscripts/run.py
詳細
セクション論理のブラッシュアップ(主張+論証のつなぎ)
トリガーと振り分け
- トリガー:logic polisher、section logic、thesis statement、connectors、段落の論理、接続詞、論証の主軸、論理のブラッシュアップ。
- 使用する状況:
sections/S*.mdは存在するものの、段落が互いに孤立しているように読める場合。section-mergerの前に、対象を絞ったデバッグ可能な自己ループを実行したい場合に使用します。
目的:サブセクションが長く、引用が多くても残る、論文らしさに関する主な課題を解消します。
- 主張が欠けている、または弱い(第1段落で主張を明確に打ち出していない)
- 段落間の流れが弱い(段落が孤立し、内容を伴うつなぎがない)
これは、執筆後、統合前に行う、H3 ごとのローカルなブラッシュアップ手順です。
注:主な問題が段落数の増えすぎであれば、このチェックの後に
paragraph-curator を実行してください。隣り合う段落の境界のみを統合し、
すべての文章を保持します。意味上の重複は、引き続き担当の執筆者が
対処してください。
このスキルでブロックされる項目(およびブロックされない項目)
ブロック対象(必ず修正):
- 第1段落に明確な主張/要点(内容に関する主張)がない
ブロック対象外(診断のみ):
- 接続語の出現回数(例:「さらに/しかし/したがって」)。回数は段落が孤立しているかどうかを推測する目安ですが、数をノルマにすると「生成文らしいリズム」(段落冒頭の副詞)が生まれがちです。こうした統計は目標ではなく、シグナルとして扱ってください。
役割プロンプト:論理エディター(論証の流れ)
You are the logic editor for one survey subsection.
Your job is to make the subsection read like a single argument:
- paragraph 1 commits to a clear thesis (content claim)
- each paragraph has an explicit logical relation to the previous one
- bridges are content-bearing (contrast/causal/implication), not slide narration
Constraints:
- do not add new citations
- do not change citation keys
- do not invent facts
Editing lens:
- if a paragraph does not advance the argument (claim/contrast/eval/limitation), compress or delete it
- if a transition is empty, rewrite it as a content-bearing bridge
入力
sections/(S<sec>_<sub>.mdのような H3 本文ファイルを想定)outline/subsection_briefs.jsonl(意図を把握するため、thesisとparagraph_plan[].connector_phraseを使用)- 任意:
outline/writer_context_packs.jsonl(推奨。要点を絞ったアンカー/比較とmust_useを含む)
出力
output/SECTION_LOGIC_REPORT.md(主張について PASS/FAIL を表示。接続語の統計は診断用に表示)
手動/LLM 優先(既存ファイルを編集):
sections/以下の H3 本文ファイル(例:sections/S<sec>_<sub>.md)を更新して、主張/つなぎを修正します(新たな引用は追加せず、キーは維持します)
ワークフロー(自己ループ)
-
チェックスクリプトを実行し、失敗したファイルを正確に特定します。
-
失敗した H3 ファイルごとに、次の作業を行います。
-
対象の H3 本文ファイル(パターン):
sections/S<sec>_<sub>.md -
サブセクションの主張と段落計画の意図については、
outline/subsection_briefs.jsonlを正とします。 -
利用可能であれば、
must_useのアンカー/制約に沿うよう、outline/writer_context_packs.jsonlを優先して参照します(新しい引用は追加しません)。 -
主張(ブロック対象)
- 第1段落の末尾を、結論を先に示す主張文にします。
- メタ的な説明ではなく、内容に関する主張を優先します。
This subsection argues/surveys ...のような、繰り返しの多い書き出しは避けます。 - 最小限の形式(3文。言い換えて使い、コピーしないこと):
- 主張/緊張関係
- それが重要な理由(プロトコル/評価との関連性)
- サブセクションでそれをどう解決するか(使用する対比/アンカー)
-
流れ(必要な場合のみ修正)
- 段落間のつながりが弱い箇所に、短いつなぎを1~2文加えます。
- 段落冒頭の副詞よりも、主語から始める文や、文中のつなぎ(because/while/which)を優先します。
- PowerPoint のような案内表現(
Next, we ...、We now turn to ...)は避けます。
output/SECTION_LOGIC_REPORT.mdが PASS になるまでチェッカーを再実行します。その後、paragraph-curator、evaluation-anchor-checker、最終的なargument-selfloopスナップショットへ進み、統合します。
例
主張のシグナル(第1段落)
悪い例(話題の提示だけ):
Tool interfaces vary across agent systems, and many recent works explore different designs.
良い例(結論を先に示す主張):
A central tension in tool interfaces is balancing expressivity with verifiability; as a result, interface contracts often determine which evaluation claims transfer across environments.
悪い例(メタ的な説明):
This subsection argues that memory is important for agents.
良い例(内容に関する主張):
Memory designs trade off retrieval reliability against write-time contamination, and this trade-off shows up as distinct failure modes under fixed evaluation protocols.
ブリッジ(段落を孤立させない)
悪い例(関連性がありません):
X は……を行います(段落 2)Y は……を行います(段落 3)
より良い例(明確につなげています):
X は <axis> の最適化を重視する一方、Y はボトルネックを <axis> に移します。予算が固定されている場合、これによって、報告された改善が計画の向上によるものなのか、それとも単に探索コストが増えた結果なのかが変わります。
完了条件
output/SECTION_LOGIC_REPORT.mdに- Status: PASSと表示されている- セクションファイルにプレースホルダー(
TODO/…/...)やアウトライン用メタマーカー(Intent:/RQ:/Evidence needs:)が含まれていない - すべての H3 に明確な段落 1 の主張があり、流れが実際に途切れている箇所にのみブリッジが追加されている
スクリプト
クイックスタート
uv run python .codex/skills/section-logic-polisher/scripts/run.py --workspace <workspace>
注意:
- このスクリプトはチェッカーであり、文章を書き換えることはありません。
- コネクターの統計は診断用に表示されます。「カウンターに合わせて書く」のではなく、論旨に沿って書いてください。
すべてのオプション
--workspace <dir>--unit-id <U###>--inputs <semicolon-separated>--outputs <semicolon-separated>--checkpoint <C#>
例
-
デフォルトの実行:
uv run python .codex/skills/section-logic-polisher/scripts/run.py --workspace <workspace> -
出力先パスを明示(まれな上書き。デフォルトを優先してください):
uv run python .codex/skills/section-logic-polisher/scripts/run.py --workspace <workspace> --outputs output/SECTION_LOGIC_REPORT.md