mcpField
P
post-merge-voice-gate

post-merge-voice-gate

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

post-merge-voice-gate について

post-merge-voice-gateは、サーベイの草稿をマージした後に確認するスキルです。計画者風の接続表現、スラッシュ区切りの軸ラベル、ナビゲーション調の叙述を検出し、レポートを作成します。失敗時は品質ゲートの記録にも追記します。

主な機能

  1. 01計画者風の接続表現を確認
  2. 02本文中のスラッシュ軸ラベルを検出
  3. 03スライド風の案内表現を検出
  4. 04問題の発生元へ修正を振り分け
  5. 05失敗時に品質ゲート記録を追記

活用シーン

  1. 01section-merger後の草稿確認
  2. 02接続文の挿入後に生成器らしい表現を確認

インストール

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

$npx skills add https://github.com/willoscar/research-units-pipeline-skills --skill post-merge-voice-gate

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

同梱ファイルscripts/run.py

詳細

マージ後の文体ゲート

トリガーと振り分け

  • トリガー: マージ後の文体ゲート、マージ文体ゲート、移行部分の漏れ、プランナー口調、マージ後の文体ゲート、つなぎ文の混入。
  • 使用するタイミング: section-merger が output/DRAFT.md を生成し、推敲前にマージによって挿入されたテキストが草稿を生成器の文体に引きずり込まないことを確認したいときです。

目的:マージ後に現れる、影響の大きい「自動生成の痕跡」を検出します。

このチェックがある理由:

  • マージによって、節の本文や明示的に有効化されたつなぎ文にプランナー口調が入り込むことがあります。
  • プランナー口調や軸ラベルを含む文がわずかでもあると、それ以外はしっかりした草稿でも生成器が書いたように読めてしまうことがあります。
  • 修正は、問題の原因となった最も上流の成果物に反映する必要があります。通常は該当する節に修正し、挿入が有効になっている場合に限り outline/transitions.md を修正します。

このスキルはゲートとして機能します:

  • レポート(output/POST_MERGE_VOICE_REPORT.md)を書き出します。
  • FAIL の場合は、ワークスペースのデバッグ可能性を保つため、output/QUALITY_GATE.md にも追記します。

役割プロンプト:文体ゲートキーパー(論文の文体、新しい事実を加えない)

You are the post-merge voice gatekeeper for a survey draft.

Your job is to detect high-signal generator voice in the merged draft:
- planner-talk transitions ("To keep the chapter...", "The remaining uncertainty is...")
- slide/navigation narration ("Next, we move...", "We now turn...")
- axis-label slash lists (A / B / C; planning/memory) used as prose

Rules:
- do not change the draft directly; route fixes to the source file
- do not invent facts or citations
- keep fixes minimal and content-bearing (argument bridges, not navigation)

Output:
- a short PASS/FAIL report with a routing plan

入力

  • output/DRAFT.md
  • outline/transitions.md

outline/transitions.md は、デフォルトでは任意の計画用成果物です。 outline/transitions.insert_h3.ok または outline/transitions.insert_h2.ok が存在する場合に限り、読者向けの情報源となる可能性があるものとして扱います。

出力

  • output/POST_MERGE_VOICE_REPORT.md(常に書き出されます)

このゲートで確認すること(重要度の高いものに限定)

  • プランナー口調のつなぎ文の書き出し(論文本文中のコメントのように読める構成メモ)
  • 読者向けの草稿本文にある、スラッシュで区切られた軸のマーカー(A / B / C)
  • 議論をつなぐべき箇所にある、スライドやナビゲーションの説明

書き換えのトリガー(次の表現があれば FAIL にして振り分けます)

これらの書き出しが草稿本文に挿入されている場合、生成器の文体である可能性が高くなります:

  • 「To keep ...」/「To keep the chapter...」
  • 「The remaining uncertainty is ...」
  • 「as the comparison lens」/「as the reference point」
  • / を使ったスラッシュ区切りの軸ラベル(例:「retrieval / index / write policy」)

振り分けルール(原因となった最も上流の成果物へ)

  • つなぎ文の挿入が有効で、問題の表現が outline/transitions.md にある場合:
    • 修正:transition-weaver を再実行する(または outline/transitions.md を手動で編集する)後、section-merger を再実行します。
  • それ以外の場合(表現が草稿本文にのみある場合):
    • 修正:該当箇所に応じて writer-selfloop/subsection-polisher/draft-polisher に振り分けます。

書き換えのミニ例(そのままコピーしないでください)

悪い例(プランナー口調で、構築メモのように読める):

  • To keep the chapter's comparison lens explicit, we now turn to ...

良い例(議論をつなぎ、内容を含んでいる):

  • Once interface contracts fix what actions are executable, the next bottleneck is how agents choose among those actions under uncertainty and budget constraints.

悪い例(スラッシュ区切りの軸ラベル):

  • ... under mechanism/architecture/data trade-offs ...

良い例(自然な文章):

  • ... under trade-offs between architectural choices and the data/feedback available during interaction ...

スクリプト(任意;決定論的なゲート)

クイックスタート
  • uv run python .codex/skills/post-merge-voice-gate/scripts/run.py --workspace <workspace>
すべてのオプション
  • --workspace <dir>: ワークスペースのルート
  • --unit-id <U###>: ユニット ID(任意;ログ用)
  • --inputs <semicolon-separated>: 入力の上書き(まれに使用;デフォルト:output/DRAFT.md;outline/transitions.md)
  • --outputs <semicolon-separated>: 出力の上書き(まれに使用;デフォルト:output/POST_MERGE_VOICE_REPORT.md)
  • --checkpoint <C#>: チェックポイント ID(任意;ログ用)
例
  • section-merger の直後に実行する(推奨):
    • uv run python .codex/skills/post-merge-voice-gate/scripts/run.py --workspace <workspace>
注記
  • スクリプトは分析のみを行い、内容を編集することはありません。
  • FAIL の場合、output/POST_MERGE_VOICE_REPORT.md に書き出し、output/QUALITY_GATE.md に短い記録を追記します。

コメント