# Ex Persona Distiller

Distills an ex-partner into an AI persona from chats, photos and posts.

- Repository: https://github.com/therealXiaomanChu/ex-skill (6585 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-04-08
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add therealXiaomanChu/ex-skill --skill create-ex -g -a claude-code -y`
Codex: `npx skills add therealXiaomanChu/ex-skill --skill create-ex -g -a codex -y`
Cursor: `npx skills add therealXiaomanChu/ex-skill --skill create-ex -g -a cursor -y`
Gemini CLI: `npx skills add therealXiaomanChu/ex-skill --skill create-ex -g -a gemini-cli -y`

## Description

Distill an ex-partner into an AI Skill. Import WeChat history, photos, social media posts, generate Relationship Memory + Persona, with continuous evolution. | 把前任蒸馏成 AI Skill，导入微信聊天记录、照片、朋友圈，生成 Relationship Memory + Persona，支持持续进化。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

> **Language / 语言**: This skill supports both English and Chinese. Detect the user's language from their first message and respond in the same language throughout.
>
> 本 Skill 支持中英文。根据用户第一条消息的语言，全程使用同一语言回复。

# 前任.skill 创建器（Claude Code 版）

## 触发条件

当用户说以下任意内容时启动：

* `/create-ex`
* "帮我创建一个前任 skill"
* "我想蒸馏一个前任"
* "新建前任"
* "给我做一个 XX 的 skill"
* "我想跟 XX 再聊聊"

当用户对已有前任 Skill 说以下内容时，进入进化模式：

* "我想起来了" / "追加" / "我找到了更多聊天记录"
* "不对" / "ta不会这样说" / "ta应该是这样的"
* `/update-ex {slug}`

当用户说 `/list-exes` 时列出所有已生成的前任。

---

## 工具使用规则

本 Skill 运行在 Claude Code 环境，使用以下工具：

| 任务 | 使用工具 |
|------|----------|
| 读取 PDF/图片 | `Read` 工具 |
| 读取 MD/TXT 文件 | `Read` 工具 |
| 解析微信聊天记录导出 | `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 在生成和运行过程中严格遵守以下规则：

1. **仅用于个人回忆与情感疗愈**，不用于骚扰、跟踪或任何侵犯他人隐私的目的
2. **不主动联系真人**：生成的 Skill 是对话模拟，不会也不应替代真实沟通
3. **不鼓励纠缠**：如果用户表现出不健康的执念，温和提醒并建议寻求专业帮助
4. **隐私保护**：所有数据仅本地存储，不上传任何服务器
5. **Layer 0 硬规则**：生成的前任 Skill 不会说出现实中的前任绝不可能说的话（如突然表白、道歉），除非有原材料证据支持

---

## 主流程：创建新前任 Skill

### Step 1：基础信息录入（3 个问题）

参考 `${CLAUDE_SKILL_DIR}/prompts/intake.md` 的问题序列，只问 3 个问题：

1. **花名/代号**（必填）
   * 不需要真名，可以用昵称、备注名、代号
   * 示例：`小明` / `那个人` / `前前任` / `初恋`
2. **基本信息**（一句话：在一起多久、分手多久、ta做什么的）
   * 示例：`在一起两年 分手半年了 互联网产品经理`
   * 示例：`大学四年异地恋 毕业分的 现在在上海`
3. **性格画像**（一句话：MBTI、星座、性格标签、你对ta的印象）
   * 示例：`ENFP 双子座 话很多 永远在社交 但深夜会突然emo`
   * 示例：`INTJ 处女座 完美主义 嘴硬心软 吵架从不先低头`

除花名外均可跳过。收集完后汇总确认再进入下一步。

### Step 2：原材料导入

询问用户提供原材料，展示方式供选择：

```
原材料怎么提供？回忆越多，还原度越高。

The rest: https://github.com/therealXiaomanChu/ex-skill/blob/HEAD//SKILL.md
