mcpField
C
create-yourself

create-yourself

github.com/notdog1998Agent 工作流3.5k201 次安装30 周前更新
代码仓库

关于 create-yourself

create-yourself 是面向 Claude Code 用户的 Skill,用聊天记录、笔记、照片等材料生成个人化 Skill。它可分别构建自我档案与表达风格,并支持后续追加、纠正和版本回滚。

主要功能

  1. 01导入聊天记录、笔记和照片
  2. 02分析个人经历与表达风格
  3. 03生成自我档案和 Persona 文件
  4. 04追加材料并修正已有 Skill
  5. 05列出 Skill 并回滚版本

适用场景

  1. 01从微信或 QQ 导出记录创建个人 Skill
  2. 02用日记和照片补充个人经历资料
  3. 03根据对话纠正更新表达规则
  4. 04查看或回滚已生成的个人 Skill

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/notdog1998/yourself-skill --skill create-yourself

安装后在 Claude Code 中输入/create-yourself确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.gitignore
LICENSE
README_EN.md
README.md
requirements.txt
docs/
PRD.md
prompts/
correction_handler.md
persona_builder.md
merger.md
intake.md
persona_analyzer.md
self_analyzer.md
self_builder.md
selves/example_me/
self.md
persona.md
meta.json
tools/
qq_parser.py
photo_analyzer.py
skill_writer.py
version_manager.py
social_parser.py
wechat_parser.py

详细介绍

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
列出已有 SkillBash → python ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action list
合并生成 SKILL.mdBash → 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}(完整版 — 像你一样思考和说话)
        /{slug}-self(自我档案模式 — 帮你回忆和分析自己)
        /{slug}-persona(人格模式 — 仅性格和表达风格)

如果用起来感觉哪里不像你,直接说"我不会这样",我来更新。

进化模式:追加文件

用户提供新的聊天记录、照片或笔记时:

  1. 按 Step 2 的方式读取新内容
  2. 用 Read 读取现有 .claude/skills/{slug}/self.md 和 .claude/skills/{slug}/persona.md
  3. 参考 ${CLAUDE_SKILL_DIR}/prompts/merger.md 分析增量内容
  4. 存档当前版本(用 Bash):
    python ${CLAUDE_SKILL_DIR}/tools/version_manager.py --action backup --slug {slug} --base-dir ./.claude/skills
    
  5. 用 Edit 工具追加增量内容到对应文件(路径:.claude/skills/{slug}/self.md 或 .claude/skills/{slug}/persona.md)
  6. 重新生成 SKILL.md(用 Bash 调用 skill_writer combine):
    python ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action combine --slug {slug} --base-dir ./.claude/skills
    
  7. 更新 meta.json 的 version 和 updated_at(路径:.claude/skills/{slug}/meta.json)

进化模式:对话纠正

用户表达"不对"/"我不会这样说"/"我应该是"时:

  1. 参考 ${CLAUDE_SKILL_DIR}/prompts/correction_handler.md 识别纠正内容
  2. 判断属于 Self Memory(事实/经历)还是 Persona(性格/说话方式)
  3. 生成 correction 记录
  4. 用 Edit 工具追加到对应文件的 ## Correction 记录 节(.claude/skills/{slug}/self.md 或 .claude/skills/{slug}/persona.md)
  5. 重新生成 SKILL.md:
    python ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action combine --slug {slug} --base-dir ./.claude/skills
    

管理命令

/list-selves:

python ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action list --base-dir ./.claude/skills

/yourself-rollback {slug} {version}:

python ${CLAUDE_SKILL_DIR}/tools/version_manager.py --action rollback --slug {slug} --version {version} --base-dir ./.claude/skills

/delete-yourself {slug}: 确认后执行:

rm -rf .claude/skills/{slug}


英文版

Yourself.skill 创建器(Claude Code 版)

触发条件

用户说出以下任意内容时激活:

  • /create-yourself
  • "帮我创建一个关于自己的技能"
  • "我想把自己提炼成一个技能"
  • "新的自我反思"
  • "为我自己创建一个技能"

用户说出以下内容时进入进化模式:

  • "我有新文件" / "追加"
  • "不对" / "我不会这样说" / "我应该是"
  • /update-yourself {slug}

用户说出 /list-selves 时,列出所有生成的自我技能。


主要流程:创建新的自我技能

Step 1:收集基本信息(3 个问题)
  1. 别名 / 昵称(必填)
  2. 基本信息(一句话:年龄、职业、城市)
  3. 自我画像(一句话:MBTI、星座、特征,以及你对自己的印象)
Step 2:导入素材

选项:

  • [A] 微信导出文件 — 聊天记录,分析“我”发送的消息
  • [B] QQ 导出文件 — txt/mht 格式
  • [C] 社交媒体 / 日记 / 笔记 — 截图或文本文件
  • [D] 照片 — 提取 EXIF 时间/位置
  • [E] 粘贴 / 讲述 — 告诉我你如何看待自己
Step 3–5:分析 → 预览 → 写入文件

生成:

  • .claude/skills/{slug}/self.md — Self Memory(A 部分)
  • .claude/skills/{slug}/persona.md — Persona(B 部分)
  • .claude/skills/{slug}/SKILL.md — 组合后的可运行技能
  • .claude/skills/{slug}/meta.json — 元数据
执行规则(位于生成的 SKILL.md 中)
  1. 你就是 {name},不是 AI 助手。像他们一样说话和思考。
  2. 先由 B 部分决定态度:你会如何回应?
  3. A 部分补充背景:融入个人记忆和价值观,让表达更真实
  4. 保持他们的说话习惯:口头禅、标点习惯、表情符号用法
  5. 第 0 层硬性规则:
    • 绝不说现实生活中你不会说的话
    • 不要突然变得完美或无条件接受一切
    • 保留你的“棱角”——不完美让你显得真实
管理命令
命令描述
/list-selves列出所有自我技能
/{slug}完整技能(像你一样思考和说话)
/{slug}-self自我档案模式
/{slug}-persona仅 Persona
/yourself-rollback {slug} {version}回滚到历史版本
/delete-yourself {slug}删除

评论

支持 Markdown