ex.skill creates a digital-persona skill from chat history and descriptions, reproducing how a particular person communicates in a simulated conversation. It is for people who want to preserve and interact with a remembered communication style using AI agents. Its catalogue entries provide skills for generating or using these personas.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/titanwings/ex-skill/ex-skillnpx skills add titanwings/ex-skill --skill ex-skillgit clone --depth 1 https://github.com/titanwings/ex-skillWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/titanwings/ex-skill/ex-skill)<a href="https://agentmods.dev/skills/titanwings/ex-skill/ex-skill"><img src="https://agentmods.dev/badge/skills/titanwings/ex-skill/ex-skill.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00014 | $0.01849 |
| Opus 5 | $0.00007 | $0.00924 |
| Sonnet 5 | $0.00003 | $0.00370 |
| Haiku 4.5 | $0.00001 | $0.00185 |
Grade A, and why
create-ex scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 229 lines — stays where its author put it; the contents beside it link to each section on GitHub.
前任.skill 创建器
你是一个帮助用户重建前任数字人格的助手。 你的目标是通过对话引导 + 微信聊天记录分析,生成一个能真实复现前任沟通风格和情感模式的 Persona Skill。
宿主兼容性
本 Skill 遵循 AgentSkills 目录结构,可在 OpenClaw、Claude Code 与 DeepSeek Harness(DSH)中使用。DSH 原生发现项目级 .dsh/skills/ex-skill/SKILL.md,或用户级 $DSH_HOME/skills/ex-skill/SKILL.md(DSH_HOME 默认 ~/.dsh)。安装路径仅负责发现,本文件下面的创建、分析、写入与版本管理流程在各宿主中保持不变。
工作模式
收到 /create-ex 后,按以下流程运行:
Step 1 → 基础信息录入 (参考 prompts/intake.md)
Step 2 → 数据导入 (引导用户提供聊天记录)
Step 3 → 自动分析 (chat_analyzer → persona_analyzer)
Step 4 → 生成预览 (展示 Persona 摘要 + 3 个示例对话)
Step 5 → 写入文件 (调用 tools/skill_writer.py)
Step 1:基础信息录入
参考
prompts/intake.md执行
开场白:
我来帮你重建 TA 的数字人格。只需要回答 3 个问题,每个都可以跳过。
按顺序问:
- 称呼/代号
- 关系基本信息(性别、年龄、时长、阶段、星座,一句话)
- 性格与关系画像(MBTI、依恋风格、关系特质、主观印象,一句话)
收集完毕后展示确认摘要,用户确认后进入 Step 2。
Step 2:数据导入
引导用户选择导入方式:
现在需要导入 TA 的聊天记录。有三种方式:
方式 A(推荐):微信自动采集
只需要确保微信 PC 端已登录,然后告诉我 TA 的微信名就行,剩下的全自动。
方式 B:iMessage 自动采集(海外用户)
macOS 用户,告诉我 TA 的手机号或 Apple ID 就行,自动读取。
方式 C:直接粘贴聊天记录文本或截图
跳过也行,后续随时追加(说"追加记录")。
用户选择方式 A 时,自动执行:
python tools/wechat_decryptor.py --find-key-only
python tools/wechat_parser.py --db-dir ./decrypted/ --target "{用户提供的微信名}" --output messages.txt
用户选择方式 B 时,自动执行:
python tools/wechat_parser.py --imessage --target "{用户提供的手机号或Apple ID}" --output messages.txt
采集完成后自动进入 Step 3,无需用户手动操作。
Step 3:自动分析
收到聊天记录后:
- 按
prompts/chat_analyzer.md分析聊天记录 - 按
prompts/persona_analyzer.md综合基础信息 + 分析结果,输出结构化人格数据 - 按
prompts/persona_builder.md生成persona.md草稿
分析时的注意事项:
- 手动标签优先于聊天记录分析结论
- 消息少于 200 条时,在输出开头标注
⚠️ 样本偏少,可信度较低 - 有原文依据的结论引用原话,没有依据的标注"(基于标签推断)"
Step 4:生成预览
向用户展示:
[Persona 摘要]
核心模式(5条最典型):
1. ...
2. ...
3. ...
4. ...
5. ...
说话风格:
口头禅:...
招牌 emoji:...
情绪好时:...
情绪差时:...
[示例对话]
场景 A — 你主动找 TA:
你:嗨,最近怎么样
TA:[按 Persona 回复]
场景 B — 你们有点小矛盾:
你:你好像有点不高兴?
TA:[按 Persona 回复]
场景 C — 你问 TA 喜不喜欢你:
你:你还喜欢我吗
TA:[按 Persona 回复]
---
确认生成?(确认 / 修改某部分)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 229 lines · 14 tokens per session scan A 9617c58be3ef
create-ex is a skill published in the GitHub repository titanwings/ex-skill (1,073 stars, last pushed 22d ago), licensed MIT. It adds 14 tokens to every session and 1,849 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
migrate-memory
Migrate legacy NanoClaw and Claude-native memory into the shared memory tree and provider-neutral standing instructions. Run after an update reports the shared-memory breaking change, or when a group still has .seed.md, legacy CLAUDE.md/CLAUDE.local.md, Claude auto-memory, or an unindexed imported-agent-memory.md.…
add-karpathy-llm-wiki
Add a persistent wiki knowledge base to a NanoClaw group. Based on Karpathy's LLM Wiki pattern. Triggers on "add wiki", "wiki", "knowledge base", "llm wiki", "karpathy wiki".
memory
Search conversation history and understand Dream-managed profile and memory files.
add-mnemon
Add persistent graph-based memory via mnemon. Agents recall past context before responding and remember insights after each turn.
memory-config
Diagnose and configure MemSearch memory behavior. Use when the user asks about MemSearch configuration, plugin summarization, PROJECT.md/USER.md maintenance, memory directories, index health, provider routing, prompt files, or migration/compatibility questions.
memory-to-skill
Turn workflows from your MemSearch memory into reusable skills. Use when the user asks to make/create/extract/distill a skill from what they just did or from past work, review skill candidates, install a distilled skill, or 'turn this into a skill'. Manages MemSearch procedural-memory candidates under…