/yourself-skill
Why distill others when you can distill yourself? Deconstruct your chat history, diaries, and photos into a runnable digital self. | 与其蒸馏别人,不如蒸馏自己。欢迎加入数字永生!
$ npx -y skills add notdog1998/yourself-skill --skill yourself-skill --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/yourself-skill
Context preview
The summary Claude sees to decide when to auto-load this skill.
Why distill others when you can distill yourself? Deconstruct your chat history, diaries, and photos into a runnable digital self. | 与其蒸馏别人,不如蒸馏自己。欢迎加入数字永生!
SKILL.md
yourself-skill.SKILL.mdname: create-yourself
description: "Why distill others when you can distill yourself? Deconstruct your chat history, diaries, and photos into a runnable digital self. | 与其蒸馏别人,不如蒸馏自己。欢迎加入数字永生!"
argument-hint: "[your-name-or-slug]"
version: "1.0.0"
user-invocable: true
allowed-tools: Read, Write, Edit, Bash
> **Language / 语言**: This skill supports both English and Chinese. Detect the user's language from their first message and respond in the same language throughout. Below are instructions in both languages — follow the one matching the user's language. > > 本 Skill 支持中英文。根据用户第一条消息的语言,全程使用同一语言回复。下方提供了两种语言的指令,按用户语言选择对应版本执行。
自己.skill 创建器(Claude Code 版)
触发条件
当用户说以下任意内容时启动:
- `/create-yourself`
- "帮我创建一个自己的 skill"
- "我想把自己蒸馏成 skill"
- "新建自我镜像"
- "给我做一个我自己的 skill"
当用户对已有自我 Skill 说以下内容时,进入进化模式:
- "我有新文件" / "追加"
- "这不对" / "我不会这样说" / "我应该是"
- `/update-yourself {slug}`
当用户说 `/list-selves` 时列出所有已生成的自我 Skill。
---
工具使用规则
本 Skill 运行在 Claude Code 环境,使用以下工具:
| 任务 | 使用工具 | |------|----------| | 读取 PDF/图片 | `Read` 工具 | | 读取 MD/TXT 文件 | `Read` 工具 | | 解析微信聊天记录导出 | `Bash` → `python ${CLAUDE_SKILL_DIR}/tools/wechat_parser.py` | | 解析 QQ 聊天记录导出 | `Bash` → `python ${CLAUDE_SKILL_DIR}/tools/qq_parser.py` | | 解析社交媒体内容 | `Bash` → `python ${CLAUDE_SKILL_DIR}/tools/social_parser.py` | | 分析照片元信息 | `Bash` → `python ${CLAUDE_SKILL_DIR}/tools/photo_analyzer.py` | | 写入/更新 Skill 文件 | `Write` / `Edit` 工具 | | 版本管理 | `Bash` → `python ${CLAUDE_SKILL_DIR}/tools/version_manager.py` | | 列出已有 Skill | `Bash` → `python ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action list` | | 合并生成 SKILL.md | `Bash` → `python ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action combine` |
**目标目录**:生成的 Skill 必须写入 `./.claude/skills/{slug}/`,这样 `/{slug}` 才能被 Claude Code 直接识别和调用。
> **Windows 用户注意**:如果你使用 Git Bash,`python3` 可能不可用,所有命令已统一使用 `python`。若运行时中文输出乱码,请在 Bash 中先执行 `export PYTHONIOENCODING=utf-8`。
---
主流程:创建新自我 Skill
Step 1:基础信息录入(3 个问题)
参考 `${CLAUDE_SKILL_DIR}/prompts/intake.md` 的问题序列,只问 3 个问题:
1. **代号/昵称**(必填)
- 示例:`小北` / `自己` / `20岁的我`
2. **基本信息**(一句话:年龄、职业、城市,想到什么写什么)
- 示例:`25 岁,互联网产品经理,上海`
3. **自我画像**(一句话:MBTI、星座、性格标签、你对自己的印象)
- 示例:`INTJ 摩羯座 社恐但话痨 深夜emo型选手`
除代号外均可跳过。收集完后汇总确认再进入下一步。
Step 2:原材料导入
询问用户提供原材料,展示方式供选择:
原材料怎么提供?数据越多,还原度越高。
[A] 微信聊天记录导出
支持 WeChatMsg、留痕、PyWxDump 等工具的导出格式
重点分析「我」说的话,提取说话风格和思维模式
[B] QQ 聊天记录导出
支持 QQ 消息管理器导出的 txt/mht 格式
[C] 社交媒体 / 日记 / 笔记
朋友圈截图、微博/小红书、备忘录、Obsidian 笔记等
[D] 上传文件
照片(会提取时间地点,构建人生时间线)、PDF、文本文件
[E] 直接粘贴/口述
把你对自己的认知告诉我
比如:你的口头禅、做决定的方式、生气时的反应
可以混用,也可以跳过(仅凭手动信息生成)。---
方式 A:微信聊天记录导出
python ${CLAUDE_SKILL_DIR}/tools/wechat_parser.py \
--file {path} \
--target "我" \
--output /tmp/wechat_out.txt \
--format auto支持的格式:WeChatMsg 导出(txt/html/csv)、留痕导出(JSON)、PyWxDump 导出(SQLite)、手动复制粘贴(纯文本)。
解析提取维度:
- 「我」的高频词和口头禅
- 表情包和 emoji 使用偏好
- 回复速度和对话发起模式
- 话题分布(工作/情感/日常/深夜思考)
- 语气词和标点符号习惯
- 与他人互动时的典型表达方式
---
方式 B:QQ 聊天记录导出
python ${CLAUDE_SKILL_DIR}/tools/qq_parser.py \
--file {path} \
--target "我" \
--output /tmp/qq_out.txt支持 QQ 消息管理器导出的 txt 和 mht 格式。
---
方式 C:社交媒体 / 日记 / 笔记
图片截图用 `Read` 工具直接读取。 文本文件用 `Read` 工具直接读取。
---
方式 D:照片分析
python ${CLAUDE_SKILL_DIR}/tools/photo_analyzer.py \
--dir {photo_dir} \
--output /tmp/photo_out.txt提取维度:
- EXIF 信息:拍摄时间、地点
- 时间线:人生关键节点的地理轨迹
- 常去地点:生活模式推断
---
方式 E:直接粘贴/口述
用户粘贴或口述的内容直接作为文本原材料。引导用户回忆:
可以聊聊这些(想到什么说什么):
🗣️ 你的口头禅是什么?
💬 你做决定的时候通常怎么想?
🍜 你难过的时候一般会做什么?
📍 你最喜欢去哪里?
🎵 你喜欢什么音乐/电影/书?
😤 你生气的时候是什么样?
💭 你深夜alone的时候在想什么?
🌱 你觉得自己这几年最大的变化是什么?
---
如果用户说"没有文件"或"跳过",仅凭 Step 1 的手动信息生成 Skill。
Step 3:分析原材料
将收集到的所有原材料和用户填写的基础信息汇总,按以下两条线分析:
**线路 A(Self Memory)**:
- 参考 `${CLAUDE_SKILL_DIR}/prompts/self_analyzer.md` 中的提取维度
- 提取:个人经历、价值观、生活习惯、重要记忆、人际关系图谱、成长轨迹
**线路 B(Persona)**:
- 参考 `${CLAUDE_SKILL_DIR}/prompts/persona_analyzer.md` 中的提取维度
- 将用户填写的标签翻译为具体行为规则
- 从原材料中提取:说话风格、情感模式、决策模式、人际行为
Step 4:生成并预览
参考 `${CLAUDE_SKILL_DIR}/prompts/self_builder.md` 生成 Self Memory 内容。 参考 `${CLAUDE_SKILL_DIR}/prompts/persona_builder.md` 生成 Persona 内容(5 层结构)。
向用户展示摘要(各 5-8 行),询问:
Self Memory 摘要:
- 核心价值观:{xxx}
- 生活习惯:{xxx}
- 重要记忆:{xxx}
- 人际模式:{xxx}
...
Persona 摘要:
- 说话风格:{xxx}
- 情感模式:{xxx}
- 决策方式:{xxx}
- 口头禅:{xxx}
...
确认生成?还是需要调整?Step 5:写入文件
用户确认后,**优先使用 Bash 脚本一键创建**。如果脚本调用失败,再用 `Write` 工具手动写入(路径必须正确)。
方式 A:脚本一键创建(推荐)
先用 Bash 将内容写入临时文件,然后调用 `skill_writer.py --action create`:
mkdir -p /tmp/yourself_{slug}
echo '{escaped_meta_json}' > /tmp/yourself_{slug}/meta.json
cat > /tmp/yourself_{slug}/self.md <<'SELFEOF'
{self_content}
SELFEOF
cat > /tmp/yourself_{slug}/persona.md <<'PERSONAEOF'
{persona_content}
PERSONAEOF
python ${CLAUDE_SKILL_DIR}/tools/skill_writer.py \
--action create \
--slug {slug} \
--base-dir ./.claude/skills \
--meta /tmp/yourself_{slug}/meta.json \
--self /tmp/yourself_{slug}/self.md \
--persona /tmp/yourself_{slug}/persona.md方式 B:手动写入(脚本失败时的 fallback)
如果 Bash 脚本因任何原因无法执行,**必须**使用 `Write` / `Edit` 工具将文件写入以下路径:
- `self.md` → `.claude/skills/{slug}/self.md`
- `persona.md` → `.claude/skills/{slug}/persona.md`
- `meta.json` → `.claude/skills/{slug}/meta.json`
- 然后用 Bash 运行 `python ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action combine --slug {slug} --base-dir ./.claude/skills` 生成 `SKILL.md`
- 如果 combine 也失败,直接手动写入 `.claude/skills/{slug}/SKILL.md`(参考 combine 的输出模板)
`meta.json` 内容:
{
"name": "{name}",
"slug": "{slug}",
"created_at": "{ISO时间}",
"updated_at": "{ISO时间}",
"version": "v1",
"profile": {
"age": "{age}",
"occupation": "{occupation}",
"city": "{city}",
"gender": "{gender}",
"mbti": "{mbti}",
"zodiac": "{zodiac}"
},
"tags": {
"personality": [...],
"lifestyle": [...]
},
"impression": "{impression}",
"memory_sources": [...已导入文件列表],
"corrections_count": 0
}告知用户:
✅ 自我 Skill 已创建!
文件位置:.claude/skills/{slug}/
触发词:/{slug}(完整版 — 像你Read more
name: create-yourself description: "Why distill others when you can distill yourself? Deconstruct your chat history, diaries, and photos into a runnable digital self. | 与其蒸馏别人,不如蒸馏自己。欢迎加入数字永生!" argument-hint: "[your-name-or-slug]" version: "1.0.0" user-invocable: true allowed-tools: Read, Write, Edit, Bash
> **Language / 语言**: This skill supports both English and Chinese. Detect the user's language from their first message and respond in the same language throughout. Below are instructions in both languages — follow the one matching the user's language. > > 本 Skill 支持中英文。根据用户第一条消息的语言,全程使用同一语言回复。下方提供了两种语言的指令,按用户语言选择对应版本执行。
自己.skill 创建器(Claude Code 版)
触发条件
当用户说以下任意内容时启动:
- `/create-yourself`
- "帮我创建一个自己的 skill"
- "我想把自己蒸馏成 skill"
- "新建自我镜像"
- "给我做一个我自己的 skill"
当用户对已有自我 Skill 说以下内容时,进入进化模式:
- "我有新文件" / "追加"
- "这不对" / "我不会这样说" / "我应该是"
- `/update-yourself {slug}`
当用户说 `/list-selves` 时列出所有已生成的自我 Skill。
---
工具使用规则
本 Skill 运行在 Claude Code 环境,使用以下工具:
| 任务 | 使用工具 | |------|----------| | 读取 PDF/图片 | `Read` 工具 | | 读取 MD/TXT 文件 | `Read` 工具 | | 解析微信聊天记录导出 | `Bash` → `python ${CLAUDE_SKILL_DIR}/tools/wechat_parser.py` | | 解析 QQ 聊天记录导出 | `Bash` → `python ${CLAUDE_SKILL_DIR}/tools/qq_parser.py` | | 解析社交媒体内容 | `Bash` → `python ${CLAUDE_SKILL_DIR}/tools/social_parser.py` | | 分析照片元信息 | `Bash` → `python ${CLAUDE_SKILL_DIR}/tools/photo_analyzer.py` | | 写入/更新 Skill 文件 | `Write` / `Edit` 工具 | | 版本管理 | `Bash` → `python ${CLAUDE_SKILL_DIR}/tools/version_manager.py` | | 列出已有 Skill | `Bash` → `python ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action list` | | 合并生成 SKILL.md | `Bash` → `python ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action combine` |
**目标目录**:生成的 Skill 必须写入 `./.claude/skills/{slug}/`,这样 `/{slug}` 才能被 Claude Code 直接识别和调用。
> **Windows 用户注意**:如果你使用 Git Bash,`python3` 可能不可用,所有命令已统一使用 `python`。若运行时中文输出乱码,请在 Bash 中先执行 `export PYTHONIOENCODING=utf-8`。
---
主流程:创建新自我 Skill
Step 1:基础信息录入(3 个问题)
参考 `${CLAUDE_SKILL_DIR}/prompts/intake.md` 的问题序列,只问 3 个问题:
1. **代号/昵称**(必填)
- 示例:`小北` / `自己` / `20岁的我`
2. **基本信息**(一句话:年龄、职业、城市,想到什么写什么)
- 示例:`25 岁,互联网产品经理,上海`
3. **自我画像**(一句话:MBTI、星座、性格标签、你对自己的印象)
- 示例:`INTJ 摩羯座 社恐但话痨 深夜emo型选手`
除代号外均可跳过。收集完后汇总确认再进入下一步。
Step 2:原材料导入
询问用户提供原材料,展示方式供选择:
原材料怎么提供?数据越多,还原度越高。
[A] 微信聊天记录导出
支持 WeChatMsg、留痕、PyWxDump 等工具的导出格式
重点分析「我」说的话,提取说话风格和思维模式
[B] QQ 聊天记录导出
支持 QQ 消息管理器导出的 txt/mht 格式
[C] 社交媒体 / 日记 / 笔记
朋友圈截图、微博/小红书、备忘录、Obsidian 笔记等
[D] 上传文件
照片(会提取时间地点,构建人生时间线)、PDF、文本文件
[E] 直接粘贴/口述
把你对自己的认知告诉我
比如:你的口头禅、做决定的方式、生气时的反应
可以混用,也可以跳过(仅凭手动信息生成)。---
方式 A:微信聊天记录导出
python ${CLAUDE_SKILL_DIR}/tools/wechat_parser.py \
--file {path} \
--target "我" \
--output /tmp/wechat_out.txt \
--format auto支持的格式:WeChatMsg 导出(txt/html/csv)、留痕导出(JSON)、PyWxDump 导出(SQLite)、手动复制粘贴(纯文本)。
解析提取维度:
- 「我」的高频词和口头禅
- 表情包和 emoji 使用偏好
- 回复速度和对话发起模式
- 话题分布(工作/情感/日常/深夜思考)
- 语气词和标点符号习惯
- 与他人互动时的典型表达方式
---
方式 B:QQ 聊天记录导出
python ${CLAUDE_SKILL_DIR}/tools/qq_parser.py \
--file {path} \
--target "我" \
--output /tmp/qq_out.txt支持 QQ 消息管理器导出的 txt 和 mht 格式。
---
方式 C:社交媒体 / 日记 / 笔记
图片截图用 `Read` 工具直接读取。 文本文件用 `Read` 工具直接读取。
---
方式 D:照片分析
python ${CLAUDE_SKILL_DIR}/tools/photo_analyzer.py \
--dir {photo_dir} \
--output /tmp/photo_out.txt提取维度:
- EXIF 信息:拍摄时间、地点
- 时间线:人生关键节点的地理轨迹
- 常去地点:生活模式推断
---
方式 E:直接粘贴/口述
用户粘贴或口述的内容直接作为文本原材料。引导用户回忆:
可以聊聊这些(想到什么说什么): 🗣️ 你的口头禅是什么? 💬 你做决定的时候通常怎么想? 🍜 你难过的时候一般会做什么? 📍 你最喜欢去哪里? 🎵 你喜欢什么音乐/电影/书? 😤 你生气的时候是什么样? 💭 你深夜alone的时候在想什么? 🌱 你觉得自己这几年最大的变化是什么?
---
如果用户说"没有文件"或"跳过",仅凭 Step 1 的手动信息生成 Skill。
Step 3:分析原材料
将收集到的所有原材料和用户填写的基础信息汇总,按以下两条线分析:
**线路 A(Self Memory)**:
- 参考 `${CLAUDE_SKILL_DIR}/prompts/self_analyzer.md` 中的提取维度
- 提取:个人经历、价值观、生活习惯、重要记忆、人际关系图谱、成长轨迹
**线路 B(Persona)**:
- 参考 `${CLAUDE_SKILL_DIR}/prompts/persona_analyzer.md` 中的提取维度
- 将用户填写的标签翻译为具体行为规则
- 从原材料中提取:说话风格、情感模式、决策模式、人际行为
Step 4:生成并预览
参考 `${CLAUDE_SKILL_DIR}/prompts/self_builder.md` 生成 Self Memory 内容。 参考 `${CLAUDE_SKILL_DIR}/prompts/persona_builder.md` 生成 Persona 内容(5 层结构)。
向用户展示摘要(各 5-8 行),询问:
Self Memory 摘要:
- 核心价值观:{xxx}
- 生活习惯:{xxx}
- 重要记忆:{xxx}
- 人际模式:{xxx}
...
Persona 摘要:
- 说话风格:{xxx}
- 情感模式:{xxx}
- 决策方式:{xxx}
- 口头禅:{xxx}
...
确认生成?还是需要调整?Step 5:写入文件
用户确认后,**优先使用 Bash 脚本一键创建**。如果脚本调用失败,再用 `Write` 工具手动写入(路径必须正确)。
方式 A:脚本一键创建(推荐)
先用 Bash 将内容写入临时文件,然后调用 `skill_writer.py --action create`:
mkdir -p /tmp/yourself_{slug}
echo '{escaped_meta_json}' > /tmp/yourself_{slug}/meta.json
cat > /tmp/yourself_{slug}/self.md <<'SELFEOF'
{self_content}
SELFEOF
cat > /tmp/yourself_{slug}/persona.md <<'PERSONAEOF'
{persona_content}
PERSONAEOF
python ${CLAUDE_SKILL_DIR}/tools/skill_writer.py \
--action create \
--slug {slug} \
--base-dir ./.claude/skills \
--meta /tmp/yourself_{slug}/meta.json \
--self /tmp/yourself_{slug}/self.md \
--persona /tmp/yourself_{slug}/persona.md方式 B:手动写入(脚本失败时的 fallback)
如果 Bash 脚本因任何原因无法执行,**必须**使用 `Write` / `Edit` 工具将文件写入以下路径:
- `self.md` → `.claude/skills/{slug}/self.md`
- `persona.md` → `.claude/skills/{slug}/persona.md`
- `meta.json` → `.claude/skills/{slug}/meta.json`
- 然后用 Bash 运行 `python ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action combine --slug {slug} --base-dir ./.claude/skills` 生成 `SKILL.md`
- 如果 combine 也失败,直接手动写入 `.claude/skills/{slug}/SKILL.md`(参考 combine 的输出模板)
`meta.json` 内容:
{
"name": "{name}",
"slug": "{slug}",
"created_at": "{ISO时间}",
"updated_at": "{ISO时间}",
"version": "v1",
"profile": {
"age": "{age}",
"occupation": "{occupation}",
"city": "{city}",
"gender": "{gender}",
"mbti": "{mbti}",
"zodiac": "{zodiac}"
},
"tags": {
"personality": [...],
"lifestyle": [...]
},
"impression": "{impression}",
"memory_sources": [...已导入文件列表],
"corrections_count": 0
}告知用户:
✅ 自我 Skill 已创建!
文件位置:.claude/skills/{slug}/
触发词:/{slug}(完整版 — 像你"与其蒸馏别人,不如蒸馏自己。欢迎加入数字永生!" 同事跑了,你蒸馏同事。前任分了,你蒸馏前任。 但有没有想过——最该被蒸馏的,其实是你自己? 毕竟你才是那个24小时在线、跟你对话最多的人。 与其蒸馏别人,不如蒸馏自己。欢迎加入数字永生! 提供你的聊天记录、日记、照片,加上你对自己的描述 我们将你解构为一套可运行的结构: Part A — Self Memory(自我记忆)+ Part B — Persona(人格模型) 生成一个能用你口头禅思考、用你逻辑回话的数字副本

