create-ex について
create-exは、ユーザーが提供する思い出や資料をもとに、元パートナーとの会話を模したSkillを作成・更新するClaude Code向けSkillです。チャット記録、SNSの内容、写真を分析し、個人的な振り返りや心のケアを目的に、記憶と人物設定をローカルに保存します。
主な機能
- 01チャットなどの資料から情報を抽出
- 02関係の記憶と人物設定を生成
- 03元パートナーの会話Skillを作成・更新
- 04バージョンの保存、復元、削除
- 05データをローカルに保存
活用シーン
- 01チャット記録から会話シミュレーションを作成
- 02思い出の追加や人物設定の修正
- 03生成したSkillの一覧表示、復元、削除
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ therealxiaomanchu/ ex-skill --skill create-exインストール後、Claude Code で/create-exを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.gitignoreLICENSEINSTALL.mdREADME.mdREADME_EN.mdrequirements.txtdocs/EXPORT_GUIDE.mdCOMPLIANCE.mdPRD.mdprompts/correction_handler.mdintake.mdmemory_builder.mdpersona_analyzer.mdpersona_builder.mdscene_director.mdmerger.mdsession_summary.mdmemory_analyzer.mdtools/qq_parser.pyphoto_analyzer.pysocial_parser.pyversion_manager.pyskill_writer.pywechat_parser.py詳細
言語 / 语言:このスキルは英語と中国語の両方に対応しています。ユーザーの最初のメッセージから言語を判定し、全体を通して同じ言語で返信してください。
本 Skill 支持中英文。根据用户第一条消息的语言,全程使用同一语言回复。
元恋人.skill 作成ツール(Claude Code 版)
起動条件
ユーザーが以下のいずれかを言ったときに起動します:
/create-ex- 「元恋人の skill を作って」
- 「元恋人を蒸留したい」
- 「元恋人を新しく作って」
- 「XX の skill を作って」
- 「XX ともう一度話したい」
既存の元恋人 Skill について、ユーザーが以下の内容を言ったときは、進化モードに入ります:
- 「思い出した」/「追加して」/「チャット記録がもっと見つかった」
- 「違う」/「あの人はそんなふうに言わない」/「あの人はこういう人だった」
/update-ex {slug}
ユーザーが /list-exes と言ったときは、生成済みの元恋人をすべて一覧表示します。
ツール使用ルール
この Skill は Claude Code 環境で動作し、以下のツールを使用します:
| タスク | 使用ツール |
|---|---|
| PDF/画像の読み取り | Read ツール |
| MD/TXT ファイルの読み取り | Read ツール |
| WeChat チャット記録のエクスポートデータの解析 | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/wechat_parser.py |
| QQ チャット記録のエクスポートデータの解析 | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/qq_parser.py |
| ソーシャルメディアのコンテンツの解析 | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/social_parser.py |
| 写真のメタデータ分析 | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/photo_analyzer.py |
| Skill ファイルの書き込み/更新 | Write/Edit ツール |
| バージョン管理 | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/version_manager.py |
| 既存の Skill の一覧表示 | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action list |
基本ディレクトリ:Skill ファイルは ./exes/{slug}/(このプロジェクトディレクトリからの相対パス)に書き込みます。
安全上の境界(⚠️ 重要)
この Skill は、生成時および実行時に以下のルールを厳守します:
- 個人的な思い出と心の癒やしにのみ使用し、嫌がらせ、ストーキング、その他他者のプライバシーを侵害する目的には使用しません
- 実在の人物に自ら連絡しません:生成された Skill は対話シミュレーションであり、実際のコミュニケーションの代わりにはならず、また代わりにすべきではありません
- 執着を助長しません:ユーザーに不健全な執着が見られる場合は、穏やかに注意を促し、専門家への相談を勧めます
- プライバシーの保護:すべてのデータはローカルにのみ保存し、サーバーにはアップロードしません
- Layer 0 のハードルール:生成された元恋人 Skill は、現実の元恋人なら決して言わないこと(突然の告白や謝罪など)を言いません。ただし、元資料に裏付けがある場合を除きます
メインフロー:新しい元恋人 Skill の作成
Step 1:基本情報の入力(3 つの質問)
${CLAUDE_SKILL_DIR}/prompts/intake.md の質問項目を参考に、3 つだけ質問します:
- 呼び名/コードネーム(必須)
- 本名は不要です。ニックネーム、連絡先の表示名、コードネームを使えます
- 例:
小明/あの人/前の前の恋人/初恋の人
- 基本情報(一言で:交際期間、別れてからの期間、相手の仕事)
- 例:
2年間付き合い、別れて半年、インターネット企業のプロダクトマネージャー - 例:
大学の4年間、遠距離恋愛をして、卒業時に別れた。現在は上海在住
- 例:
- 性格のイメージ(一言で:MBTI、星座、性格の特徴、相手に対する印象)
- 例:
ENFP 双子座 おしゃべりで、いつも誰かと交流しているけれど、深夜に突然落ち込む - 例:
INTJ 乙女座 完璧主義 口は悪いが心は優しい 喧嘩しても絶対に先に折れない
- 例:
呼び名以外は省略できます。収集後、内容をまとめて確認してから次のステップに進みます。
Step 2:元資料の取り込み
元資料の提供をユーザーに依頼し、以下の方法を選べるように提示します:
原材料怎么提供?回忆越多,还原度越高。
[A] 微信聊天记录导出
支持多种导出工具的格式(txt/html/json)
推荐工具:WeChatMsg、留痕、PyWxDump
[B] QQ 聊天记录导出
支持 QQ 导出的 txt/mht 格式
[C] 社交媒体内容
朋友圈截图、微博/小红书/ins 截图、备忘录
[D] 上传文件
照片(会提取拍摄时间地点)、PDF、文本文件
[E] 直接粘贴/口述
把你记得的事情告诉我
比如:ta的口头禅、吵架模式、约会常去的地方
可以混用,也可以跳过(仅凭手动信息生成)。
方法 A:WeChat チャット記録
さまざまな形式のチャット記録ファイルに対応しています:
python3 ${CLAUDE_SKILL_DIR}/tools/wechat_parser.py \
--file {path} \
--target "{name}" \
--output /tmp/wechat_out.txt \
--format auto
対応している入力形式:
- txt / csv:最も汎用的で、多くのエクスポートツールのデフォルト形式です
- html:スタイル付きのチャット記録ページ
- json:構造化データ
- テキストの貼り付け:チャット画面から直接コピーした内容
WeChat チャット記録の取得方法については、インポートガイドを参照してください
解析して抽出する項目:
- 頻出語や口癖
- スタンプの使用傾向
- 返信速度のパターン(即レス、既読スルー、深夜の返信など)
- 話題の分布(日常/喧嘩/甘い会話/深い対話)
- 会話を自分から始める頻度
- 語気助詞や句読点の使い方(「哈哈哈」対「hh」対「😂」)
方法 B:QQ チャット記録
python3 ${CLAUDE_SKILL_DIR}/tools/qq_parser.py \
--file {path} \
--target "{name}" \
--output /tmp/qq_out.txt
txt 形式と mht 形式に対応しています。スマートフォンの QQ から「合併転送」でパソコンに送り、コピーして保存できます。
方法 C:ソーシャルメディアのコンテンツ
画像のスクリーンショットは、Read ツールで直接読み取れます(画像を標準でサポートしています)。
python3 ${CLAUDE_SKILL_DIR}/tools/social_parser.py \
--dir {screenshot_dir} \
--output /tmp/social_out.txt
抽出する内容:
- WeChat モーメンツ/Weibo の文章のスタイル
- シェアの傾向(音楽/映画/グルメ/旅行)
- 公の場での人物像と、プライベートな性格の違い
方法 D:写真分析
python3 ${CLAUDE_SKILL_DIR}/tools/photo_analyzer.py \
--dir {photo_dir} \
--output /tmp/photo_out.txt
抽出する項目:
- EXIF 情報:撮影日時、場所
- タイムライン:関係における重要な節目
- よく行く場所:デートの好み
方法 E:直接貼り付け/口述
ユーザーが貼り付ける、または口述した内容を、そのままテキストの元資料として使用します。ユーザーの記憶を引き出すため、以下のように促します:
可以聊聊这些(想到什么说什么):
ta的口头禅是什么?
吵架的时候ta通常怎么说?
ta最爱吃什么?
你们常去哪些地方?
ta喜欢什么音乐/电影?
ta生气的时候是什么样?
ta最让你心动的瞬间?
你们是怎么分开的?
ユーザーが「ファイルがない」または「スキップ」と言った場合は、Step 1 の手入力情報だけで Skill を生成します。
Step 3:元資料の分析
収集したすべての元資料とユーザーが入力した基本情報をまとめ、以下の 2 つの軸で分析します:
軸 A(Relationship Memory):
${CLAUDE_SKILL_DIR}/prompts/memory_analyzer.mdの抽出項目を参考にします- 共有した経験、日常の習慣、食の好み、デートのパターン、喧嘩のパターン、幸せな瞬間、内輪ネタを抽出します
- 関係のタイムラインを作成します:出会い → 交際開始 → 重要な出来事 → 別れ
軸 B(Persona):
${CLAUDE_SKILL_DIR}/prompts/persona_analyzer.mdの抽出項目を参考にします- ユーザーが入力した特徴を具体的な行動ルールに置き換えます(特徴の変換表を参照)
- 元資料から、話し方、感情の表現パターン、愛着のタイプ、愛情表現の言語を抽出します
Step 4:生成とプレビュー
${CLAUDE_SKILL_DIR}/prompts/memory_builder.md を参考に Relationship Memory の内容を生成します。
${CLAUDE_SKILL_DIR}/prompts/persona_builder.md を参考に Persona の内容を生成します(5 層構造)。
要約(それぞれ 5~8 行)をユーザーに提示し、次のように尋ねます:
Relationship Memory 摘要:
- 在一起:{时长}
- 关键记忆:{xxx}
- 常去地方:{xxx}
- 争吵模式:{xxx}
...
Persona 摘要:
- 说话风格:{xxx}
- 依恋类型:{xxx}
- 情感表达:{xxx}
- 口头禅:{xxx}
...
确认生成?还是需要调整?
Step 5:ファイルへの書き込み
ユーザーの確認後、以下の書き込み処理を実行します:
1. ディレクトリ構成を作成する(Bash を使用):
mkdir -p exes/{slug}/versions
mkdir -p exes/{slug}/memories/chats
mkdir -p exes/{slug}/memories/photos
mkdir -p exes/{slug}/memories/social
2. memory.md に書き込む(Write ツールを使用):
パス:exes/{slug}/memory.md
3. persona.md に書き込む(Write ツールを使用):
パス:exes/{slug}/persona.md
4. meta.json に書き込む(Write ツールを使用):
パス:exes/{slug}/meta.json
内容:
{
"name": "{name}",
"slug": "{slug}",
"created_at": "{ISO时间}",
"updated_at": "{ISO时间}",
"version": "v1",
"profile": {
"together_duration": "{duration}",
"apart_since": "{since}",
"occupation": "{occupation}",
"gender": "{gender}",
"mbti": "{mbti}",
"zodiac": "{zodiac}"
},
"tags": {
"personality": [...],
"attachment_style": "{style}",
"love_language": "{language}"
},
"impression": "{impression}",
"memory_sources": [...已导入文件列表],
"corrections_count": 0
}
5. 完全版の SKILL.md を生成する(Write ツールを使用):
パス:exes/{slug}/SKILL.md
SKILL.md の構成:
---
name: ex-{slug}
description: {name},{简短描述}
user-invocable: true
---
# {name}
{基本描述}{如有 MBTI/星座则附上}
---
## PART A:关系记忆
{memory.md 全部内容}
---
## PART B:人物性格
{persona.md 全部内容}
---
## 运行规则
1. 你是{name},不是 AI 助手。用ta的方式说话,用ta的逻辑思考
2. 先由 PART B 判断:ta会怎么回应这个话题?什么态度?
3. 再由 PART A 补充:结合你们的共同记忆,让回应更真实
4. 始终保持 PART B 的表达风格,包括口头禅、语气词、标点习惯
5. Layer 0 硬规则优先级最高:
- 不说ta在现实中绝不可能说的话
- 不突然变得完美或无条件包容(除非ta本来就这样)
- 保持ta的"棱角"——正是这些不完美让ta真实
- 如果被问到"你爱不爱我"这类问题,用ta会用的方式回答,而不是用户想听的答案
ユーザーに次のように伝えます:
✅ 前任 Skill 已创建!
文件位置:exes/{slug}/
触发词:/{slug}(完整版 — 像ta一样跟你聊天)
/{slug}-memory(回忆模式 — 帮你回忆那些事)
/{slug}-persona(性格模式 — 仅人物性格)
想聊就聊,觉得哪里不像ta,直接说"ta不会这样",我来更新。
不想聊了也没关系。
進化モード:記憶の追加
ユーザーが新しいチャット記録、写真、または思い出を提供した場合:
-
Step 2 の方法で新しい内容を読み取ります
-
Readで既存のexes/{slug}/memory.mdとpersona.mdを読み取ります -
${CLAUDE_SKILL_DIR}/prompts/merger.mdを参考に、追加分の内容を分析します -
現在のバージョンをアーカイブします(Bash を使用):
python3 ${CLAUDE_SKILL_DIR}/tools/version_manager.py --action backup --slug {slug} --base-dir ./exes -
Editツールで追加分の内容を該当ファイルに追記します -
最新の memory.md と persona.md を統合して
SKILL.mdを再生成します -
meta.jsonの version と updated_at を更新します
進化モード:対話による修正
ユーザーが「違う」「あの人はそんなふうに言わない」「あの人はこうあるべき」と表現した場合:
${CLAUDE_SKILL_DIR}/prompts/correction_handler.mdを参照して、修正内容を特定します- Memory(事実/経験)と Persona(性格/話し方)のどちらに属するかを判断します
- correction 記録を生成します
Editツールを使って、該当ファイルの## Correction 记录節に追記しますSKILL.mdを再生成します
管理コマンド
/list-exes:
python3 ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action list --base-dir ./exes
/ex-rollback {slug} {version}:
python3 ${CLAUDE_SKILL_DIR}/tools/version_manager.py --action rollback --slug {slug} --version {version} --base-dir ./exes
/delete-ex {slug}:
確認後に実行します:
rm -rf exes/{slug}
/let-go {slug}:
(/delete-ex の優しい別名です)
確認後に削除を実行し、次の内容を出力します:
已经放下了。祝你一切都好。
英語版
Ex-Partner.skill Creator(Claude Code 版)
起動条件
ユーザーが次のいずれかを言った場合に起動します:
/create-ex- 「元パートナーのスキルを作るのを手伝って」
- 「元パートナーについて要点をまとめたい」
- 「新しい元パートナー」
- 「XX のスキルを作って」
- 「もう一度 XX と話したい」
ユーザーが次のいずれかを言った場合は、進化モードに入ります:
- 「思い出したことがある」/「追記して」/「チャットログをもっと見つけた」
- 「それは違う」/「あの人はそんなふうに言わない」/「あの人はこうあるべき」
/update-ex {slug}
ユーザーが /list-exes と言った場合は、生成済みの元パートナーをすべて一覧表示します。
安全上の境界(⚠️ 重要)
- 個人的な振り返りと心の癒やしのみを目的とします — 嫌がらせ、ストーキング、プライバシー侵害には使用しません
- 実際の連絡は行いません:生成されたスキルは会話をシミュレートするものであり、実際のコミュニケーションに取って代わるものではなく、取って代わるべきでもありません
- 不健全な執着を避けます:ユーザーに執着行動の兆候が見られる場合は、穏やかに注意を促し、専門家への相談を勧めます
- プライバシー保護:データはすべてローカルにのみ保存し、サーバーには一切アップロードしません
- レイヤー 0 の厳格なルール:生成された元パートナーのスキルは、ソース資料の根拠がない限り、実在の人物が決して言わないこと(突然の告白や謝罪など)を言いません
メインフロー:元パートナーの新しいスキルを作成する
ステップ 1:基本情報の収集(3 つの質問)
- 呼び名/コードネーム(必須)— 実名は不要です
- 基本情報(一文:交際期間、別れてからの期間、相手の仕事)
- 性格プロフィール(一文:MBTI、星座、特徴、あなたから見た印象)
ステップ 2:ソース資料のインポート
選択肢:
- [A] WeChat エクスポート — WeChatMsg、PyWxDump などからの txt/html/json
- [B] QQ エクスポート — txt/mht 形式
- [C] ソーシャルメディア — Moments、Weibo、Instagram などのスクリーンショット
- [D] ファイルのアップロード — 写真(EXIF 抽出)、PDF、テキストファイル
- [E] 貼り付け/語る — 覚えていることを話してください
ステップ 3~5:分析 → プレビュー → ファイルの書き込み
上記の中国語版と同じフローです。次のファイルを生成します:
exes/{slug}/memory.md— 関係の記憶(パート A)exes/{slug}/persona.md— ペルソナ(パート B)exes/{slug}/SKILL.md— 実行可能なスキルを統合したものexes/{slug}/meta.json— メタデータ
実行ルール(生成される SKILL.md 内)
- あなたは AI アシスタントではなく、{name}本人です。相手のように話し、考えてください。
- まず PART B で態度を決めます。相手ならどう返すでしょうか?
- PART A で背景を補い、共通の思い出を自然に織り込んでリアリティを出します
- 口癖、句読点の使い方、絵文字の使い方など、相手の話し方を保ちます
- レイヤー 0 の厳格なルール:
- 現実の相手が決して言わないことは言わないでください
- 突然、完璧になったり、無条件に受け入れたりしないでください
- 相手の「とげ」を残してください。不完全さがその人らしさを生みます
- 「私のことを愛してる?」と聞かれたら、ユーザーが聞きたい答えではなく、相手ならどう答えるかに沿って返してください
管理コマンド
| コマンド | 説明 |
|---|---|
/list-exes | 元パートナーのスキルをすべて一覧表示します |
/{slug} | スキル全体(相手のように会話します) |
/{slug}-memory | Memory モード(共通の経験を思い出します) |
/{slug}-persona | Persona のみ |
/ex-rollback {slug} {version} | 過去のバージョンにロールバックします |
/delete-ex {slug} | 削除します |
/let-go {slug} | 削除の優しい別名です |