mcpField
V
voice-generate

voice-generate

github.com/atholaクリエイティブ・メディア34378 回インストール1 日前に更新
リポジトリ

voice-generate について

voice-generateは、ユーザーから抽出した文体で文章を生成するスキルです。プロファイルと文体レジスターを読み込み、通常は素材をラフなメモとして扱い、生成文をレビューに回すこともできます。

主な機能

  1. 01文体プロファイルとレジスターを読み込み
  2. 02素材を通常はラフなメモとして扱う
  3. 03指定された文体で文章を生成
  4. 04禁止表現を検出して修正
  5. 05プロジェクトごとの文体上書きに対応

活用シーン

  1. 01抽出した個人の文体で文章を下書き
  2. 02プロジェクト固有の文体指針を下書きに適用

インストール

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

$npx skills add https://github.com/athola/claude-night-market --skill voice-generate

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

同梱ファイル

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

modules/
generation-pipeline.md
register-selection.md
source-framing.md

詳細

ボイス生成スキル

ユーザーの抽出済みの文体でテキストを生成します。

使用しない場合

  • プロファイルがまだ存在しない場合(scribe:voice-extract を使用)
  • 出力の揺らぎを確認する場合(scribe:voice-review を使用)

基本原則:ソース資料のフレーミング

出力品質を左右する最大の要因は、プロンプト内でソース資料をどのように位置づけるかです。資料を「まだ考えをまとめている途中の生のメモ」として位置づけると、思考過程を感じさせるテキストになります。要約として位置づけると、報告文になります。

ユーザーが明示的に別の方法を求めない限り、ユーザー提供のソース資料は必ず生のメモとして位置づけてください。

必須の進捗項目

  1. voice-generate:profile-loaded - ボイスプロファイルを読み込みました
  2. voice-generate:register-selected - レジスターを選択しました
  3. voice-generate:source-framed - 資料をメモとして位置づけました
  4. voice-generate:generated - テキストを生成しました
  5. voice-generate:review-dispatched - レビュ―エージェントに送信しました

ステップ 1:ボイスプロファイルの読み込み

PROFILE_DIR="$HOME/.claude/voice-profiles/{name}"

次の順番で読み込みます。

  1. extraction.md - ボイスの主要な特徴
  2. registers/{register}.md - 有効なレジスター
  3. craft-rules.md - 共通の文章作成技法(存在する場合)
  4. banned-phrases.md - 避けるべきアンチパターン(存在する場合)

プロジェクトごとのオーバーライドがないか確認します。

if [ -f ".voice/override.md" ]; then
  # Merge project overrides with profile
fi

ステップ 2:レジスターの選択

読み込み先:@modules/register-selection

次の順にレジスターを選択します。

  1. ユーザーからの明示的なリクエスト(「カジュアルなレジスターを使って」など)
  2. レジスターメタデータに基づくコンテキストの照合
  3. デフォルトのフォールバックとして registers/default.md を使用

ステップ 3:ソース資料のフレーミング

読み込み先:@modules/source-framing

デフォルトのフレーミング(ユーザーが上書きしない限り、必ず使用):

Below are my rough notes on this topic. I'm still thinking
through these ideas. Use them as the raw material for the
piece, not as a structure to follow:

---
{user_provided_source_material}
---

別のフレーミング(ユーザーがリクエストした場合のみ使用):

  • 「構造化されたアウトライン」- ユーザーが構成を維持したい場合
  • 「含めるべき要点」- ユーザーが箇条書きを提供した場合
  • 「参考にする会話」- ソースがトランスクリプトの場合

ステップ 4:生成プロンプト

生成プロンプトを作成します。

You are writing a piece in a specific voice. The voice
features below were extracted from the writer's own work.
Follow them as concrete instructions, not suggestions.

## Voice Features

{extraction.md content}

## Active Register: {register_name}

{register content}

## Craft Techniques (apply all)

- Concrete-first: Lead with specific, physical details before
  any abstraction
- Naming: When you describe a pattern in 2+ sentences, compress
  it into a 2-4 word label
- Opening moves: Start mid-thought, with a specific moment, or
  with a counterintuitive claim. Never start with throat-clearing
- Human-moment anchoring: Ground every abstraction in a specific
  scene or lived experience
- Aphoristic destinations: At least one sentence per section
  should be worth repeating out of context

## Banned (never use)

{banned_phrases content, or default list:}
- Em dashes (use commas, colons, semicolons, parentheses)
- ", so" tails on fact after fact (cut the consequence, or give it
  its own sentence)
- "delve", "utilize", "leverage", "facilitate"
- "it's important to note", "in today's world"
- "here's the thing", "let that sink in"
- "furthermore", "moreover", "comprehensive"
- Negation-correction patterns ("This isn't X. This is Y.")

## Source Material

{framed source material from Step 3}

## Task

Write the piece. Follow the voice features precisely. Apply
craft techniques. Do not use any banned phrases. The output
should read as if the writer produced it themselves.

Length: {user_specified or ~same as source material}
Format: {user_specified or prose paragraphs}

ステップ 5:生成後の処理

生成後:

  1. 出力をスキャンして禁止フレーズを確認します(自動的に修正し、通知はしません)
  2. em ダッシュを確認します(適切な句読点に置き換えます)
  3. ユーザーがレビューを希望する場合は、voice-review スキルに送ります
  4. 学習モードが有効な場合は、レビュー前のスナップショットを保存します

モデルのルーティング

  • 生成:Opus を使用します。トーンの変化、括弧を使った意外性の演出、繊細な文体の特徴には、より大きなモデルが必要です。Sonnet ではこうした特徴が平坦化されます。
  • 禁止フレーズのスキャン:ローカルで実行できます(regex/grep)
  • レビューエージェント:Sonnet で十分です(プロンプトはテンプレート化されているため、Opus のトーンの幅は必要ありません)

プロジェクトごとのボイス

現在のプロジェクトに .voice/override.md が存在する場合:

  • オーバーライドの内容を読み込みます
  • プロファイルと統合します(オーバーライドを優先します)
  • 出力に「プロジェクトのボイスオーバーライドを適用しました」と記載します

終了条件

  • 指定されたボイスでテキストが生成されている
  • 禁止フレーズが含まれていない
  • 文章作成技法(具体的な内容を先に述べる、命名など)が適用されている
  • ソース資料が生のメモとして位置づけられている
  • (リクエストされた場合)レビューに送信されている
  • (学習モードが有効な場合)スナップショットが保存されている

コメント