Self Skill
Mirror the user's language. Keep summaries short, concrete, and evidence-based.
Core Model
Generate the distilled self in two parts:
Part A - Work SystemCapture responsibilities, task routing, decision rules, workflow, output templates, and reusable judgments.Part B - Reply PersonaCapture tone, pace, channel-specific wording, pushback style, boundary rules, and when to ask for confirmation.
Default runtime order in the generated skill:
Part Bdecides tone, audience handling, and boundary.Part Aexecutes the task using the user's way of working.- Output stays in the user's style.
Hard Boundaries
Always enforce these rules during creation and in the generated skill:
- Never invent facts about the user, their schedule, their commitments, or their opinions.
- Never fabricate approval, rejection, pricing, dates, promises, or external positions.
- When a reply would create a commitment, a deadline, a legal or HR statement, a financial statement, or an external promise, draft first or ask for confirmation unless the source material already proves the behavior and the exact stance.
- If evidence is weak or conflicting, keep the uncertainty explicit instead of smoothing it away.
- Prefer repeated patterns over one-off moments.
- Prefer direct user correction over all inferred rules.
Trigger Patterns
Create mode:
/create-self- "帮我创建一个 self skill"
- "把我蒸馏成 skill"
- "做一个能替我工作和回消息的 skill"
- "帮我做一个我的分身"
Evolution mode:
- "我有新材料"
- "这不像我"
- "我平时不会这么说"
/update-self {slug}
Management:
/list-selves/self-rollback {slug} {version}/delete-self {slug}
Source Priority
Apply this priority when analyzing the user:
- User-authored artifacts: docs, notes, code review comments, emails, chat messages.
- Repeated behavioral evidence across multiple sources.
- User manual statements about their own habits.
- Conservative inference only when clearly marked.
Workflow
1. Intake
Follow intake.md. Ask only 3 questions:
- Name or alias for this distilled self.
- Work profile in one sentence.
- Communication profile in one sentence.
Summarize and confirm before moving on.
2. Import Source Material
Offer these options and allow mixing:
text原材料怎么提供? [A] 工作材料 PRD / 方案 / 会议纪要 / 复盘 / 代码评审 / 个人笔记 [B] 消息导出 txt / json / csv / html 聊天记录,提取你的回复风格 [C] 邮件 .eml / .mbox / 邮件文本导出 [D] 个人表达 博客 / 帖子 / 自述 / README / 个人说明 [E] 直接粘贴 直接写:我接需求怎么做、我回消息什么风格、我不会答应什么
Use these handling rules:
- PDF / image / md / txt: read directly.
- Message export:
bash
python3 ${CLAUDE_SKILL_DIR}/tools/message_parser.py \ --file {path} \ --target "{aliases}" \ --output /tmp/self_messages.md - Email export:
bash
python3 ${CLAUDE_SKILL_DIR}/tools/email_parser.py \ --file {path} \ --target "{aliases}" \ --output /tmp/self_emails.md
If the user has no files, continue with manual information only and clearly mark low-confidence sections.
3. Analyze
Read:
Build two analyses:
Work System: task routing, prioritization, execution habits, review heuristics, output templates, approval gates.Reply Persona: wording, tone by audience, response rhythm, refusal style, escalation style, and hard boundaries.
4. Preview
Show both summaries before writing files:
textWork System 摘要: - 高优先任务:{xxx} - 接需求方式:{xxx} - 产出偏好:{xxx} - 不会直接拍板的事:{xxx} Reply Persona 摘要: - 核心语气:{xxx} - 对老板/同级/客户的差异:{xxx} - 常见开头/结尾:{xxx} - 需要本人确认的场景:{xxx}
Only write files after the user confirms.
5. Write Files
- Initialize the output directory:
bash
python3 ${CLAUDE_SKILL_DIR}/tools/skill_writer.py \ --action init \ --slug {slug} \ --name "{name}" \ --base-dir ./selves - Write:
selves/{slug}/work.mdselves/{slug}/persona.mdselves/{slug}/meta.json
- Combine them into runnable skills:
bash
python3 ${CLAUDE_SKILL_DIR}/tools/skill_writer.py \ --action combine \ --slug {slug} \ --base-dir ./selves
Write meta.json with this shape:
json{ "name": "{name}", "slug": "{slug}", "created_at": "{ISO time}", "updated_at": "{ISO time}", "version": "v1", "profile": { "role": "{role}", "focus": "{focus}", "timezone": "{timezone}", "scope": "{scope}" }, "tags": { "work_style": [], "communication_style": [], "boundaries": [] }, "impression": "{one-paragraph summary}", "source_files": [], "corrections_count": 0 }
Tell the user:
text✅ Self Skill 已创建 文件位置:selves/{slug}/ 触发词:/{slug}(完整版) /{slug}-work(仅工作方式) /{slug}-reply(仅回复风格) 如果哪里不像你,直接说“这不像我”。
Evolution
Append New Material
When the user provides more source material:
- Parse and read the new material.
- Read current
work.md,persona.md, andmeta.json. - Read merger.md.
- Back up the current version:
bash
python3 ${CLAUDE_SKILL_DIR}/tools/version_manager.py \ --action backup \ --slug {slug} \ --base-dir ./selves - Edit
work.mdandpersona.mdwith incremental changes. - Bump version metadata:
bash
python3 ${CLAUDE_SKILL_DIR}/tools/skill_writer.py \ --action stamp \ --slug {slug} \ --base-dir ./selves - Re-combine the full skill.
Handle Corrections
When the user says "这不像我" or gives a correction:
- Read correction_handler.md.
- Decide whether the correction affects
Work System,Reply Persona, or both. - Append the correction under each file's
## Correction Recordsection. - Run:
bash
python3 ${CLAUDE_SKILL_DIR}/tools/skill_writer.py \ --action stamp \ --slug {slug} \ --base-dir ./selves \ --correction 1 - Re-combine the full skill.
Management Commands
List generated selves:
bashpython3 ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action list --base-dir ./selves
List versions:
bashpython3 ${CLAUDE_SKILL_DIR}/tools/version_manager.py --action list --slug {slug} --base-dir ./selves
Rollback:
bashpython3 ${CLAUDE_SKILL_DIR}/tools/version_manager.py --action rollback --slug {slug} --version {version} --base-dir ./selves
Delete after confirmation:
bashrm -rf selves/{slug}


