personality-profiler について
Personality Profilerは、エクスポートしたソーシャルメディアデータから、構造化された性格プロフィールと読みやすい要約を作るスキルです。8つの観点で分析し、自己理解やAIアシスタントの応答の個別化に利用できます。複数のプラットフォーム形式に対応します。
主な機能
- 01Twitter/X、LinkedIn、Instagramのデータ解析
- 028つの性格観点での分析
- 03拡張可能なJSONプロフィール生成
- 04読みやすい要約の作成
- 05複数プラットフォームの統合分析
活用シーン
- 01ソーシャルメディア上の行動パターンの把握
- 02AIアシスタント向け個別化ガイダンスの作成
- 03プラットフォームごとの表現の比較
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ petekp/ claude-code-setup --skill personality-profilerインストール後、Claude Code で/personality-profilerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/profile_template.jsonreferences/platform-formats.mdscripts/parse_instagram.pyparse_linkedin.pyparse_twitter.py詳細
パーソナリティプロファイラー
ソーシャルメディアのデータエクスポートから、包括的で拡張可能なパーソナリティプロフィールを生成します。
概要
エクスポートされたソーシャルメディアデータを分析し、次の用途に適した詳細なパーソナリティプロフィールを作成します。
- AI アシスタントのパーソナライズ(パーソナライズされた応答のためのトレーニングデータ)
- 自己省察とパターンの発見
ワークフロー
- データの受け取り — ユーザーがエクスポートしたデータファイル(JSON/CSV)を提供します
- データの解析 — プラットフォーム固有のパーサーを使って投稿、コメント、インタラクションを抽出します
- 各次元の分析 — 8 つのパーソナリティ次元にわたって評価します
- プロフィールの生成 — 拡張可能な JSON 形式で構造化プロフィールを出力します
- 分析結果の要約 — 人が読みやすい要約を提示します
対応プラットフォーム
| プラットフォーム | エクスポート形式 | 主なファイル |
|---|---|---|
| Twitter/X | ZIP アーカイブ | tweets.js、like.js、profile.js |
| ZIP アーカイブ | Profile.csv、Connections.csv、Comments.csv、Shares.csv | |
| ZIP アーカイブ | 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:データの取り込み
ユーザーがファイルを提供した場合:
- ファイル構造からプラットフォームを特定します
- 主要なコンテンツファイルを特定します(上記のプラットフォーム表を参照)
- 適切な形式ハンドラーで解析します
- 次の共通内部構造に正規化します。
{
"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:コンテンツ分析
各次元について:
- 手がかりを抽出する — 関連するコンテンツの抜粋を見つけます
- 特性を評価する — 次元ごとに定められた尺度で評価します
- 根拠を集める — 代表的な引用を収集します
- 信頼度を算出する — データ量と一貫性に基づいて算出します
確度の高い分析に必要な最小しきい値:
- 基本プロフィール:投稿 50 件以上
- 詳細プロフィール:投稿 200 件以上
- 高信頼度プロフィール:投稿 500 件以上
しきい値に満たない場合は、出力で信頼度が低いことを明記してください。
ステップ 3:プロフィールの生成
- スキーマ内のすべての次元オブジェクトを設定します
- 主な分析結果をまとめた説明文を作成します
- 注目すべき引用(特に特徴的なものを 5~10 件)を抽出します
- トピックを頻度とエンゲージメントに基づいて順位付けします
- AI のパーソナライズに関する推奨事項を生成します
ステップ 4:出力の提供
次の 2 つの成果物を提供します。
- JSON プロファイル — 構造化データ一式(
personality_profile.jsonとして保存) - 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."
複数のプラットフォームへの対応
複数のプラットフォームのデータを分析する場合:
- まず各プラットフォームを個別に処理します
- 相互参照して一貫性を確認します
- プラットフォーム固有の振る舞い(例:LinkedIn ではよりフォーマル)を記録します
- 仕事上のアイデンティティには、仕事関連のプラットフォームを重視します
- その人らしい声には、個人向けのプラットフォームを重視します
- プラットフォームに関する注記を付けて、統合プロファイルにまとめます
プライバシーに関する考慮事項
処理を始める前に:
- ユーザーがデータの所有者であることを確認します
- 分析はローカルで行われること(コンテンツに対する外部 API 呼び出しはないこと)を伝えます
- 希望があれば、特定の人物やトピックを削除することを提案します
- 出力は使用前に編集できます
プロファイルの拡張
プロファイルのスキーマは拡張に対応しています。
{
"extensions": {
"custom_dimension": {
"confidence": 0.8,
"traits": {},
"patterns": [],
"recommendations_for_ai": ""
},
"domain_specific": {
"developer_profile": {
"languages": ["python", "rust"],
"paradigm_preference": "functional-leaning"
}
}
}
}
ユーザーは、分析したい内容を説明することで、カスタムディメンションをリクエストできます。
コメント
Markdown 対応