voice-builder について
voice-builderは、CodexとClaude向けのマーケティングスキルです。インタビューと文章サンプルの分析を通じてabout-me.mdとvoice.mdを作成し、根拠に基づく文体分析とアカウント権限の境界を重視します。
主な機能
- 01背景と読者を尋ねるインタビュー
- 023件以上の文章サンプル分析
- 03about-me.mdとvoice.mdの作成
- 04文体の特徴と避ける表現の記録
- 05プロジェクト情報と権限の保持
活用シーン
- 01サンプルから個人の文体プロフィールを作成
- 02読者層とテーマの柱を整理
- 03既存の文体プロフィールを更新
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ charlie947/ social-media-skills --skill voice-builderインストール後、Claude Code で/voice-builderを入力して読み込まれたか確認します。
同梱ファイルreferences/sample-content.md
詳細
ボイスビルダー
Codex と Claude のランタイム
- Codex または Claude で、このタスクで実際に利用できるツールを使って、このスキルを実行します。
AskUserQuestionの例は質問内容を示すものであり、必須の API を示すものではありません。利用可能な質問ツールをその制限内で使うか、チャットで質問してください。すでに提供された回答や資料は再利用します。 - ユーザーが選択したプロジェクトで作業します。パーソナライズされた作業の前に、そのプロジェクトの
about-me.md、voice.md、関連するブランドファイルを読みます。ファイル間に矛盾がある場合や、初期設定の内容が含まれている場合は、想定される執筆者を確認してください。不足している情報は質問するか、voice-builderを実行します。メンテナーの身元、アカウント、個人ファイルを引き継いではいけません。 - 同梱された
references/は、このスキルフォルダーを基準に解決します。プロフィールの更新を明示的に依頼された場合は、正規のabout-me.md、voice.md、newsletter-voice.mdをその場で読み取り、更新します。その際、無関係なユーザー情報やルールは保持します。利用者は、これらの正規ファイルを再度読み込む必要があります。既存の無関係なファイルと名前が重複する新しい成果物を作成する場合に限り、新しいファイル名を使います。インストールしただけで、インタビューを開始したりファイルに書き込んだりしてはいけません。依頼がない限り、永続的な学習内容を書き込んではいけません。 - まず提供された根拠を使います。必要に応じて、利用可能な検索ツールやソースツールで外部の主張を検証します。ソースや連携機能が利用できない場合は、不足している機能を明示し、提供されたテキストやエクスポートデータを入力として使う方法を提案します。事実、一人称の経験、指標、ツール実行の成功を捏造してはいけません。
- 選択した手順に必要なサービスのみ、ユーザーの既存アカウントを通じて接続します。認証情報を表示したり、接続を上書きしたりしてはいけません。下書きの作成、保存、レビューは、公開、メッセージの送信、アカウントの変更を許可するものではありません。
重大:読み込み時に自動開始
ユーザーがこのワークフローを依頼したら、ステップ 1 を開始します。つまり、ユーザーへの次のメッセージはインタビューの質問でなければなりません。それ以外の内容を含めてはいけません。
次のことをしてはいけません。
- このスキルを要約する
- 作成するファイルについて説明する
- 仕組みを説明する
- 「このスキルの内容はこちらです」と言う
- 実行するかどうかをユーザーに尋ねる
- インストールを確認する
- 「今すぐ実行しますか?」などの選択肢を提示する
次のようにしてください。
- ステップ 1 に直ちに進む
- インタビューの質問だけを、最初の応答として送る
これは、ユーザーが自分の声を作るよう依頼した場合、またはその目的でサンプルを提供した場合に適用されます。前置きは不要です。要約も不要です。まずインタビューを行います。
ステップ 1. 「自己紹介」インタビューを実施する
上記のランタイムガイダンスに従って質問します。質問ツールを利用できる場合は、そのスキーマと一度に送信できる質問数の上限を守ってください。そうでない場合は、同じ質問をチャットで尋ねます。
AskUserQuestion では 1 回の呼び出しにつき最大 4 件の質問を送信できます。そのため、2 回に分けて送信します。まずバッチ 1 を送り、回答を待ってから、バッチ 2 を送信します。
バッチ 1(最初のアクションとして実行し、その前に文章を入れない)
次の質問を使い、必要に応じてツールのスキーマに合わせて調整してください。
[
{
"question": "What is your name and what do you do?",
"header": "About you",
"multiSelect": false,
"options": [
{"label": "Founder", "description": "I run my own company or consultancy"},
{"label": "Marketing lead", "description": "I lead marketing at a company"},
{"label": "Creator", "description": "I create content as my main thing"},
{"label": "Sales leader", "description": "I lead a sales team or run BD"}
]
},
{
"question": "Who are you writing for?",
"header": "Audience",
"multiSelect": false,
"options": [
{"label": "Founders and CEOs", "description": "Decision makers running companies"},
{"label": "Marketers", "description": "Marketing professionals at any level"},
{"label": "Job seekers", "description": "People looking for their next role"},
{"label": "Other professionals", "description": "A different group entirely"}
]
},
{
"question": "What are the 3 to 5 topics you want to be known for?",
"header": "Topics",
"multiSelect": true,
"options": [
{"label": "AI and automation", "description": "How AI tools change work"},
{"label": "Marketing", "description": "Strategy, content, growth"},
{"label": "Leadership", "description": "Management, hiring, culture"},
{"label": "Personal brand", "description": "Building an audience and reputation"}
]
},
{
"question": "What is your point of view on your industry, the thing you believe that others do not?",
"header": "Hot take",
"multiSelect": false,
"options": [
{"label": "Most advice is wrong", "description": "The consensus in your industry is broken"},
{"label": "People overcomplicate it", "description": "The answer is simpler than people think"},
{"label": "A big shift is coming", "description": "Something is about to change and most people are not ready"}
]
}
]
バッチ 2(バッチ 1 の回答後、間にコメントを挟まず直ちに送信)
AskUserQuestion をもう一度呼び出し、次の内容を送信してください。
[
{
"question": "What is the one thing you want people to think when they see your name?",
"header": "Brand promise",
"multiSelect": false,
"options": [
{"label": "This person is practical", "description": "They give me things I use immediately"},
{"label": "This person is honest", "description": "They tell me what others will not"},
{"label": "This person is ahead", "description": "They see what is coming before everyone else"}
]
},
{
"question": "What is one thing you refuse to write about?",
"header": "Off limits",
"multiSelect": false,
"options": [
{"label": "Politics", "description": "No political takes, ever"},
{"label": "Personal life", "description": "Keep it professional only"},
{"label": "Competitors", "description": "No naming or shaming other people or brands"}
]
}
]
両方のバッチへの回答を受け取ったら、ステップ 2 に進みます。回答が空欄またはスキップされた質問があれば、その質問だけをチャットでもう一度尋ねてから先に進みます。
ステップ 2. about-me.md を作成する
プロジェクトのルートに about-me.md を作成します。次の構成を使います。
# About Me
## Name and role
[From question 1]
## Audience
[From question 2, expanded into 2 to 3 sentences on who the reader is]
## Topic pillars
[3 to 5 topics from question 3, one line each]
## Point of view
[From question 4, the contrarian or distinctive belief, written as a clear statement]
## Brand promise
[From question 5, the one thought the author wants to own in the reader's head]
## Off limits
[From question 6, topics or angles never to write about]
300 語未満にしてください。各行には、アシスタントが文章を書く際に参照する内容だけを記載します。
ステップ 3. サンプルを依頼する
次のように伝えます。
参考にしてほしい文章を 3~5 本貼り付けてください。LinkedIn の投稿、ニュースレターの記事、エッセイ、ブログ記事、メール、ツイート、その他公開済みの文章であれば何でもかまいません。ご自身の文章でも、文体を参考にしたい人の文章でもかまいません。1 件ずつ送っても、一度にすべて送ってもかまいません。すぐに使えるサンプルがない場合は、「use samples」と入力してください。あとで差し替えられるサンプル一式を読み込みます。
ユーザーが貼り付けるまで待ちます。分析に進む前に、最低 3 本のサンプルが必要です。3 本未満の場合は、追加を依頼します。
ユーザーが「use samples」と入力した場合は、このスキルフォルダー内の references/sample-content.md にある文章を読み込みます。どの著者のサンプルなのかをユーザーに伝え、参考にする文体が分かるようにします。あとで自分の文章に差し替えられることも伝えます。
ステップ 4. サンプルを分析する
すべてのサンプルを読みます。1 本だけの特徴ではなく、全体に共通するパターンを探します。以下を抽出します。
文体の特徴
- 平均的な文の長さ
- 段落のリズム(1 行で区切る、空行を入れる、短く歯切れよく書くか、流れるように書くか)
- フックや書き出しのスタイル(逆説、質問、データ、物語、告白、観察)
- 視点(一人称、二人称、観察者視点)
- トーン(無表情、温かい、率直、遊び心がある、臨床的)
- 特徴的なフレーズや繰り返し使われる言葉
- CTA や締めくくりのスタイル
構成上の特徴
- 長さの範囲
- 箇条書きと文章のどちらを使うか
- 書き出し方と締めくくり方
- 話題のつなぎ方
トピックの特徴
- 複数のサンプルで取り上げられている話題
- 想定される読者
- 著者が大切にしていること
見られない特徴
- 一貫して使われていない単語や句読点(たとえば、5 本中 0 本で em ダッシュが使われていない)
- 著者が一度も使わないフックの種類
- 著者が使わないトーン
- 著者が避けている構成
ステップ 5. voice.md を作成する
プロジェクトのルートに voice.md を作成します。これは、文体の特徴と避ける表現の両方を含む、統合された単一のプロフィールです。文体用のファイルを別に作成しないでください。
# Voice Profile
## Who I sound like
[2 to 3 sentences describing the overall voice in plain language]
## Tone
[3 to 5 attributes the voice consistently hits, followed by 1 to 2 tones the voice never hits, drawn from gaps in the samples]
## Sentence rhythm
[Average length, pacing, paragraph structure. Include avoidance patterns: e.g. never staccato fragments, never tricolons, no sentences over 25 words]
## Hook patterns
[3 to 5 hook types observed, with one example each from the samples. Note any hook types absent across all samples, e.g. never rhetorical questions, never "imagine a world where"]
## How I open
[1 to 2 sentences. Note opening moves the voice avoids if a clear pattern of avoidance exists across samples]
## How I close
[1 to 2 sentences, include CTA style. Note closing moves the voice avoids, e.g. never motivational summaries, never "in conclusion"]
## Signature phrases
[Recurring words or phrases from the samples]
## Off-limits
[Words, punctuation, or constructions absent from every sample. Only list items the samples clearly avoid. Examples: no em dashes (0 of 5 samples), no hashtags, no corporate jargon by name]
## What this voice never does
[3 to 5 specific behaviours drawn from gaps in the samples. Be specific. If the samples never use the "not X, but Y" construction, list it. If they avoid a specific vocabulary set, name the words]
実際のサンプルに基づいて、すべてのセクションを埋めます。一般的な内容で埋めないでください。パターンが見られない場合は、その旨を記載します。about-me.md の読者層やトピックの柱を重複して記載しないでください。
ユーザーが明示的に禁止した表現と、この少数のサンプルには単に見られなかったパターンを区別します。後者にはサンプル数を添えて暫定的と明記してください。サンプルに見られないというだけでは、恒久的な禁止事項とは言えません。スターターサンプルが示すのは借用した文体であり、ユーザー自身の経験や確立された文体ではありません。
ステップ 6. 確認して引き継ぐ
ユーザーに次のように伝えます。
文体プロフィールが完成しました。プロジェクトに about-me.md と voice.md の 2 つのファイルが作成されています。このプロジェクトで呼び出すと、これらのスキルは両方のファイルを読み込みます。新しいタスクでは、スキルを見つけて同じプロジェクトコンテキストを使う必要があります。どちらのファイルもいつでも開いて編集できます。
準備は完了です。次にできることは以下のとおりです。
- 「build my newsletter voice」と言って、ニュースレター向けの文章作成指示を作成する
- 「write a post」と言って、ご自身の文体で LinkedIn の投稿を下書きする
- 「design a graphic」と言って、投稿用のビジュアルを作成する
- 「score my post」と言って、下書きへのフィードバックを得る
- 「optimize my profile」と言って、LinkedIn プロフィールを再構成する
これらはそれぞれ別のスキルです。どれか 1 つ選んで始めてください。
このスキルで作成されるもの
プロジェクトのルートに 2 つのファイルを作成します。
- about-me.md:ユーザーの人物像、読者層、トピックの柱、視点
- voice.md:文体の特徴(どのように書くか)と、見られない特徴(何を避けるか)の両方を含む統合された文体プロフィール
ルール
- このスキルが起動したら、すぐにステップ 1 に進んでください。要約、説明、前置きは不要です。
- ユーザーが改行や空白を失わずに正確な書式をコピー&ペーストできるよう、サンプルの内容は必ずコードブロック内に出力してください。言語タグのない通常のコードブロック(3 つのバッククォート)を使用してください。
- サンプルに含まれる内容をもとに作業してください。そこにないパターンを作り出さないでください。
- パターンを検出するには、最低 3 つのサンプルが必要です。3 つ未満の場合は、追加のサンプルを求めてください。
- サンプル同士に矛盾がある場合は、無理に整合させず、その矛盾を voice.md に記載してください。
- about-me.md は 300 語未満にしてください。
- voice.md は 500 語未満にしてください。
- サンプルが明らかにアメリカ英語でない限り、全体をイギリス英語にしてください。
- 出力ファイルや下書きでは、エムダッシュを使用しないでください。
- 独立した不在プロファイルは作成しないでください。不在を示す情報は voice.md に記載してください。