mcpField
A
author-profile

author-profile

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

author-profile について

author-profile は、記事で一貫した著者の文体を保つためのスキルです。質問票の情報と文字起こしの分析を組み合わせて著者プロフィールを作成します。

主な機能

  1. 01質問票によるプロフィール作成
  2. 02文字起こしから話し方を抽出
  3. 03著者と文体データの保存
  4. 04分析結果に基づく執筆支援
  5. 05多言語記事ワークフローの対応

活用シーン

  1. 01記事の著者のトーン設定
  2. 02インタビューの文字起こしからプロフィール作成
  3. 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 問)。

基本情報
  1. この著者の名前/識別子は何ですか?(例:「mwguerra」)
  2. 表示名は何ですか?(例:「MW Guerra」)
  3. 職業上の役割は何ですか?
  4. 経験年数や経験分野は何ですか?
  5. 専門分野は何ですか?
言語
  1. 主な執筆言語は何ですか?(例:pt_BR、en_US)
  2. 翻訳先の言語は何ですか?
トーン(1~10)
  1. カジュアル(1)ですか、フォーマル(10)ですか?
  2. 中立的(1)ですか、意見をはっきり述べる(10)ですか?
語彙
  1. 読者が知っている用語は何ですか?(自由に使用できます)
  2. 必ず説明が必要な用語は何ですか?
スタイル
  1. 決まって使うフレーズはありますか?
  2. 避けたいフレーズはありますか?
見解
  1. テクノロジーについて強い意見はありますか?
  2. 中立的な立場を保ちたい話題はありますか?
例
  1. あなたの語り口で 2~3 文を書いてください。
オプション 2:トランスクリプトから抽出

トランスクリプトの分析には Skill(voice-extractor) を使用します。

著者の録音(ポッドキャスト、インタビュー、動画、会議)がある場合:

  1. トランスクリプトを準備する - 話者ラベル付きの文字起こしファイルを用意します
  2. 分析を実行する:
    bun run "${CLAUDE_PLUGIN_ROOT}"/scripts/voice-extractor.ts --speaker "Name" transcripts/*.txt
    
  3. 抽出されたデータを確認する - コミュニケーションスタイル、フレーズ、語彙を確認します
  4. 基本情報を追加する - 名前、役割、専門分野、言語を手動で追加します
  5. 統合する - 抽出データと手動入力データを組み合わせます
オプション 3:組み合わせる方法(推奨)

両方を組み合わせると、最良の結果が得られます。

  1. トランスクリプトから語り口のパターンを抽出します
  2. 基本情報と専門分野を手動で追加します
  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 のデータを使用します。

  1. 文の構造:avg_length と variety に合わせます
  2. トーン:communication_style の特徴に従います
  3. 自然な話し方:characteristic_expressions を自然に取り入れます
  4. 語彙:signature_vocabulary の単語を優先します
  5. 文の書き出し:sentence_starters のパターンを使用します

多言語ワークフロー

  1. 著者の主な言語(配列の最初の言語)で記事を執筆します
  2. 完成後、ほかの言語に翻訳します
  3. 各ファイルの名前は {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)
更新するタイミング
  • 新しいトランスクリプトデータが利用可能になったとき
  • 執筆スタイルが変化したとき
  • トーンの不一致を示すフィードバックがあったとき
  • 新しい専門知識を身につけたとき

コメント