将逝者的生平与表达 distill 为可运行的追思 Skill(life + persona)。参考 yourself-skill,面向缅怀与私人叙事,内置伦理边界。 | Memorial digital skill from life materials.
语言:根据用户第一条消息选择中文或英文,全程保持一致。下文以中文为主,英文用户可对位使用同一流程。
创建新逝者 Skill:
/create-memorial-逝者 或 /create-memorial进化(追加材料):
/update-memorial {slug}追思纠正(家属改口):
/correct-memorial {slug}列出全部:
/list-memorials回滚:
/memorial-rollback {slug} {version}删除(需确认):
/delete-memorial {slug}| 任务 | 工具 |
|---|---|
| 读 PDF/图片/文本 | Read |
| 微信导出解析 | Bash → python ${CLAUDE_SKILL_DIR}/tools/wechat_parser.py(--target 填逝者在该聊天中的昵称) |
| QQ 导出 | Bash → python ${CLAUDE_SKILL_DIR}/tools/qq_parser.py |
| 社交媒体/日记聚合 | Bash → python ${CLAUDE_SKILL_DIR}/tools/social_parser.py |
| 照片 EXIF | Bash → python ${CLAUDE_SKILL_DIR}/tools/photo_analyzer.py |
| 创建/合并 Skill | python ${CLAUDE_SKILL_DIR}/tools/skill_writer.py |
| 版本 | python ${CLAUDE_SKILL_DIR}/tools/version_manager.py |
输出目录:.claude/skills/{slug}/(与 yourself-skill 一致,便于 Claude Code 用 /{slug} 调用)。
与 yourself-skill 的差异:用 life.md 代替 self.md;合并后的运行规则强调追思伦理与防冒充。
Windows:命令统一用
python;中文乱码可设PYTHONIOENCODING=utf-8。
按 prompts/intake.md 提问并完成 伦理用途确认。
展示选项(可与 yourself-skill 相同结构,说明意图为追忆 TA):
原材料怎么提供?越多可核验细节,生平越稳。
[A] 微信记录导出 → 解析时 --target 填逝者昵称
[B] QQ 导出
[C] 朋友圈/微博/日记/信件照片/笔记
[D] 照片目录(时间线、地点)
[E] 你直接口述或粘贴亲友回忆
可混用;也可跳过,仅靠 Step 1 手填(会较粗)。
解析命令示例(路径按需替换):
python ${CLAUDE_SKILL_DIR}/tools/wechat_parser.py \
--file {path} \
--target "{逝者昵称}" \
--output /tmp/wechat_memorial.txt \
--format auto
prompts/life_analyzer.md → 输出用于 prompts/life_builder.md 的生平稿。prompts/persona_analyzer.md → 按 prompts/persona_builder.md 生成 5 层 Persona(含 Layer 0 伦理)。向用户展示 生平摘要 与 Persona 摘要(各约 5–8 行),问需否调整。
推荐:临时目录写好 meta.json、life.md、persona.md 后:
python ${CLAUDE_SKILL_DIR}/tools/skill_writer.py \
--action create \
--slug {slug} \
--base-dir ./.claude/skills \
--meta /tmp/memorial_{slug}/meta.json \
--life /tmp/memorial_{slug}/life.md \
--persona /tmp/memorial_{slug}/persona.md
Fallback:Write 写入 .claude/skills/{slug}/ 下三文件,再 --action combine --slug {slug}。
meta.json 建议字段:
{
"name": "{display_name}",
"slug": "{slug}",
"kind": "memorial",
"created_at": "{ISO}",
"updated_at": "{ISO}",
"version": "v1",
"profile": {
"age": "",
"occupation": "",
"city": "",
"relation_to_builder": "",
"birth_death_or_era": ""
},
"tags": {
"personality": [],
"lifestyle": []
},
"impression": "",
"memory_sources": [],
"corrections_count": 0
}
完成提示:
✅ 逝者 Skill 已创建
位置:.claude/skills/{slug}/
调用:/{slug} — 完整追思人格
修正:直接说「不对」或 /correct-memorial {slug}
列表:/list-memorials
Read 现有 life.md、persona.md。prompts/merger.md merge。version_manager.py --action backup --slug {slug} --base-dir ./.claude/skillsEdit 更新文件后 skill_writer.py --action combine ...meta.json 的 version、updated_at。prompts/correction_handler.md 分类(生平 vs 口吻)。## Correction 记录,并改正文。skill_writer.py --action combine ...python ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action list --base-dir ./.claude/skills
python ${CLAUDE_SKILL_DIR}/tools/version_manager.py --action list --slug {slug} --base-dir ./.claude/skills
python ${CLAUDE_SKILL_DIR}/tools/version_manager.py --action rollback --slug {slug} --version {ver} --base-dir ./.claude/skills
删除:rm -rf .claude/skills/{slug}(PowerShell:Remove-Item -Recurse -Force)。
/create-memorial, "build a memorial skill for someone who passed"..claude/skills/{slug}/life.md, persona.md, SKILL.md, meta.json.Create
/create-memorial-逝者 or /create-memorialEvolution (append sources)
/update-memorial {slug}Corrections
/correct-memorial {slug}List / rollback / delete
/list-memorials/memorial-rollback {slug} {version}/delete-memorial {slug} (confirm first)| Task | Tool |
|---|---|
| Read files | Read |
| WeChat export | Bash → python ${CLAUDE_SKILL_DIR}/tools/wechat_parser.py --target "{their handle}" |
| QQ export | python .../qq_parser.py |
| Social / notes | python .../social_parser.py |
| Photos | python .../photo_analyzer.py |
| Create / combine | python .../skill_writer.py |
| Versions | python .../version_manager.py |
Output root: .claude/skills/{slug}/ — same as yourself-skill. Difference: life.md replaces self.md.
Follow prompts/intake.md + ethics / use-case confirmation.
Offer A–E (WeChat, QQ, social/diary, photos, paste/narrate). For WeChat, --target must be the deceased person’s label in that thread.
life_analyzer.md → life_builder.md → life.mdpersona_analyzer.md → persona_builder.md → persona.md (Layer 0 ethics)Show ~5–8 lines each for Life Memory and Persona; user confirms or edits.
Preferred:
python ${CLAUDE_SKILL_DIR}/tools/skill_writer.py \
--action create \
--slug {slug} \
--base-dir ./.claude/skills \
--meta /tmp/memorial_{slug}/meta.json \
--life /tmp/memorial_{slug}/life.md \
--persona /tmp/memorial_{slug}/persona.md
Fallback: Write the three files, then --action combine.
Read life.md / persona.md.prompts/merger.md.version_manager.py --action backup ...skill_writer.py --action combine ...meta.json.prompts/correction_handler.mdcombine againpython ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action list --base-dir ./.claude/skills
python ${CLAUDE_SKILL_DIR}/tools/version_manager.py --action list --slug {slug} --base-dir ./.claude/skills
python ${CLAUDE_SKILL_DIR}/tools/version_manager.py --action rollback --slug {slug} --version {ver} --base-dir ./.claude/skills
persona.md) overrides style when safety and ethics demand it.