mcpField
D
dialogue

dialogue

github.com/jwyniaクリエイティブ・メディア179678 回インストール35 週間前に更新
リポジトリ

dialogue について

dialogueは、会話が平板に感じられる理由を探る小説向けの診断スキルです。台詞を表現、サブテキスト、文脈の三層から検討し、よくある問題の診断と対処法を示します。

主な機能

  1. 01三つの層から台詞を診断
  2. 02登場人物の話し方の違いを確認
  3. 03台詞の複数の役割を検証
  4. 04よくある台詞の問題を特定
  5. 05話し方と台詞の監査ツール

活用シーン

  1. 01登場人物ごとの話し方を区別
  2. 02説明に偏った会話を発見
  3. 03直接的な台詞にサブテキストを加える
  4. 04台詞のテンポと役割を確認

インストール

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

$npx skills add https://github.com/jwynia/agent-skills --skill dialogue

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

同梱ファイルscripts/dialogue-audit.tsscripts/voice-check.ts

詳細

対話:診断スキル

フィクションにおける対話の問題を診断します。会話が平板に感じられる理由を特定し、複数の役割を同時に果たす対話を書くよう、執筆者を導きます。

核心となる原則

対話は一度に複数の役割を果たさなければなりません。そうでなければ、フィクションにおいてはあまりにも動きがありません。(Sloane、1979)

優れた対話は、筋を進め、人物像を明らかにし、緊張感を高め、関係性の力学を示し、サブテキストを生み出します。情報を伝えるだけの対話は、うまく機能していません。


3つの層

対話の一行一行は、3つの層で機能します。

層定義確認事項
表面文字どおりに話されている内容その人物らしいですか? 効率的ですか? 自然なリズムですか?
サブテキスト言葉の裏に込められた意味言ったことと意図したことに食い違いがありますか?
文脈やり取りを形作るもの力関係はどうですか? 過去の経緯は? それぞれの人物が望むものは?

対話に問題がある場合、たいていは第2層(サブテキストがない)か第1層(声に個性がない)に原因があります。


対話の状態

状態 D1:声が同じ

症状: すべての人物の話し方が同じです。対話タグを隠すと、誰が話しているのか区別できません。語彙、リズム、文構造が人物ごとに変わりません。

主な質問:

  • タグなしで話者を見分けられますか?
  • 教育や生い立ちが話し方に表れていますか?
  • 人物ごとに口癖、決まり文句、避ける表現がありますか?
  • 感情の状態によって、人物ごとの話し方に違いが出ますか?

診断チェックリスト:

  • 人物によって語彙の幅が異なる
  • 人物によって文の複雑さが異なる
  • 直接的な話し方の度合いが異なる(ぶっきらぼうか、遠回しな言い方か)
  • それぞれの人物に、決して言わないことや避ける話題がある

改善策:

  • 人物ごとに話し方の特徴を別々に整理します
  • 対話を声に出して読み、それぞれの人物の声をはっきりと演じ分けます
  • 人物ごとに口癖と、口にするのを避ける表現を設定します
  • 音声チェックツールを使って定量的に分析します

状態 D2:ぎこちない対話

症状: 対話がぎこちなく、堅苦しく、不自然に感じられます。人物は文法的に完全な文で話します。縮約形もなく、割り込みもなく、断片的な文もありません。

主な質問:

  • 人物は堅苦しい完全な文で話していますか?
  • 文脈に対して対話が整いすぎていませんか?
  • 縮約形や断片的な文、割り込みはありますか?
  • 声に出して読んだとき、自然に聞こえますか?

診断チェックリスト:

  • 人物は適切に縮約形を使っている
  • 不完全な文や、途中で遮られる文がある
  • 対話にリズムの変化がある(機械的ではない)
  • 人物同士が、相手の意図をくみ取らずに話し続けることがある

改善策:

  • すべての行を声に出して読みます。自然に言えないなら、書き直します
  • 人物同士に会話へ割り込ませます
  • 自然に感じられる箇所では、完全な文を断片的な表現に分けます
  • 感情に合った箇所に、言いよどみを加えます

状態 D3:説明の詰め込み

症状: 人物が、互いにすでに知っているはずのことを説明します。別の人物に説明させるためだけに、質問する人物がいます。「ご存じのとおり、ボブ……」症候群です。

主な質問:

  • 人物は、互いにすでに知っているはずのことを話していますか?
  • ある人物が読者の代弁者になっていませんか?
  • 情報を伝えることが主な目的になっていませんか?
  • 説明せずに、その情報を発見させることはできますか?

