mcpField
P
personality-profiler

personality-profiler

github.com/petekp生産性4840 回インストール2 日前に更新
リポジトリ

personality-profiler について

Personality Profilerは、エクスポートしたソーシャルメディアデータから、構造化された性格プロフィールと読みやすい要約を作るスキルです。8つの観点で分析し、自己理解やAIアシスタントの応答の個別化に利用できます。複数のプラットフォーム形式に対応します。

主な機能

  1. 01Twitter/X、LinkedIn、Instagramのデータ解析
  2. 028つの性格観点での分析
  3. 03拡張可能なJSONプロフィール生成
  4. 04読みやすい要約の作成
  5. 05複数プラットフォームの統合分析

活用シーン

  1. 01ソーシャルメディア上の行動パターンの把握
  2. 02AIアシスタント向け個別化ガイダンスの作成
  3. 03プラットフォームごとの表現の比較

インストール

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

$npx skills add https://github.com/petekp/claude-code-setup --skill personality-profiler

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

同梱ファイル

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

assets/
profile_template.json
references/
platform-formats.md
scripts/
parse_instagram.py
parse_linkedin.py
parse_twitter.py

詳細

パーソナリティプロファイラー

ソーシャルメディアのデータエクスポートから、包括的で拡張可能なパーソナリティプロフィールを生成します。

概要

エクスポートされたソーシャルメディアデータを分析し、次の用途に適した詳細なパーソナリティプロフィールを作成します。

  1. AI アシスタントのパーソナライズ(パーソナライズされた応答のためのトレーニングデータ)
  2. 自己省察とパターンの発見

ワークフロー

  1. データの受け取り — ユーザーがエクスポートしたデータファイル(JSON/CSV)を提供します
  2. データの解析 — プラットフォーム固有のパーサーを使って投稿、コメント、インタラクションを抽出します
  3. 各次元の分析 — 8 つのパーソナリティ次元にわたって評価します
  4. プロフィールの生成 — 拡張可能な JSON 形式で構造化プロフィールを出力します
  5. 分析結果の要約 — 人が読みやすい要約を提示します

対応プラットフォーム

プラットフォームエクスポート形式主なファイル
Twitter/XZIP アーカイブtweets.js、like.js、profile.js
LinkedInZIP アーカイブProfile.csv、Connections.csv、Comments.csv、Shares.csv
InstagramZIP アーカイブcontent/posts_1.json、comments.json、profile.json

形式の詳細については、references/platform-formats.md を参照してください。

分析次元

次の 8 つの次元にわたってコンテンツを分析します。

1. コミュニケーションスタイル
  • 口調:フォーマル ↔ カジュアル、真剣 ↔ 遊び心がある、率直 ↔ 婉曲的
  • 冗長さ:簡潔 ↔ 詳細、箇条書きと段落のどちらを使うか
  • 語彙:専門性のレベル、業界用語、口語表現
2. 興味・専門知識
  • トピック:繰り返し登場するテーマ、注力分野
  • 深さ:表面的な言及か、深く関与しているか
  • 変化:興味が時間とともにどのように変化したか
3. 価値観・信念
  • 優先事項:何を最も重視しているか(強調の仕方から推測)
  • 支援活動:支持または推進している活動
  • 哲学:世界観を示す要素
4. ソーシャルパターン
  • エンゲージメントスタイル:自ら働きかけるか、応答するか、コメントするか、コンテンツを作成するか
  • ネットワークの傾向:幅広いリーチか、緊密なコミュニティか
  • インタラクションの口調:支持的、挑戦的、中立的
5. 感情表現
  • 幅:感情を表す語彙の広さ
  • 感情価:肯定的/否定的な傾向
  • きっかけ:強い反応を引き起こすもの
6. 思考スタイル
  • 推論:分析的か直感的か、データ重視か物語重視か
  • 複雑さ:ニュアンスに富んだ立場か、単純明快な立場か
  • 開放性:新しい考えを受け入れる姿勢
7. 職業上のアイデンティティ
  • 分野:業界、役割、専門領域
  • 志向:キャリアの方向性を示す兆候
  • ネットワーク:職業上の人間関係のパターン
8. 時間的なパターン
  • 活動のリズム:投稿、返信、交流を行う時間帯
  • コンテンツの周期:季節的またはイベントに伴うパターン
  • 成長の軌跡:表現がどのように変化してきたか

プロフィールスキーマ

次の拡張可能な JSON 構造でプロフィールを出力します。

