author-profile について
author-profile は、記事で一貫した著者の文体を保つためのスキルです。質問票の情報と文字起こしの分析を組み合わせて著者プロフィールを作成します。
主な機能
- 01質問票によるプロフィール作成
- 02文字起こしから話し方を抽出
- 03著者と文体データの保存
- 04分析結果に基づく執筆支援
- 05多言語記事ワークフローの対応
活用シーン
- 01記事の著者のトーン設定
- 02インタビューの文字起こしからプロフィール作成
- 03新しい文字起こしによるプロフィール更新
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mwguerra/ claude-code-plugins --skill author-profileインストール後、Claude Code で/author-profileを入力して読み込まれたか確認します。
詳細
著者プロフィール
すべての記事で一貫した著者の語り口を作成し、維持します。
プロフィールの保存場所
保存先:.article_writer/article_writer.db(authors テーブル)
スキーマ:.article_writer/schemas/authors.schema.json
著者を作成する 2 つの方法
オプション 1:手動アンケート
会話形式で質問します(1 回につき 2~3 問)。
基本情報
- この著者の名前/識別子は何ですか?(例:「mwguerra」)
- 表示名は何ですか?(例:「MW Guerra」)
- 職業上の役割は何ですか?
- 経験年数や経験分野は何ですか?
- 専門分野は何ですか?
言語
- 主な執筆言語は何ですか?(例:pt_BR、en_US)
- 翻訳先の言語は何ですか?
トーン(1~10)
- カジュアル(1)ですか、フォーマル(10)ですか?
- 中立的(1)ですか、意見をはっきり述べる(10)ですか?
語彙
- 読者が知っている用語は何ですか?(自由に使用できます)
- 必ず説明が必要な用語は何ですか?
スタイル
- 決まって使うフレーズはありますか?
- 避けたいフレーズはありますか?
見解
- テクノロジーについて強い意見はありますか?
- 中立的な立場を保ちたい話題はありますか?
例
- あなたの語り口で 2~3 文を書いてください。
オプション 2:トランスクリプトから抽出
トランスクリプトの分析には Skill(voice-extractor) を使用します。
著者の録音(ポッドキャスト、インタビュー、動画、会議)がある場合:
- トランスクリプトを準備する - 話者ラベル付きの文字起こしファイルを用意します
- 分析を実行する:
bun run "${CLAUDE_PLUGIN_ROOT}"/scripts/voice-extractor.ts --speaker "Name" transcripts/*.txt - 抽出されたデータを確認する - コミュニケーションスタイル、フレーズ、語彙を確認します
- 基本情報を追加する - 名前、役割、専門分野、言語を手動で追加します
- 統合する - 抽出データと手動入力データを組み合わせます
オプション 3:組み合わせる方法(推奨)
両方を組み合わせると、最良の結果が得られます。
- トランスクリプトから語り口のパターンを抽出します
- 基本情報と専門分野を手動で追加します
- 統合したプロフィールを確認し、調整します
著者 JSON の構造
{
"id": "author-slug",
"name": "Display Name",
"languages": ["pt_BR", "en_US"],
"role": "Senior Developer",
"experience": "10+ years",
"expertise": ["Laravel", "PHP", "Architecture"],
"tone": {
"formality": 4,
"opinionated": 7
},
"vocabulary": {
"use_freely": ["Controllers", "Middleware", "API"],
"always_explain": ["DDD", "CQRS", "Event Sourcing"]
},
"phrases": {
"signature": ["Na prática...", "Vamos direto ao ponto:"],
"avoid": ["Simplesmente", "É só fazer..."]
},
"opinions": {
"strong_positions": ["Tests are essential", "Fat models are bad"],
"stay_neutral": ["Tabs vs spaces", "IDE preferences"]
},
"example_voice": "Sample paragraph in author's voice...",
"voice_analysis": {
"extracted_from": ["podcast_ep1.txt", "interview.txt"],
"sample_count": 156,
"total_words": 12450,
"sentence_structure": {
"avg_length": 14.5,
"variety": "moderate length, conversational",
"question_ratio": 12.3
},
"communication_style": [
{ "trait": "enthusiasm", "percentage": 28.5 },
{ "trait": "analytical", "percentage": 24.1 }
],
"characteristic_expressions": ["you know", "the thing is"],
"sentence_starters": ["I think", "So the"],
"signature_vocabulary": ["approach", "strategy", "implementation"],
"analyzed_at": "2025-01-15T10:00:00Z"
},
"notes": "Additional style notes..."
}
語り口分析のフィールド
トランスクリプトを分析すると、次のフィールドに値が入力されます。
| フィールド | 説明 |
|---|---|
extracted_from | 分析したトランスクリプトファイル |
sample_count | 分析した発話ターン数 |
total_words | 分析対象の総単語数 |
sentence_structure | 文の長さ、多様性、疑問文の頻度 |
communication_style | 特徴:熱意、婉曲表現、率直さなど |
characteristic_expressions | 頻繁に使うフレーズやつなぎ言葉 |
sentence_starters | 文の一般的な書き出し方 |
signature_vocabulary | 話者の特徴を表す単語 |
執筆時の語り口分析の活用
記事を書く際は、voice_analysis のデータを使用します。
- 文の構造:
avg_lengthとvarietyに合わせます - トーン:
communication_styleの特徴に従います - 自然な話し方:
characteristic_expressionsを自然に取り入れます - 語彙:
signature_vocabularyの単語を優先します - 文の書き出し:
sentence_startersのパターンを使用します
多言語ワークフロー
- 著者の主な言語(配列の最初の言語)で記事を執筆します
- 完成後、ほかの言語に翻訳します
- 各ファイルの名前は
{slug}.{language}.mdとします
["pt_BR", "en_US"] の著者の例:
content/articles/2025_01_15_rate-limiting/
├── rate-limiting.pt_BR.md # Primary (written first)
└── rate-limiting.en_US.md # Translation
デフォルトの著者
記事のタスクで著者が指定されていない場合:
- データベースで
sort_orderが最も小さい著者を使用します - その著者の言語設定を適用します
- その著者の語り口とトーンに従います
著者の更新
トランスクリプトデータの追加
# Analyze new transcripts for existing author
bun run "${CLAUDE_PLUGIN_ROOT}"/scripts/voice-extractor.ts \
--speaker "Name" \
--author-json \
new_podcast.txt > new_analysis.json
# Merge into existing profile (manually or via command)
更新するタイミング
- 新しいトランスクリプトデータが利用可能になったとき
- 執筆スタイルが変化したとき
- トーンの不一致を示すフィードバックがあったとき
- 新しい専門知識を身につけたとき
コメント
Markdown 対応