mcpField
S
section-logic-polisher

section-logic-polisher

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

section-logic-polisher について

section-logic-polisher は、論文やサーベイの小節草稿の論理展開を点検し、修正を支援するスキルです。冒頭の主張不足を検出し、節の統合前に接続状況をレポートします。

主な機能

  1. 01冒頭に明確な主張があるか確認
  2. 02段落間の論理的なつながりを診断
  3. 03PASS/FAIL レポートを作成
  4. 04アウトラインに沿った修正手順

活用シーン

  1. 01段落が孤立して見える小節の修正
  2. 02節の統合前に H3 の主張を確認
  3. 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)を更新して、主張/つなぎを修正します(新たな引用は追加せず、キーは維持します)

ワークフロー(自己ループ)

  1. チェックスクリプトを実行し、失敗したファイルを正確に特定します。

  2. 失敗した 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. それが重要な理由(プロトコル/評価との関連性)
      3. サブセクションでそれをどう解決するか(使用する対比/アンカー)
  • 流れ(必要な場合のみ修正)

    • 段落間のつながりが弱い箇所に、短いつなぎを1~2文加えます。
    • 段落冒頭の副詞よりも、主語から始める文や、文中のつなぎ(because/while/which)を優先します。
    • PowerPoint のような案内表現(Next, we ...、We now turn to ...)は避けます。
  1. 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

コメント