診断チェックリスト:

  • 「ご存じのとおり……」という構文がない
  • 人物は情報をただ伝えるのではなく、その内容について意見を対立させる
  • 情報は講義ではなく、対立から浮かび上がる
  • 可能であれば、読者は人物とともに発見する

改善策:

  • 情報の中に対立の種を見つけ、人物同士に意見をぶつけさせます
  • 物語の場面内で誰かに情報を発見させます
  • 説明を複数の場面に分けます
  • 人物に事実を誤解させ、訂正させます

状態 D4:サブテキストがない(あからさま)

**症状:**登場人物が、考えていること、感じていること、望んでいることをそのまま口にします。表面上の意味と本当の意味に隔たりがありません。すべてが明示されるため、台詞にドラマ上の緊張感がありません。

主な質問:

  • 登場人物は感情を直接口にしていますか?(「怒っている」)
  • 言葉と本当の意味の間に隔たりがありますか?
  • 登場人物は会話の中で隠れた思惑を持っていますか?
  • 重要なのに、登場人物が口にしていないことは何ですか?

診断チェックリスト:

  • 感情が明言ではなく行動で示されている
  • 登場人物は、直接頼めないものを望んでいる
  • 身振りや態度が言葉と矛盾することがある
  • 言われたことと同じくらい、言われなかったことが重要である

改善策:

  • 会話ごとに、各登場人物に隠れた思惑を持たせる
  • 直接的な発言を間接的な表現に変える(嫉妬 → 誰かの「素敵な角部屋」についてコメントする)
  • 言葉と矛盾したり、複雑にしたりする身振りや態度を加える
  • 「この登場人物が決して口に出して認めないことは何だろう?」と考える

状態 D5:単一機能の台詞

**症状:**台詞が一つの役割(通常は筋書きの情報提示)しか果たさず、それ以外の役割がありません。会話は機能的でも、活気に欠けます。関係性の変化も、人物の新たな側面の露呈も、緊張感もありません。

二重機能テスト: すべてのやり取りについて、次のうち少なくとも3つに答えられる必要があります。

  1. 筋書きにどのような役割を果たしていますか?
  2. 人物について何を明らかにしていますか?
  3. サブテキストは何ですか?
  4. 関係性にどのような影響を与えていますか?

診断チェックリスト:

  • すべての会話が筋書きを進め、かつ人物像を明らかにしている
  • やり取りの中で、話者同士の関係性が変化する
  • 会話の終わりまでに何かが変わる
  • シーンが始まったときとは異なる感情の状態で終わる

改善策:

  • 単一機能の台詞を避け、必ず第二の目的を加える
  • 各登場人物が望むことと、望んでいると口にすることを記録する
  • 情報を伝えただけで終わらせず、状態が変化したところでシーンを終える
  • 台詞監査ツールを使って、機能が十分にカバーされているか確認する

状態 D6:ペースの不一致

**症状:**台詞のペースがシーンの要求に合っていません。緊迫した場面では会話がのんびりと続き、穏やかな場面では応酬が早すぎます。シーン内でリズムに変化がありません。

主な質問:

  • 台詞の速さは感情の強さに合っていますか?
  • シーン内でリズムに変化がありますか?
  • ペースを調整するために、動作の描写や間を使っていますか?
  • 重要な場面にふさわしい強調がされていますか?

ペース調整の手法:

速いペース遅いペース
短いやり取り長めのスピーチ
最小限、またはタグなし間を描写する
動作の描写なし台詞の合間に動作の描写を入れる
話を遮る内省を織り込む

改善策:

  • 緊張が高まるにつれて台詞を速くする
  • 感情の重みを伝える場面ではペースを落とす
  • 沈黙や間を意図的に使う
  • シーン内でやり取りの長さに変化をつける

アンチパターン

説明の塊

パターン:「知ってのとおり、ボブ。うちの会社は1985年に、お前の父親と私のおじが……」 **問題点:**読者のために、登場人物が互いに知っている情報を説明する **改善策:**情報をめぐる対立を作るか、その場で明らかにする

見分けのつかない双子

**パターン:**すべての登場人物が同じ語彙、リズム、率直さで話す **問題点:**台詞タグがなければ、声を区別できない **改善策:**各登場人物の話し方のパターンを整理し、それぞれに固有の言葉の特徴を与える

書き起こし係

パターン:「あの、こんにちは」「ああ、やあ、そうだね……」「そう、そう」 **問題点:**現実的でも、ドラマとしては死んでいる。小説の会話は現実を圧縮したもの **改善策:**意味のある部分から始める。世間話を入れるのは、それが人物像を明らかにする場合だけにする

