voice-generate について
voice-generateは、ユーザーから抽出した文体で文章を生成するスキルです。プロファイルと文体レジスターを読み込み、通常は素材をラフなメモとして扱い、生成文をレビューに回すこともできます。
主な機能
- 01文体プロファイルとレジスターを読み込み
- 02素材を通常はラフなメモとして扱う
- 03指定された文体で文章を生成
- 04禁止表現を検出して修正
- 05プロジェクトごとの文体上書きに対応
活用シーン
- 01抽出した個人の文体で文章を下書き
- 02プロジェクト固有の文体指針を下書きに適用
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ athola/ claude-night-market --skill voice-generateインストール後、Claude Code で/voice-generateを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
modules/generation-pipeline.mdregister-selection.mdsource-framing.md詳細
ボイス生成スキル
ユーザーの抽出済みの文体でテキストを生成します。
使用しない場合
- プロファイルがまだ存在しない場合(
scribe:voice-extractを使用) - 出力の揺らぎを確認する場合(
scribe:voice-reviewを使用)
基本原則:ソース資料のフレーミング
出力品質を左右する最大の要因は、プロンプト内でソース資料をどのように位置づけるかです。資料を「まだ考えをまとめている途中の生のメモ」として位置づけると、思考過程を感じさせるテキストになります。要約として位置づけると、報告文になります。
ユーザーが明示的に別の方法を求めない限り、ユーザー提供のソース資料は必ず生のメモとして位置づけてください。
必須の進捗項目
voice-generate:profile-loaded- ボイスプロファイルを読み込みましたvoice-generate:register-selected- レジスターを選択しましたvoice-generate:source-framed- 資料をメモとして位置づけましたvoice-generate:generated- テキストを生成しましたvoice-generate:review-dispatched- レビュ―エージェントに送信しました
ステップ 1:ボイスプロファイルの読み込み
PROFILE_DIR="$HOME/.claude/voice-profiles/{name}"
次の順番で読み込みます。
extraction.md- ボイスの主要な特徴registers/{register}.md- 有効なレジスターcraft-rules.md- 共通の文章作成技法(存在する場合)banned-phrases.md- 避けるべきアンチパターン(存在する場合)
プロジェクトごとのオーバーライドがないか確認します。
if [ -f ".voice/override.md" ]; then
# Merge project overrides with profile
fi
ステップ 2:レジスターの選択
読み込み先:@modules/register-selection
次の順にレジスターを選択します。
- ユーザーからの明示的なリクエスト(「カジュアルなレジスターを使って」など)
- レジスターメタデータに基づくコンテキストの照合
- デフォルトのフォールバックとして
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:生成後の処理
生成後:
- 出力をスキャンして禁止フレーズを確認します(自動的に修正し、通知はしません)
- em ダッシュを確認します(適切な句読点に置き換えます)
- ユーザーがレビューを希望する場合は、voice-review スキルに送ります
- 学習モードが有効な場合は、レビュー前のスナップショットを保存します
モデルのルーティング
- 生成:Opus を使用します。トーンの変化、括弧を使った意外性の演出、繊細な文体の特徴には、より大きなモデルが必要です。Sonnet ではこうした特徴が平坦化されます。
- 禁止フレーズのスキャン:ローカルで実行できます(regex/grep)
- レビューエージェント:Sonnet で十分です(プロンプトはテンプレート化されているため、Opus のトーンの幅は必要ありません)
プロジェクトごとのボイス
現在のプロジェクトに .voice/override.md が存在する場合:
- オーバーライドの内容を読み込みます
- プロファイルと統合します(オーバーライドを優先します)
- 出力に「プロジェクトのボイスオーバーライドを適用しました」と記載します
終了条件
- 指定されたボイスでテキストが生成されている
- 禁止フレーズが含まれていない
- 文章作成技法(具体的な内容を先に述べる、命名など)が適用されている
- ソース資料が生のメモとして位置づけられている
- (リクエストされた場合)レビューに送信されている
- (学習モードが有効な場合)スナップショットが保存されている
コメント
Markdown 対応