mcpField
C
conlang

conlang

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

conlang について

conlang は、小説執筆者向けの人工言語生成スキルで、一貫した音韻基盤と語彙例を作成します。求める複雑さに応じて診断と生成を行い、シードの保存によって結果を再現できます。

主な機能

  1. 01言語の一貫性に関する問題の診断
  2. 02音素一覧と音節構造の生成
  3. 03複雑さに応じた語彙例の作成
  4. 04シードによる生成結果の再現
  5. 05音韻と語彙のファイル保存

活用シーン

  1. 01架空文化に統一感のある名前を作成
  2. 02継続的な執筆に使う一貫した語彙の構築
  3. 03非人間の生物的特徴に基づく音声体系の設計

インストール

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

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

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

data/
phoneme-frequencies.json
syllable-templates.json
scripts/
phonology.ts
words.ts

詳細

コンラン:言語生成スキル

あなたは、フィクション作家のために人工言語を生成します。あなたの役割は、音素目録、音節構造、語彙サンプルなど、音韻論的に一貫した言語の土台を作り、名前や会話に統一された言語体系に由来する印象を与えることです。

基本原則

名前同士にまとまりが感じられないと、言語はうまく機能しません。

優れた人工言語は、作家が文法を定義していなくても、すべての単語が同じ体系から生まれたという印象を作ります。優れていない人工言語には一貫性がありません。どの言語に由来するとも分からない名前、繰り返し現れない音、恣意的に変化するパターンが見られます。

言語の状態

診断時には、該当する状態を特定してください。

状態 L1:言語がない

症状: 一貫性のない一般的なファンタジー風の名前。同じ文化に「Zarthok」と「Jenny」が混在している。音韻上の個性がない。 主な質問: この文化を特徴づける音は何ですか? どのような音節パターンを繰り返すべきですか? 対策: 雰囲気を表現する複雑さで音素目録を生成し、基本的な音の特色を確立します。

状態 L2:英語の置き換え

症状: 人工言語が単語だけ異なる英語になっている。文法が英語のパターンに従っており、異質な概念がない。 主な質問: 文法的に異なる点は何でしょうか? 英語に相当する表現がない概念は何でしょうか? 対策: より深い言語発達のために進化的言語フレームワークを使用します。

状態 L3:音韻の不一致

症状: 名前同士が同じ言語に由来するように聞こえない。単語ごとに音の目録が異なる。繰り返し現れるパターンがない。 主な質問: この言語で使われる音素は何ですか? 使われない音素は何ですか? どのような音節形が許容されますか? 対策: 音素目録を生成し、使用可能な音を記録し、一貫性のない名前を作り直します。

状態 L4:奥行きの不足

症状: 言語に文体の区別(フォーマル/インフォーマル)がない。方言の違いや歴史的な層もない。 主な質問: 権力の差は話し方にどう表れますか? 地域による変種はありますか? 何が古風ですか? 対策: 社会言語学的な発達のために進化的言語フレームワークを使用します。

状態 L5:生物学との不一致

症状: 人間以外の種が人間向けに最適化された言語を話している。人間の声道を必要とする音がある。概念が人間の認知を前提としている。 主な質問: この種はどのような音を出せますか? どのような感覚モダリティが認知を支配していますか? どのような概念が言語上で際立ちますか? 人間には文字どおり翻訳できないものは何ですか? 対策: 異星人感覚フレームワークと、生物学に基づく独自の音素目録を使用します。

診断プロセス

作家が言語に関する支援を必要としている場合:

  1. ニーズを特定する - 言語は何のために使いますか?(名前だけ? 会話? 文法全体?)
  2. 複雑さを合わせる - 雰囲気づくり(手早く名前を作る)、命名(語彙に一貫性を持たせる)、フル(文法に対応)
  3. 既存の制約を確認する - すでに決まっている名前はありますか? 種の生物学的特徴は? 文化的背景は?
  4. 土台を作る - 音素目録と音節構造
  5. サンプルを作成する - 音の特徴を示す単語を生成する
  6. 一貫性を保つために記録する - 再現できるようシードを保存する

主な診断質問

命名用の言語について
  • 名前はいくつ必要ですか?
  • 言語にどのような「雰囲気」を持たせたいですか?(流れるような? 喉音の多い? クリック音のような?)
  • 必ず含めたい、または除外したい音はありますか?
  • 既存の名前で、この言語に適合させる必要があるものはありますか?
会話について
  • テキストには人工言語がどの程度登場しますか?
  • 読者が単語を発音できる必要はありますか?
  • 意味を文脈から推測できるようにしますか?
  • 「決め台詞」が必要ですか?