感情を語るナレーター

パターン:「彼女は怒って言った」「彼は不安そうに答えた」「彼女は激怒して叫んだ」 **問題点:**タグが台詞の役割を担ってしまい、見せるのではなく説明している **改善策:**言葉と行動に感情を担わせ、「言った」を使う

哲学者

**パターン:**登場人物がテーマ、教訓、サブテキストを明示的に語る **問題点:**読者を信頼せず、説教くさくなる **改善策:**行動や暗示から意味を読み取る読者の力を信頼する

テニスの試合

パターン: 完全に交互で、同じ長さの返答が続き、割り込みも力関係の差もありません 問題: 不自然なほど均衡していて、誰も主導権を握らず、譲ることもありません 修正: 一人のキャラクターに主導権を握らせ、別のキャラクターに割り込ませ、三人目を黙らせます


会話タグ

スティーヴン・キングの原則

会話タグには「said」を使うのが最適です。

「said」が効果的な理由:

  • 読者の意識に残りません(読書の速度を落としません)
  • 会話そのものに役割を果たさせます
  • 「said-bookism」(murmured、exclaimed、thundered など)を避けられます

ほかのタグを使う場合:

  • 身体の動作を描写するビート(タグの代わりに使います)
  • 本当に必要な場合に限り、ときどき使います(文字どおりささやく場合の whispered など)
  • 会話そのものが果たすべき役割をタグに担わせてはいけません

タグとビート:

  • タグ:「あなたを信じられないわ」と彼女は疑わしげに言った。
  • ビート:「あなたを信じられないわ。」彼女は腕を組んだ。

ビートは見せ、タグは伝えます。


特殊な状況

口論
  • キャラクター同士の話がすれ違います
  • 繰り返しを通じて激しさが増していきます
  • 昔の不満が突然表面化します
  • 一度口にしたら取り消せないことが言われます
対決
  • 力関係が明確です
  • 賭けられているものが明示または暗示されます
  • 丁寧な言葉の裏に脅威が潜んでいます
  • 勝者と敗者が現れます
誘惑(あらゆる種類)
  • 口にすることと本心が異なります
  • 探り合い、相手の反応に応じます
  • 徐々に真実が明らかになります
  • 言われないことが最も重要です
嘘
  • キャラクターは自分の言っていることを信じています(本人にとっての真実です)
  • そのキャラクターらしい手がかりがあります
  • ほかのキャラクターが見抜く場合も、見抜かない場合もあります
  • 読者はほかのキャラクターより多くの情報を得ている場合があります

診断プロセス

書き手が会話の問題を提示した場合:

1. 問題の層を特定する

どの層に問題がありますか?

  • テキスト: 声に個性がない、台詞がぎこちない
  • サブテキスト: あからさま過ぎる、隠れた意図がない
  • 文脈: 力関係が不明確、過去の経緯が不足している
2. 二重の役割テストを適用する

書き手は次のうち少なくとも3つに答えられますか?

  1. プロットにどのような役割を果たしますか?
  2. キャラクターについて何が明らかになりますか?
  3. サブテキストは何ですか?
  4. 関係性にどのような影響を与えますか?
3. 声に出して読む

最も簡単な診断方法です。人が実際に言いそうな台詞に聞こえますか?タグがなくても話者を区別できますか?

4. アンチパターンを確認する

アンチパターンのリストを確認します。会話の問題のほとんどは、少なくとも1つに当てはまります。

5. 改善策を提案する

特定した状態に基づき、具体的な修正案を提示します。役立つ場合は、定量分析にツールを使います。


利用可能なツール

voice-check.ts

キャラクター間の声の個性を分析します。

deno run --allow-read scripts/voice-check.ts dialogue.txt
deno run --allow-read scripts/voice-check.ts --text "\"I want...\" \"I want...\"" --speakers Alice,Bob

分析項目:

  • 話者間の語彙の重複
  • 話者ごとの平均文長
  • 短縮形の使用状況
  • 質問と陳述の比率
  • 割り込みのパターン
dialogue-audit.ts

二重の役割テストに照らして会話を確認します。

deno run --allow-read scripts/dialogue-audit.ts scene.txt
deno run --allow-read scripts/dialogue-audit.ts --text "dialogue here"

レポート内容:

  • 検出された機能(プロット、キャラクター、緊張感、関係性)
  • サブテキストの指標
  • タグの使用状況の分析
  • アンチパターンの警告

story-sense との連携

