#451 by GitHub stars
perkfly/ex-skill
Distill an ex-girlfriend into an AI Skill. Import WeChat/iMessage/SMS/photos, generate Memories + Persona, with continuous evolution. | 把前任蒸馏成 AI Skill,导入微信/iMessage/短信/照片,生成共同记忆 + Persona,支持持续进化。
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
c5ece53ab669 → c5ece53ab669
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → c5ece53ab669
No earlier version was observed for comparison.
Heat
3.3- Star growth, last 7 daysAhead of 71% of tracked repositories
- Star growth, last 24 hoursAhead of 3% of tracked repositories
- Rank movement, last 7 daysAhead of 30% of tracked repositories
- Commits, last 30 daysAhead of 0% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
How it works
create-ex
When your agent uses it
Distill an ex-girlfriend into an AI Skill. Import WeChat/iMessage/SMS/photos, generate Memories + Persona, with continuous evolution. | 把前任蒸馏成 AI Skill,导入微信/iMessage/短信/照片,生成共同记忆 + Persona,支持持续进化。
What it loads into context
Frontmatter
111 tokensAlways available to the agent
SKILL.md
5,065 tokensWhen the skill is activated
Reference documents
14,432 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 触发条件
- 工具使用规则
- 主流程:创建新前任 Skill
- 进化模式:追加文件
- 进化模式:对话纠正
- 管理命令
- Trigger Conditions
- Tool Usage Rules
- Main Flow: Create a New Ex Skill
- Evolution Mode: Append Files
- Evolution Mode: Conversation Correction
- Management Commands
Scripts executed separately
tools/imessage_parser.pytools/photo_analyzer.pytools/skill_writer.pytools/sms_parser.pytools/social_media_parser.pytools/version_manager.pytools/wechat_parser.py
Files
.gitignoreasset212 bytesINSTALL.mddoc3,637 bytesLICENSEasset1,064 bytesREADME.mddoc6,668 bytesREADME_EN.mddoc3,654 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesSKILL.mdcore18,079 bytesexes/example_xiaomei/memories.mddoc4,149 bytesexes/example_xiaomei/meta.jsonasset632 bytesexes/example_xiaomei/persona.mddoc6,485 bytesprompts/correction_handler.mddoc2,328 bytesprompts/intake.mddoc3,647 bytesprompts/memories_analyzer.mddoc3,318 bytesprompts/memories_builder.mddoc1,935 bytesprompts/merger.mddoc2,219 bytesprompts/persona_analyzer.mddoc6,104 bytesprompts/persona_builder.mddoc4,821 bytesrequirements.txtdoc154 bytestools/imessage_parser.pyruns8,323 bytestools/photo_analyzer.pyruns5,068 bytestools/skill_writer.pyruns12,131 bytestools/sms_parser.pyruns6,936 bytestools/social_media_parser.pyruns8,272 bytestools/version_manager.pyruns4,765 bytestools/wechat_parser.pyruns9,229 bytes
Read SKILL.md
> **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-ex`
- "帮我创建一个前任 skill"
- "我想蒸馏一个前任"
- "新建前任"
- "给我做一个 XX 的 skill"View the complete source on GitHubSkills included
- create-ex
Repository facts
- License
- MIT
- Created
- Mar 31, 2026
- Last pushed
- Apr 2, 2026
- Forks
- 275
- Open issues
- 29
- Project activity
- Slowing
Rank over the last 12 weeks
Now #451 · best #361 · down 66 in 30 days
- #441 from Oct 31 to Nov 1
- #444 on Nov 2
- #447 on Nov 3
- #448 on Nov 4
- #450 on Nov 5
- #451 since Nov 6
80 earlier periods
- #348 on Aug 2
- #356 on Aug 7
- #357 on Aug 8
- #352 on Aug 9
- #366 on Aug 10
- #364 on Aug 11
- #359 on Aug 12
- #364 on Aug 13
- #362 from Aug 14 to Aug 15
- #368 on Aug 16
- #365 on Aug 17
- #371 on Aug 18
- #367 on Aug 19
- #368 on Aug 20
- #366 on Aug 21
- #361 on Aug 22
- #368 from Aug 23 to Aug 25
- #369 on Aug 26
- #372 on Aug 27
- #373 on Aug 28
- #368 on Aug 29
- #363 on Aug 30
- #372 on Aug 31
- #381 on Sep 1
- #371 on Sep 2
- #373 on Sep 3
- #365 on Sep 4
- #371 on Sep 5
- #365 on Sep 6
- #374 on Sep 7
- #372 on Sep 8
- #371 on Sep 9
- #374 on Sep 10
- #368 on Sep 11
- #371 on Sep 12
- #370 on Sep 13
- #374 on Sep 14
- #378 on Sep 15
- #379 on Sep 16
- #375 on Sep 17
- #376 on Sep 18
- #370 on Sep 19
- #380 on Sep 20
- #378 on Sep 21
- #382 on Sep 22
- #376 on Sep 23
- #375 on Sep 24
- #376 on Sep 25
- #372 on Sep 26
- #375 on Sep 27
- #379 on Sep 28
- #388 on Sep 29
- #385 on Sep 30
- #386 on Oct 1
- #387 on Oct 2
- #378 on Oct 3
- #373 on Oct 4
- #379 on Oct 5
- #382 on Oct 6
- #385 on Oct 7
- #388 on Oct 8
- #399 on Oct 9
- #389 on Oct 10
- #391 on Oct 11
- #402 on Oct 12
- #398 on Oct 13
- #402 on Oct 14
- #401 on Oct 15
- #405 on Oct 16
- #399 on Oct 17
- #406 on Oct 18
- #409 on Oct 19
- #416 on Oct 21
- #415 on Oct 22
- #413 on Oct 23
- #409 on Oct 24
- #429 on Oct 25
- #437 on Oct 28
- #439 on Oct 29
- #440 on Oct 30
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 2, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 37 notes
SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- 1 broad permissionin 1 file: SKILL.md:1
- 2 dangerous shell commandsin 1 file: SKILL.md:353
- 28 network referencesin 3 files: README.md:7 INSTALL.md:9 README_EN.md:7
- No hidden or obfuscated text
- No instruction overrides
- 7 executable scriptsin 7 files: tools/imessage_parser.py:1 tools/photo_analyzer.py:1 tools/skill_writer.py:1 and 4 more
- No access to secrets
- No requests to vote in Hot
Show all 38 signals by file
INSTALL.md
- Network accessline 9
本项目遵循官方 [AgentSkills](https://agentskills.io) 标准,整个 repo 就是 skill 目录。克隆到 Claude skills 目录即可: - Network accessline 15
# 方式 1:安装到当前项目 mkdir -p .claude/skills git clone https://github.com/perkfly/ex-skill .claude/skills/create-ex - Network accessline 17
git clone https://github.com/perkfly/ex-skill .claude/skills/create-ex - Network accessline 19
# 方式 2:安装到全局(所有项目都能用) git clone https://github.com/perkfly/ex-skill ~/.claude/skills/create-ex - Network accessline 20
git clone https://github.com/perkfly/ex-skill ~/.claude/skills/create-ex - Network accessline 32
git clone https://github.com/perkfly/ex-skill ~/.openclaw/workspace/skills/create-ex - Network accessline 60
推荐使用 [WechatExporter](https://github.com/nicktang1990/WechatExporter) 导出: - Network accessline 73
**方式 2:导出文件** - 使用 [iMazing](https://imazing.com/) 等工具导出 - Network accessline 74
- 使用 [iMazing](https://imazing.com/) 等工具导出
README.md
- Network accessline 7
[](LICENSE) - Network accessline 8
[](https://python.org) - Network accessline 9
[](https://claude.ai/code) - Network accessline 10
[](https://agentskills.io) - Network accessline 55
# 安装到当前项目(在 git 仓库根目录执行) mkdir -p .claude/skills git clone https://github.com/perkfly/ex-skill .claude/skills/create-ex - Network accessline 57
git clone https://github.com/perkfly/ex-skill .claude/skills/create-ex - Network accessline 59
# 或安装到全局(所有项目都能用) git clone https://github.com/perkfly/ex-skill ~/.claude/skills/create-ex - Network accessline 60
git clone https://github.com/perkfly/ex-skill ~/.claude/skills/create-ex - Network accessline 66
git clone https://github.com/perkfly/ex-skill ~/.openclaw/workspace/skills/create-ex - Network accessline 212
MIT License © [perkfly](https://github.com/perkfly)
README_EN.md
- Network accessline 7
[](LICENSE) - Network accessline 8
[](https://python.org) - Network accessline 9
[](https://claude.ai/code) - Network accessline 10
[](https://agentskills.io) - Network accessline 55
# Install to current project mkdir -p .claude/skills git clone https://github.com/perkfly/ex-skill .claude/skills/create-ex - Network accessline 57
git clone https://github.com/perkfly/ex-skill .claude/skills/create-ex - Network accessline 59
# Or install globally git clone https://github.com/perkfly/ex-skill ~/.claude/skills/create-ex - Network accessline 60
git clone https://github.com/perkfly/ex-skill ~/.claude/skills/create-ex - Network accessline 131
MIT License © [perkfly](https://github.com/perkfly)
SKILL.md
tools/imessage_parser.py
- Executable scriptline 1
#!/usr/bin/env python3
tools/photo_analyzer.py
- Executable scriptline 1
#!/usr/bin/env python3
tools/skill_writer.py
- Executable scriptline 1
#!/usr/bin/env python3
tools/sms_parser.py
- Executable scriptline 1
#!/usr/bin/env python3
tools/social_media_parser.py
- Executable scriptline 1
#!/usr/bin/env python3
tools/version_manager.py
- Executable scriptline 1
#!/usr/bin/env python3
tools/wechat_parser.py
- Executable scriptline 1
#!/usr/bin/env python3
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Signal confidence: 38 facts
- Network access in prose of documentationINSTALL.md:9Low confidence
- Network access in code of documentationINSTALL.md:15Low confidence
- Network access in code of documentationINSTALL.md:17Low confidence
- Network access in code of documentationINSTALL.md:19Low confidence
- Network access in code of documentationINSTALL.md:20Low confidence
- Network access in code of documentationINSTALL.md:32Low confidence
- Network access in prose of documentationINSTALL.md:60Low confidence
- Network access in prose of documentationINSTALL.md:73Low confidence
- Network access in prose of documentationINSTALL.md:74Low confidence
- Network access in prose of documentationREADME.md:7Low confidence
- Network access in prose of documentationREADME.md:8Low confidence
- Network access in prose of documentationREADME.md:9Low confidence
- Network access in prose of documentationREADME.md:10Low confidence
- Network access in code of documentationREADME.md:55Low confidence
- Network access in code of documentationREADME.md:57Low confidence
- Network access in code of documentationREADME.md:59Low confidence
- Network access in code of documentationREADME.md:60Low confidence
- Network access in code of documentationREADME.md:66Low confidence
- Network access in prose of documentationREADME.md:212Low confidence
- Network access in prose of documentationREADME_EN.md:7Low confidence
- Network access in prose of documentationREADME_EN.md:8Low confidence
- Network access in prose of documentationREADME_EN.md:9Low confidence
- Network access in prose of documentationREADME_EN.md:10Low confidence
- Network access in code of documentationREADME_EN.md:55Low confidence
- Network access in code of documentationREADME_EN.md:57Low confidence
- Network access in code of documentationREADME_EN.md:59Low confidence
- Network access in code of documentationREADME_EN.md:60Low confidence
- Network access in prose of documentationREADME_EN.md:131Low confidence
- Broad permissions in the frontmatter of the SKILL.mdSKILL.md:1High confidence
- Dangerous shell operation in code of the SKILL.mdSKILL.md:353High confidence
- Dangerous shell operation in code of the SKILL.mdSKILL.md:622High confidence
- Executable script in code of a file that runstools/imessage_parser.py:1High confidence
- Executable script in code of a file that runstools/photo_analyzer.py:1High confidence
- Executable script in code of a file that runstools/skill_writer.py:1High confidence
- Executable script in code of a file that runstools/sms_parser.py:1High confidence
- Executable script in code of a file that runstools/social_media_parser.py:1High confidence
- Executable script in code of a file that runstools/version_manager.py:1High confidence
- Executable script in code of a file that runstools/wechat_parser.py:1High confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Frontmatter field user-invocable in SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/perkfly-ex-skill/)