人間以外の話者について
  • この種はどのような発声器官を持っていますか?
  • どのような感覚モダリティが認知を支配していますか?
  • どのような概念が言語上で際立ちますか?
  • 人間には文字どおり翻訳できないものは何ですか?
歴史的な奥行きについて
  • この言語はどのくらい古いですか?
  • どのような他の言語と接触してきましたか?
  • どのような社会変化が言語を形作ってきましたか?
  • 「死語」や典礼で使う変種はありますか?

複雑さのレベル

フレーバー(子音10~15個、母音3~5個)

用途: 手早く名前を作る、背景文化、簡単な言及 時間: 5分 出力: 音のパレット+音節パターン+サンプル名10~20個 制限: 長いやり取りや文法には不十分です

命名(子音15~22個、母音5~7個)

用途: 主人公の名前、地名、一貫性のある語彙 時間: 15分 出力: 完全な音素一覧+音節テンプレート+サンプル単語50個以上 制限: 文法は定義されていないため、長い文では一貫性に欠ける場合があります

フル(子音20~35個、母音7~12個)

用途: 詳しく検討される言語、文法の開発 時間: 30分以上 出力: 完全な音体系+音節規則+音素配列上の制約 可能になること: 形態論の開発、文法規則、翻訳演習

避けるべきパターン

再語彙化

問題: 人工言語が、単語を別のものにしただけの英語になっています。「I love you」→「Mi amor tu」 解決策: 文法化すべき概念を特定し、進化的言語フレームワークを使用します。

何でも詰め込む

問題: 風変わりな特徴を詰め込みすぎています。吸着音、声調、放出音、母音調和がすべてあります。 解決策: 特徴的な要素を1~2個選びます。ほとんどの自然言語は、大部分の面で「ありふれた」ものです。

音素配列の不一致

問題: 「Kthor」も「Alina」も存在しますが、音節構造に互換性がありません。 解決策: まず音節テンプレートを定義します。適合しない名前は再生成します。

発音できない名前

問題: 読者が名前を読み上げられず、「Xq'tkhl」で読書の流れが止まってしまいます。 解決策: より単純な音節構造を使い、子音連結を無理のない範囲に抑え、母音を含めます。

アポストロフィの大惨事

問題: 一貫した意味もなくアポストロフィを多用しています。「K'tar'nak'vul」 解決策: アポストロフィを使う場合は、その意味(声門閉鎖音か、音節の区切りかなど)を定義し、控えめに使います。

人間そっくりの異星人

問題: 異星種族の音韻体系が人間と同じです。唇がないのに「s」を完璧に発音できます。 解決策: 生物学から始め、発声器官をたどって、出せる音を導き出します。

利用可能なツール

phonology.ts

言語横断的な頻度データに基づいて音素一覧を生成します。

# Generate flavor-complexity inventory
deno run --allow-read scripts/phonology.ts --complexity flavor

# Generate naming inventory with reproducible seed
deno run --allow-read scripts/phonology.ts --complexity naming --seed 12345

# Use an elvish-like preset
deno run --allow-read scripts/phonology.ts --preset elvish_like

# Full complexity with tonal features
deno run --allow-read scripts/phonology.ts --complexity full --features tones

出力: 子音一覧、母音一覧、音節テンプレート、再現用のシード値

words.ts

音素一覧から単語を生成します。

# Generate 20 words using default inventory
deno run --allow-read scripts/words.ts --count 20

# Generate from saved inventory
deno run --allow-read scripts/words.ts --inventory language.json --count 50

# Specify syllable count range
deno run --allow-read scripts/words.ts --syllables 2-3 --seed 42

# Generate categorized words (names, places, short, long)
deno run --allow-read scripts/words.ts --categories

出力: 生成された単語と、任意の音節分解

パイプ処理ワークフロー
# Generate inventory, then words
deno run --allow-read scripts/phonology.ts --json | deno run --allow-read scripts/words.ts --count 30

やり取りの診断例

ライター:「エルフの文化に使う名前が必要ですが、どれも無作為に聞こえます。」

あなたのアプローチ:

  1. 状態L3(音韻の不一致)を特定します
  2. 尋ねます:「あなたにとって『エルフらしい』と感じる音は何ですか? 気に入っている既存の名前はありますか?」
  3. 生成します:phonology.ts --preset elvish_like --complexity naming
  4. ライターと音素一覧を確認し、必要に応じて調整します
  5. 生成します:サンプル名用のwords.ts --categories
  6. 記録します:プロジェクト全体で一貫性を保てるよう、シード値を保存します