{
  "version": "1.0",
  "generated_at": "ISO-8601 timestamp",
  "data_sources": [
    {
      "platform": "twitter|linkedin|instagram",
      "date_range": {"start": "YYYY-MM-DD", "end": "YYYY-MM-DD"},
      "item_count": 1234
    }
  ],
  "profile": {
    "summary": "2-3 paragraph narrative summary",
    "dimensions": {
      "communication_style": {
        "confidence": 0.0-1.0,
        "traits": {
          "formality": {"value": -1.0 to 1.0, "evidence": ["quote1", "quote2"]},
          "verbosity": {"value": -1.0 to 1.0, "evidence": []},
          "directness": {"value": -1.0 to 1.0, "evidence": []}
        },
        "patterns": ["pattern1", "pattern2"],
        "recommendations_for_ai": "How an AI should communicate with this person"
      }
    },
    "notable_quotes": [
      {"text": "quote", "context": "why notable", "dimension": "which dimension"}
    ],
    "keywords": ["term1", "term2"],
    "topics_ranked": [
      {"topic": "name", "frequency": 0.0-1.0, "sentiment": -1.0 to 1.0}
    ]
  },
  "extensions": {}
}

extensions フィールドを使うと、互換性を損なわずにカスタム次元を追加できます。

プロセス

ステップ 1:データの取り込み

ユーザーがファイルを提供した場合:

  1. ファイル構造からプラットフォームを特定します
  2. 主要なコンテンツファイルを特定します(上記のプラットフォーム表を参照)
  3. 適切な形式ハンドラーで解析します
  4. 次の共通内部構造に正規化します。
{
  "items": [
    {
      "id": "unique_id",
      "type": "post|comment|share|like",
      "timestamp": "ISO-8601",
      "content": "text content",
      "metadata": {
        "platform": "twitter",
        "engagement": {"likes": 0, "replies": 0, "shares": 0},
        "context": "reply_to_id or null"
      }
    }
  ]
}
ステップ 2:コンテンツ分析

各次元について:

  1. 手がかりを抽出する — 関連するコンテンツの抜粋を見つけます
  2. 特性を評価する — 次元ごとに定められた尺度で評価します
  3. 根拠を集める — 代表的な引用を収集します
  4. 信頼度を算出する — データ量と一貫性に基づいて算出します

確度の高い分析に必要な最小しきい値:

  • 基本プロフィール:投稿 50 件以上
  • 詳細プロフィール:投稿 200 件以上
  • 高信頼度プロフィール:投稿 500 件以上

しきい値に満たない場合は、出力で信頼度が低いことを明記してください。

ステップ 3:プロフィールの生成
  1. スキーマ内のすべての次元オブジェクトを設定します
  2. 主な分析結果をまとめた説明文を作成します
  3. 注目すべき引用(特に特徴的なものを 5~10 件)を抽出します
  4. トピックを頻度とエンゲージメントに基づいて順位付けします
  5. AI のパーソナライズに関する推奨事項を生成します
ステップ 4:出力の提供

次の 2 つの成果物を提供します。

  1. JSON プロファイル — 構造化データ一式(personality_profile.json として保存)
  2. Markdown の概要 — 人が読みやすいインサイトをまとめたドキュメント

AI パーソナライズの推奨事項

各ディメンションについて、AI システム向けの具体的なガイダンスを含めます。

推奨事項の例:

communication_style.recommendations_for_ai:
"Use a conversational but informed tone. Avoid excessive formality.
Include occasional humor. Lead with conclusions, then supporting detail.
Match their tendency for medium-length responses (2-3 paragraphs)."

interests.recommendations_for_ai:
"Can reference machine learning, distributed systems, and startup culture
without explanation. Assume familiarity with Python ecosystem. May enjoy
tangential connections to philosophy of technology."

複数のプラットフォームへの対応

複数のプラットフォームのデータを分析する場合:

  1. まず各プラットフォームを個別に処理します
  2. 相互参照して一貫性を確認します
  3. プラットフォーム固有の振る舞い(例:LinkedIn ではよりフォーマル)を記録します
  4. 仕事上のアイデンティティには、仕事関連のプラットフォームを重視します
  5. その人らしい声には、個人向けのプラットフォームを重視します
  6. プラットフォームに関する注記を付けて、統合プロファイルにまとめます

プライバシーに関する考慮事項

処理を始める前に:

  1. ユーザーがデータの所有者であることを確認します
  2. 分析はローカルで行われること(コンテンツに対する外部 API 呼び出しはないこと)を伝えます
  3. 希望があれば、特定の人物やトピックを削除することを提案します
  4. 出力は使用前に編集できます

プロファイルの拡張

プロファイルのスキーマは拡張に対応しています。

{
  "extensions": {
    "custom_dimension": {
      "confidence": 0.8,
      "traits": {},
      "patterns": [],
      "recommendations_for_ai": ""
    },
    "domain_specific": {
      "developer_profile": {
        "languages": ["python", "rust"],
        "paradigm_preference": "functional-leaning"
      }
    }
  }
}

ユーザーは、分析したい内容を説明することで、カスタムディメンションをリクエストできます。

コメント