story-sense の状態対応する会話の状態
State 5.5: Dialogue Feels FlatD1-D5(具体的にどれかを診断します)
引き継ぎ先
  • character-arc: 声の問題が、キャラクター像の不明確さに起因する場合
  • scene-sequencing: 会話のテンポの問題が、シーン構成の問題である場合
  • cliche-transcendence: 会話が予測可能(反応が予想どおり)に感じられる場合

やり取りの例

例1:声が同じ問題

書き手: 「ベータリーダーから、登場人物全員が同じように話すと言われます。」

対応方法:

  1. 状態を特定します:D1(声が同一)
  2. 2〜3人のキャラクターが話すサンプルを求めます
  3. タグを隠すテストを適用します
  4. voice-check ツールを実行し、定量的に比較します
  5. 追加すべき具体的な違い(語彙、リズム、率直さ)を特定します
  6. 各キャラクターの言語的DNAを提案します
例 2:平板な会話

ライター:「この会話は必要なことを伝えられていますが、活気がありません。」

進め方:

  1. 二重機能テストを適用します。いくつの役割を果たしていますか?
  2. 1つだけ(プロット)なら、状態を特定します:D5(単一機能)
  3. 併発しやすい問題として、サブテキスト(D4)を確認します
  4. 各登場人物が、直接言えないけれど望んでいることは何かを尋ねます
  5. 隠れた思惑と人間関係上の利害を加えます
例 3:説明の問題

ライター:「この過去の経緯を伝える必要がありますが、情報の羅列のようになってしまいます。」

進め方:

  1. 状態を特定します:D3(説明の羅列)
  2. 情報を説明するのではなく、登場人物が発見できるかを尋ねます
  3. 情報の中に対立を見つけます。意見が食い違っているのは誰ですか?
  4. 必要に応じて、複数のシーンに分けます
  5. 登場人物が間違え、訂正されるようにします

出力の保存

このスキルでは、作業内容をセッションをまたいで保持するため、主な出力をファイルに保存します。

出力先の確認

ほかの作業を始める前に:

  1. プロジェクト内に context/output-config.md があるか確認します
  2. 存在する場合は、このスキルの項目を探します
  3. 存在しない場合、またはこのスキルの項目がない場合は、まずユーザーに尋ねます:
    • 「この対話セッションの出力はどこに保存すればよいですか?」
    • 候補として explorations/dialogue/、またはこのプロジェクトに適した保存先を提案します
  4. ユーザーの希望を保存します:
    • コンテキストネットワークがある場合は、context/output-config.md に保存します
    • それ以外の場合は、プロジェクトルートの .dialogue-output.md に保存します
主な出力

このスキルでは、以下を保存します:

  • 診断した状態 - 該当する会話の状態
  • レイヤー分析 - 特定されたテキスト、サブテキスト、または文脈の問題
  • 介入の提案 - 適用すべき具体的な手法
  • 登場人物の話し方に関するメモ - 各登場人物ならではの話し方の要素
会話とファイルの使い分け
ファイルに保存会話に残す
会話の状態の診断確認の質問
話し方の違いに関するメモ個々のやり取りについての議論
サブテキストの提案ライターによる試行錯誤
ありがちな失敗への注意リアルタイムのフィードバック
ファイル名

形式:{story}-dialogue-{date}.md 例:novel-chapter3-dialogue-2025-01-15.md

行わないこと

  • ライターのために会話を書くことはありません
  • ライターの台詞を書き直すことはありません(原則を示すだけで、実際には書き換えません)
  • やり取りの「より良いバージョン」は提示しません
  • 会話以外の文章レベルの問題は診断しません(prose-style に引き継ぎます)
  • プロット構成は扱いません(story-sense に引き継ぎます)

このスキルの役割は診断です。問題を特定し、なぜ問題なのかを説明し、解決策へと導きます。実際に書くのはライターです。


重要な洞察

会話は現実を圧縮したものです。自然に聞こえますが、自然なものではありません。劇的な役割を果たしながら即興のように感じられるよう、注意深く構成されています。目指すのはリアリズムではなく、物語に役立つリアリズムの錯覚です。

会話がうまくいかないときは、どのレイヤーに原因があるのかをたどります。テキスト(どのように聞こえるか)でしょうか? サブテキスト(何を意味するか)でしょうか? 文脈(誰が、誰に、なぜ話しているか)でしょうか?

会話の問題の大半は、サブテキストの問題です。登場人物に言いたいことをそのまま言わせるのは書きやすいものの、劇的な効果に乏しくなります。すべての登場人物に隠れた思惑を持たせます。直接頼めない何かを望ませます。口にしたことと本心の隔たりにこそ、ドラマが生まれます。

コメント