# ex-skill **Repository Path**: da9527/ex-skill ## Basic Information - **Project Name**: ex-skill - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-03 - **Last Updated**: 2026-04-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# ex.skill > *"You broke up, but the way they texted is still burned into your brain. You remember every tone, every pause — you just can't receive another one."* [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Python 3.9+](https://img.shields.io/badge/Python-3.9%2B-blue.svg)](https://python.org) [![Claude Code](https://img.shields.io/badge/Claude%20Code-Skill-blueviolet)](https://claude.ai/code) [![AgentSkills](https://img.shields.io/badge/AgentSkills-Standard-green)](https://agentskills.io)
Your ex is gone, but you still remember exactly how they talked?
They disappeared without even a last message?
They're still around, but you can never go back?
You just want to talk to them one more time — even if it's only a simulation?
**Turn fading intimacy into a lasting Skill. Welcome to cyber-immortality.**
Feed in your chat history (WeChat, iMessage) plus your own descriptions
Generate a **digital persona Skill that truly feels like them**
Talks in their tone, shows care in their way, knows when they'd go silent [Data Sources](#data-sources) · [Install](#install) · [Usage](#usage) · [Examples](#examples) · [Install Guide](INSTALL.md) · [**中文**](README.md)
--- ## Data Sources > This is still a beta version of ex.skill — more sources coming soon. Stay tuned! | Source | Messages | Notes | |--------|:--------:|-------| | WeChat (fully automatic) | ✅ SQLite | Windows / macOS. Just keep WeChat desktop logged in + provide their name. Auto-decrypt, auto-extract. | | iMessage (fully automatic) | ✅ SQLite | macOS users. Provide phone number or Apple ID. Auto-read. | | Screenshots | ✅ | Manual upload | | Paste text directly | ✅ | Manual input | --- ## Install ### OpenClaw (Recommended) > **Recommended: [OpenClaw](https://openclaw.io)** — pair it with WeChat / Telegram message forwarding to chat with your ex's digital persona directly in the messaging app. Way more immersive. ```bash git clone https://github.com/titanwings/ex-skill ~/.openclaw/workspace/skills/create-ex ``` ### Claude Code > Claude Code looks for skills in `.claude/skills/` at the **git repo root**. Make sure you're in the right directory. ```bash # Install to current project (run at git repo root) mkdir -p .claude/skills git clone https://github.com/titanwings/ex-skill .claude/skills/create-ex # Or install globally (available in all projects) git clone https://github.com/titanwings/ex-skill ~/.claude/skills/create-ex ``` ### Dependencies (optional) ```bash pip3 install -r requirements.txt ``` > WeChat auto-extraction supports Windows and macOS — just keep the desktop client logged in. iMessage requires macOS. See [INSTALL.md](INSTALL.md) for details. --- ## Usage In OpenClaw or Claude Code, type: ``` /create-ex ``` Follow the prompts to enter their name, basic info (gender, age, zodiac), personality tags (MBTI, attachment style), then import chat history. All fields are optional — even a description alone can generate a persona. Once created, use `/{slug}` to talk to them. ### Commands | Command | Description | |---------|-------------| | `/list-exes` | List all ex Skills | | `/{slug}` | Talk to them | | `/move-on {slug}` | Delete an ex Skill (let go) | | Say "add more messages" | Import more chat history, incrementally update persona | | Say "that's not right, they wouldn't say that" | Correct behavior, writes to Correction layer | | Say "show version history" | View all versions | | Say "rollback to v2" | Rollback to a previous version | > `/move-on` is a gentle alias for delete. It's not about holding on — it's about saying a proper goodbye. --- ## Examples > Input: `Female, 25, Aries, ISFP, avoidant attachment, together 2 years, broke up 3 months ago` **Late night, missing them** ``` You ❯ I still miss you ex.skill ❯ ...Yeah. Go to sleep. ``` **Found an old photo** ``` You ❯ Remember our first date? ex.skill ❯ The one by the river? Hahaha you spilled coffee all over yourself, that was so embarrassing, I still remember ``` **Can't help but ask** ``` You ❯ Do you still like me? ex.skill ❯ ... ❯ Why are you asking this all of a sudden ❯ (three minutes later) ❯ Don't ask that ``` **Fight mode** ``` You ❯ Are you mad at me again? ex.skill ❯ No ❯ (read, no reply for 40 minutes) ❯ I'm just a little tired ``` **You want to make up** ``` You ❯ I'm sorry ex.skill ❯ (long pause) ❯ Did you eat today? ``` **You finally say it** ``` You ❯ Are we really over? ex.skill ❯ What do you think ❯ (a while later) ❯ I actually always... never mind ``` --- ## Features ### Skill Structure Each ex Skill is composed of two parts that drive output together: | Part | Content | |------|---------| | **Part A — Relationship Memory** | Shared memories: places you went, inside jokes only you two get, fight patterns, key timeline events | | **Part B — Persona** | 6-layer personality structure: Core Rules → Identity → Expression → Emotional Patterns → Conflict & Boundaries → Triggers | Runtime logic: `Receive message → Check core rules → Retrieve relationship memory → Assess current emotional state → Output in their style` **Persona's 6-layer structure:** | Layer | Content | |-------|---------| | **Layer 0 — Core Rules** | Highest-priority hard rules. Their most fundamental behavioral patterns. Never violated. | | **Layer 1 — Identity** | Astrology (Sun/Moon/Rising/Venus/Mars/Mercury) + MBTI cognitive functions + Enneagram + Attachment style | | **Layer 2 — Expression** | Catchphrases, frequently used words, signature emojis, how they talk in different moods | | **Layer 3 — Emotional Behavior** | How they show care, displeasure, apologies, and say "I like you" | | **Layer 4 — Conflict & Boundaries** | Conflict escalation chain, silent treatment patterns, reconciliation signals, hard limits | | **Layer 5 — Triggers** | What they hate, when they disappear, warning signs before vanishing, how they come back | ### Supported Tags **Attachment Styles**: Secure · Anxious · Avoidant · Disorganized (Fearful-Avoidant) **Relationship Traits**: Quiet but caring · Cold front · Actions over words · Needs space · Can't apologize · Possessive · Emotional · Cold-rational · Tough outside soft inside · Read-no-reply · Read-random-reply ... **Astrology**: Full support for Sun/Moon/Rising/Venus/Mars/Mercury × 12 signs **MBTI**: All 16 types + 8 dominant cognitive functions (Fi/Fe/Ti/Te/Ni/Ne/Si/Se) + Enneagram 1-9 + Wings **Gender & Relationships**: All gender identities and relationship types supported, including non-binary and same-sex relationships ### Evolution - **Add more messages** → Auto-analyze incremental data → Merge into Persona without overwriting existing conclusions - **Conversational correction** → Say "they wouldn't do that" → Writes to Correction layer, takes effect immediately - **Version control** → Auto-archives on every update, rollback to any previous version - **Multi-ex support** → No limit on how many. Each stored independently, no cross-contamination. --- ## Project Structure This project follows the [AgentSkills](https://agentskills.io) open standard. The entire repo is a skill directory: ``` create-ex/ ├── SKILL.md # Skill entry point (official frontmatter) ├── prompts/ # Prompt templates │ ├── intake.md # Conversational info gathering (with astrology/MBTI/attachment tables) │ ├── chat_analyzer.md # Chat history analysis │ ├── persona_analyzer.md # Comprehensive analysis, outputs structured persona data │ ├── persona_builder.md # persona.md 6-layer template │ ├── merger.md # Incremental merge logic │ └── correction_handler.md # Conversational correction handler ├── tools/ # Python tools │ ├── wechat_decryptor.py # WeChat desktop database decryption │ ├── wechat_parser.py # WeChat / iMessage chat extraction │ ├── skill_writer.py # Skill file management │ └── version_manager.py # Version archiving & rollback ├── exes/ # Generated ex Skills (gitignored) ├── docs/PRD.md ├── requirements.txt └── LICENSE ``` --- ## Notes - **Chat history quality determines Skill quality**: Real chat logs + subjective descriptions > descriptions alone - Prioritize importing: **Arguments/conflicts** > **Daily chat** > **Sweet moments** (conflicts reveal the most authentic personality) - WeChat auto-extraction: Windows / macOS, just keep desktop WeChat logged in and provide their name - iMessage auto-extraction: macOS, provide phone number or Apple ID - LGBT+ friendly — gender field supports all gender identities and pronouns - Create as many exes as you want, no limit - Still a demo — if you find bugs, please open an issue! --- ## Recommended Chat Export Tools > Auto-decryption is still being refined and may have some bugs. If it fails, you can use these open-source tools to manually export your chat history first, then paste or import into this project. These are independent open-source projects. This project does not include their code — we only support their export formats in our parser: | Tool | Platform | Description | |------|----------|-------------| | [WeChatMsg](https://github.com/LC044/WeChatMsg) | Windows | WeChat chat history export, multiple formats | | [PyWxDump](https://github.com/xaoyaoo/PyWxDump) | Windows | WeChat database decryption & export | | [留痕](https://github.com/greyovo/留痕) | macOS | WeChat chat history export (recommended for Mac users) | > Tool recommendations via [@therealXiaomanChu](https://github.com/therealXiaomanChu). Thanks to all open-source authors — together we build cyber-immortality! --- ## Star History Star History Chart ---
MIT License © [titanwings](https://github.com/titanwings)