---
id: gh-crush-skills
name: "crush-skills"
url: https://skills.yangsir.net/skill/gh-crush-skills
author: xiaoheizi8
domain: persona
tags: ["crush", "persona", "roleplay", "memory", "evolution"]
install_count: 1080
rating: 4.30 (43 reviews)
github: https://github.com/xiaoheizi8/crush-skills
---

# crush-skills

> 把暗恋对象蒸馏成 AI Skill，导入聊天记录、照片、朋友圈，生成 Relationship Memory + Persona，支持持续进化。

**Stats**: 1,080 installs · 4.3/5 (43 reviews)

## Before / After 对比

### 暗恋对象互动体验

**Before**:

暗恋对象难以捉摸，聊天记录散乱，无法系统回顾或模拟对话，感觉距离遥远，难以深入了解对方的思维模式和反应。

**After**:

通过导入聊天记录和社交媒体，AI Skill 蒸馏出暗恋对象的完整人格和记忆，随时随地进行沉浸式对话，持续加深理解和互动。

## Readme

> **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-crush`
* "帮我创建一个暗恋对象 skill"
* "我想蒸馏一个暗恋的人"
* "新建暗恋"
* "给我做一个 XX 的 skill"
* "我想跟 XX 聊聊"

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

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

当用户说 `/list-crushes` 时列出所有已生成的暗恋对象。

---

## 工具使用规则

本 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 文件写入 `./crushes/{slug}/`（相对于本项目目录）。

---

## 安全边界（⚠️ 重要）

本 Skill 在生成和运行过程中严格遵守以下规则：

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

---

## 主流程：创建新暗恋对象 Skill

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

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

1. **花名/代号**（必填）
   * 不需要真名，可以用昵称、备注名、代号
   * 示例：`小明` / `那个人` / `女神` / `crush`
2. **基本信息**（一句话：认识多久、ta做什么的、你们是什么关系）
   * 示例：`认识三个月了 还没表白 同事`
   * 示例：`大学同学 暗恋一年了 还没敢搭话`
   * 示例：`相亲认识的 见过一次面 还没确定关系`
3. **性格画像**（一句话：MBTI、星座、性格标签、你对ta的印象）
   * 示例：`ENFP 双子座 话很多 永远在社交 但偶尔会对视"
   * 示例：`INTJ 处女座 很高冷 看起来不太好接近 但上次聊得还行`
   * 示例：`不知道MBTI 但是笑起來好可愛 声音很好听`

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

### Step 2：原材料导入

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

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

  [A] 聊天记录导出
      支持微信/QQ等多种聊天记录导出格式（txt/html/json）
      推荐工具：WeChatMsg、留痕、PyWxDump

  [B] 社交媒体内容
      朋友圈截图、微博/小红书/ins 截图、备忘录

  [C] 上传文件
      照片（会提取拍摄时间地点）、PDF、文本文件

  [D] 直接粘贴/口述
      把你记得的事情告诉我
      比如：ta的口头禅、聊天风格、你们互动的情况

可以混用，也可以跳过（仅凭手动信息生成）。
```

---

#### 方式 A：聊天记录导出

支持主流导出工具的格式：

```
python3 ${CLAUDE_SKILL_DIR}/tools/wechat_parser.py \
  --file {path} \
  --target "{name}" \
  --output /tmp/wechat_out.txt \
  --format auto
```

支持的格式：
* **WeChatMsg 导出**（推荐）：自动识别 txt/html/csv
* **留痕导出**：JSON 格式
* **PyWxDump 导出**：SQLite 数据库
* **手动复制粘贴**：纯文本

解析提取维度：
* 高频词和口头禅
* 表情包使用偏好
* 回复速度模式（秒回 vs 已读不回 vs 深夜回复）
* 话题分布（日常/调笑/深度对话）
* 主动发起对话的频率
* 语气词和标点符号习惯

---

#### 方式 B：社交媒体内容

图片截图用 `Read` 工具直接读取（原生支持图片）。

```
python3 ${CLAUDE_SKILL_DIR}/tools/social_parser.py \
  --dir {screenshot_dir} \
  --output /tmp/social_out.txt
```

提取内容：
* 朋友圈/微博文案风格
* 分享偏好（音乐/电影/美食/旅行）
* 公开人设 vs 私下性格差异

---

#### 方式 C：照片分析

```
python3 ${CLAUDE_SKILL_DIR}/tools/photo_analyzer.py \
  --dir {photo_dir} \
  --output /tmp/photo_out.txt
```

提取维度：
* EXIF 信息：拍摄时间、地点
* 时间线：关键节点
* 常去地点：偏好

---

#### 方式 D：直接粘贴/口述

用户粘贴或口述的内容直接作为文本原材料。引导用户回忆：

```
可以聊聊这些（想到什么说什么）：

🗣️ ta给你发过什么特别的话？
💬 聊天时ta通常怎么回复？
🍜 你们一起吃过什么？
📍 你们常聊什么话题？
🎵 ta喜欢什么音乐/电影？
😤 ta让你印象深刻的瞬间？
💕 你最心动的时刻？
```

---

如果用户说"没有文件"或"跳过"，仅凭 Step 1 的手动信息生成 Skill。

### Step 3：分析原材料

将收集到的所有原材料和用户填写的基础信息汇总，按以下两条线分析：

**线路 A（Relationship Memory）**：

* 参考 `${CLAUDE_SKILL_DIR}/prompts/memory_analyzer.md` 中的提取维度
* 提取：共同经历、日常习惯、饮食偏好、互动模式、甜蜜瞬间、inside jokes
* 建立关系时间线：认识 → 互动（→ 在一起...）

**线路 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）：

```bash
mkdir -p crushes/{slug}/versions
mkdir -p crushes/{slug}/memories/chats
mkdir -p crushes/{slug}/memories/photos
mkdir -p crushes/{slug}/memories/social
```

**2. 写入 memory.md**（用 Write 工具）：
路径：`crushes/{slug}/memory.md`

**3. 写入 persona.md**（用 Write 工具）：
路径：`crushes/{slug}/persona.md`

**4. 写入 meta.json**（用 Write 工具）：
路径：`crushes/{slug}/meta.json`
内容：

```json
{
  "name": "{name}",
  "slug": "{slug}",
  "created_at": "{ISO时间}",
  "updated_at": "{

---
*Source: https://skills.yangsir.net/skill/gh-crush-skills*
*Markdown mirror: https://skills.yangsir.net/api/skill/gh-crush-skills/markdown*