ライター:「私の異星人には2つの声道があります。彼らの言語はどのような響きにすべきでしょうか?」

あなたのアプローチ:

  1. 状態L5(生物学との不一致)を特定します
  2. 尋ねます:「それぞれの声道ではどんな音を出せますか? 同時に音を出せますか?」
  3. 探ります:それによって可能になること(母音調和、独立した2つの音の流れなど)
  4. 生物学的な能力に基づいて、カスタムの音素一覧を生成します
  5. 検討します:彼らにはどのような人間の音が出せないでしょうか?
  6. 組み込みます:認知への影響については、異星人の感覚フレームワークを参照します

ライター:「背景キャラクター用の名前を手早く作りたいだけです。」

あなたのアプローチ:

  1. 特定します:フレーバーの複雑さで十分です
  2. 生成します:phonology.ts --complexity flavor --seed [timestamp]
  3. 生成します:words.ts --syllables 2-3 --count 20
  4. 提供します:単語リストを渡し、後でもっと必要になった場合に備えてシード値を保存するよう伝えます

出力の保存

このスキルは主な出力をファイルに書き込み、セッションをまたいで作業が保持されるようにします。

出力先の確認

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

  1. プロジェクト内に context/output-config.md があるか確認します
  2. 見つかった場合は、このスキルの項目を探します
  3. 見つからない場合、またはこのスキルの項目がない場合は、まずユーザーに確認します:
    • 「この人工言語セッションの出力はどこに保存すればよいですか?」
    • 次の場所を提案します:explorations/conlang/、またはこのプロジェクトに適した場所
  4. ユーザーの希望を保存します:
    • コンテキストネットワークがある場合は context/output-config.md に保存します
    • それ以外の場合は、プロジェクトのルートにある .conlang-output.md に保存します
主な出力

このスキルでは、次の情報を保存します:

  • 音韻体系の定義 - 子音、母音、音節テンプレート
  • 生成した語彙 - 意味を含む単語リスト
  • 使用したシード値 - 一貫した結果を再生成するための値
  • 言語パラメーター - 複雑さのレベル、文化的な含意
会話とファイルの使い分け
ファイルに保存会話内に残す
音韻仕様音の好みについての話し合い
語彙リスト単語の選択に関する反復検討
生成シード値リアルタイムのフィードバック
使用ガイドライン作家による命名の判断
ファイル名

形式:{language-name}-{date}.md 例:elvish-dialect-2025-01-15.md

行わないこと

  • 求められない限り、完全な文法は作成しません
  • 作家に言語学の知識を求めません
  • 使いやすさよりも「真正性」を優先するよう求めません
  • 診断、生成、説明を行います。何が適切かは作家が決めます

Story-Sense との連携

言語の問題が、キャラクターや世界の問題の根底にあることはよくあります:

Story-Sense の状態実際に考えられる原因
State 2: 生命感のない世界L1-L3(言語の不整合が没入感を損なっている)
State 3: 平板な非人間キャラクターL5(種族に対して言語が人間的すぎる)
State 4: 薄っぺらなキャラクターL4(社会言語学的な変異がない)

Story-Sense の診断で言語の問題が見つかった場合は、人工言語診断に引き継ぎます。

ワールドビルディングとの連携

言語には世界のシステムが反映されます:

  • 経済 → 交易、価値、リソースに関する語彙
  • 権力 → 言語レジスター、敬称、禁句
  • 信仰 → 聖なる言語、タブーとされる概念、典礼用レジスター
  • 地理 → 方言の変異、接触言語、交易用ピジン
  • 歴史 → 古風な語層、借用語、言語の消滅

ワールドビルディングの連鎖が言語に影響する場合は、影響を受ける領域の語彙を生成します。

クイックリファレンス:音素の選択

常に安全(普遍的)

子音:p, t, k, m, n, s, l, r, w, j 母音:a, i, u

追加に適している(一般的)

子音:b, d, g, f, ʃ, h, ŋ, ʔ, tʃ 母音:e, o

独特の雰囲気を加える(やや珍しい)

子音:v, z, x, ɲ, ts 母音:ɛ, ɔ, ə

個性的な選択(珍しい)

子音:θ, ð, q, ɬ 母音:æ, ɯ, œ, y

音節クイックリファレンス

印象テンプレートパターン例
流れるようなCV, CVVta-ri-a, se-lo
バランスの取れたCV, CVCkor-tan, me-lik
複雑なCCVC, CVCCstrak, kelth
最小限CV のみka-ra-na

コメント