What Is ex-skill?
ex-skill is a Claude Code skill built by therealXiaomanChu that ingests WeChat chat exports, QQ messages, photo EXIF data, and user descriptions to create personalized AI agents mimicking ex-partners' personas and relationship histories. Hosted on GitHub with 2.9k stars and 302 forks as of October 2024, it follows the AgentSkills standard for seamless integration into Claude Code environments. ex-skill is one of the best Claude Code skills for Claude Code developers building personal AI agents, enabling therapy-grade recollections via parsed memory timelines and tag-based personality layers like MBTI and attachment styles.
Quick Overview
| Attribute | Details |
|---|---|
| Type | Claude Code Skills |
| Best For | Claude Code developers building personal AI agents |
| Language/Stack | Claude Code, Python, Anthropic API |
| License | MIT |
| GitHub Stars | 2.9k as of Oct 2024 |
| Pricing | Open-Source |
| Last Release | main — Oct 2024 |
Who Should Use ex-skill?
- Claude Code power users scripting custom agents from raw chat data who need automated parsing of WeChatMsg or PyWxDump formats without manual JSON conversion.
- Indie developers experimenting with persona AI for emotional simulations, integrating relationship timelines from photo metadata and QQ txt exports into prompt chains.
- AI hobbyists with Claude Pro handling 5k-15k token intakes per skill to build multi-version agents with rollback via
/ex-rollbackcommands.
Not ideal for:
- Developers requiring production-scale multi-user AI without Anthropic API keys, as it ties to single-user Claude Code sessions.
- Teams needing GPU-accelerated local inference, since ex-skill runs fully cloud-side on Claude's models.
- Users without Node.js 18+ setups, as Claude Code installation demands it for skill discovery in
.claude/skills/.
Key Features of ex-skill
- Multi-format Data Ingestion — Parses WeChatMsg, PyWxDump, QQ txt/mht, social screenshots, and JPEG/PNG EXIF for timelines; extracts inside jokes and locations in under 15k tokens per build.
- 5-Layer Persona Builder — Structures output as hard rules → identity → speech style → emotion patterns → relationship behaviors, supporting 16 MBTI types, 12 zodiac signs, and 20+ tags like "anxiety attachment" or "read receipts avoidance".
- Relationship Memory Extraction — Builds timelines of dates, arguments, and sweet moments from chat logs; merges incremental data via
merger.mdprompts without overwriting base versions. - Command-Driven Management — Supports
/list-exes,/{slug},/{slug}-memory,/ex-rollback {slug} {version},/delete-ex {slug}, and/let-go {slug}for versioned control in Claude Code terminals. - Correction and Evolution — Users input "ta wouldn't say that" to append Correction layers; auto-merges new chats or photos into Part A (memory) and Part B (persona).
- Tag Translation System — Converts Chinese labels like "嘴硬心软" (tough exterior soft heart) into English equivalents via
persona_analyzer.md, ensuring cross-lingual consistency. - OpenSkill Compliance — Generates
SKILL.mdwith frontmatter,memory.md, andpersona.mdfiles in.claude/skills/{slug}/for native Claude Code execution.
ex-skill vs Alternatives
| Tool | Best For | Key Differentiator | Pricing |
|---|---|---|---|
| ex-skill | Personal ex-partner recreations from Asian chat apps | WeChat/QQ parsers + 5-layer personas with memory merging | Open-Source |
| Claude Code Canvas | Visual code-to-agent workflows | Canvas-based editing over file parsing | Freemium |
| Claude Context Mode | Long-context prompt management | Context window optimization without data ingestion | Open-Source |
| Character.AI | General chatbot personas | No-code UI but lacks chat log parsing | Freemium |
Claude Code Canvas suits visual builders preferring drag-and-drop over CLI parsing, but misses ex-skill's specialized WeChat tools. Claude Context Mode excels at stuffing 200k tokens into sessions yet skips persona structuring from photos. Character.AI offers quick web setups without dev setup, ideal for non-coders avoiding Node.js installs.
How ex-skill Works
ex-skill operates as a create-ex skill in Claude Code's .claude/skills/ directory, triggered by /create-ex to intake data via intake.md prompts. Python tools in /tools/—like wechat_parser.py for WeChatMsg JSON and photo_analyzer.py for EXIF—preprocess inputs into structured facts. Prompts then split outputs: Part A (Relationship Memory) compiles timelines and jokes; Part B (Persona) layers rules from tags like ENFP or avoidance attachment.
Runtime flow: Incoming message hits SKILL.md → persona.md dictates response style (e.g., wordsmith for Gemini, terse for INTJ) → memory.md injects context ("that Italian place we hated") → correction_handler.md overrides if flagged. No local storage; all persists in Claude Code's skill folder with git versioning from the host repo.
Generated skills support modes: full chat via /{slug}, memory recall with /{slug}-memory, or persona-only /{slug}-persona. Evolution appends via new /create-ex runs, merging deltas without full rebuilds.
# In Claude Code project root
mkdir -p .claude/skills
git clone https://github.com/therealXiaomanChu/ex-skill .claude/skills/create-ex
# Trigger in Claude Code
/create-ex
This clones the repo into skills dir, installs optional pip3 install -r requirements.txt for parsers. /create-ex prompts for ex-code, traits (e.g., "ENFP, night owls"), and uploads chats/photos; outputs {slug} skill folder ready for /{slug} chats.
Pros and Cons of ex-skill
Pros:
- Zero-config install via git clone into
.claude/skills/, auto-discovered by Claude Code without YAML tweaks. - Handles dense Asian formats: WeChat exports yield 90%+ accuracy on speech patterns from 10k+ message histories.
- Versioned persistence:
/ex-rollbackrestores prior builds, tracking 25+ commits like repo's main branch. - Low overhead: 5-15k tokens per skill, runs on Claude Pro quotas without GPU or Docker.
- Extensible prompts: Edit
prompts/persona_analyzer.mdto add custom MBTI rules or love languages. - Ethical guardrails: README mandates personal use only, with
/let-gofor deletion.
Cons:
- Claude Code dependency: Requires Node.js 18+ and Anthropic access; no standalone web UI.
- Token costs scale with data: Large photo sets or year-long chats hit 15k+ tokens per update.
- Parser limits: QQ mht needs manual export; no Telegram or iMessage support yet.
- Chinese-centric: Tags like "报复性熬夜" auto-translate but lose nuance in full English mode.
- No multi-ex concurrency: Commands prefix per slug, risking crosstalk in shared sessions.
Getting Started with ex-skill
Start by ensuring Claude Code runs with Node.js 18+. Clone to project or global skills dir for reuse across repos.
# Global install for all projects
git clone https://github.com/therealXiaomanChu/ex-skill ~/.claude/skills/create-ex
pip3 install -r ~/.claude/skills/create-ex/requirements.txt # Optional for parsers
# In Claude Code terminal
/create-ex
Enter ex-nickname, traits ("话痨, 双子座"), upload WeChat JSON or photos. ex-skill parses into memory/persona files, outputs slug like ex-jane. Run /{slug} for chats; expect persona-matched replies with memory injections in 2-5s latency. Configure Anthropic API key in Claude Code if exceeding Pro limits; test /list-exes lists all.
Verdict
ex-skill stands as the strongest Claude Code skill for developers recreating ex-partner agents from real chat data when Asian messaging formats dominate inputs. Its parser-to-prompt pipeline delivers precise 5-layer personas unmatched by generic builders, though token budgets limit massive histories. Install via git clone and iterate with corrections for therapy-ready AI.



