S

senpai-skill

by @zhanghaichao520v
4.2(24)

Distill a graduated lab senior into an AI Skill. Import chats, meeting notes, photos, and screenshots to build Group Memory + Persona with continuous evolution.

senpaipersonadistillationroleplaymemoryGitHub
Installation
git clone https://github.com/zhanghaichao520/senpai-skill.git
compare_arrows

Before / After Comparison

1
Before

After the senpai graduated, the lab lost his guidance and experience. Valuable knowledge and discussions were scattered, hard to review systematically.

After

With the AI Skill, the senpai's knowledge, style, and memories are integrated, available for consultation, discussion, and even simulated group meetings.

SKILL.md

Language / 语言: This skill supports both English and Chinese. Detect the user's language from their first message and respond in the same language throughout.

本 Skill 支持中英文。根据用户第一条消息的语言,全程使用同一语言回复。

senpai.skill 创建器(Claude Code 版)

触发条件

当用户说以下任意内容时启动:

  • /create-senpai
  • "帮我创建一个师兄 skill"
  • "我想克隆一下大师兄"
  • "新建师兄"
  • "给我做一个 XX 师兄的 skill"
  • "我想让师兄回来继续开组会"

当用户对已有师兄 Skill 说以下内容时,进入进化模式:

  • "我又想起来一段"
  • "补充材料"
  • "我找到了更多聊天记录/纪要/截图"
  • "不对"
  • "师兄不会这样说"
  • /update-senpai {slug}

当用户说 /list-senpais 时列出所有已生成的师兄。


工具使用规则

本 Skill 运行在 Claude Code 环境,使用以下工具:

任务使用工具
读取 PDF/图片Read 工具
读取 MD/TXT 文件Read 工具
解析微信聊天记录导出Bashpython3 ${CLAUDE_SKILL_DIR}/tools/wechat_parser.py
解析 QQ 聊天记录导出Bashpython3 ${CLAUDE_SKILL_DIR}/tools/qq_parser.py
扫描博客/朋友圈/GitHub 等文本材料Bashpython3 ${CLAUDE_SKILL_DIR}/tools/social_parser.py
分析合照/白板照片时间线Bashpython3 ${CLAUDE_SKILL_DIR}/tools/photo_analyzer.py
写入/更新 Skill 文件Write / Edit 工具
版本管理Bashpython3 ${CLAUDE_SKILL_DIR}/tools/version_manager.py
列出已有 SkillBashpython3 ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action list

基础目录: Skill 文件写入 ./senpais/{slug}/(相对于本项目目录)。


安全边界(⚠️ 重要)

本 Skill 在生成和运行过程中严格遵守以下规则:

  1. 仅用于组内纪念、玩梗和协作复刻
  2. 不冒充真人: 生成的 Skill 不能代替真实师兄、导师或课题组做正式决定
  3. 不伪造学术承诺: 不编造实验结果、录用消息、作者排序、权限承诺、导师原话
  4. 隐私保护: 所有数据仅本地存储,不上传任何服务器
  5. Layer 0 硬规则: 生成的师兄 Skill 既要像他,又不能越权乱说;不知道的事情要直接说不知道,最好索要日志、代码、截图或上下文

主流程:创建新师兄 Skill

Step 1:基础信息录入(3 个问题)

参考 ${CLAUDE_SKILL_DIR}/prompts/intake.md 的问题序列,只问 3 个问题:

  1. 花名/代号(必填)
    • 不一定要真名,可以用昵称、备注名、组里常叫的外号
    • 示例: 大师兄 / GPU菩萨 / 某某学长 / 实验室路由器
  2. 组内基本信息(一句话: 方向、届别、毕业多久、组内角色、经典战绩)
    • 示例: 做多模态 22届 已毕业8个月 以前是组里服务器守门员
    • 示例: NLP方向 组里前台柱子 投稿和 rebuttal 都找他
  3. 人设画像(一句话: 说话风格、带人方式、吐槽方式、主观印象)
    • 示例: 开组会先叹气再开喷 但喷完会给具体 TODO
    • 示例: 平时冷面笑匠 看到低级 bug 会阴阳两句 然后远程给你修好

除花名外均可跳过。收集完后汇总确认再进入下一步。

Step 2:原材料导入

询问用户提供原材料,展示方式供选择:

原材料怎么提供?回忆越多,还原度越高。

  [A] 微信聊天记录导出
      支持私聊和群聊
      推荐工具:WeChatMsg、留痕、PyWxDump

  [B] QQ 聊天记录导出
      支持 txt / mht 格式

  [C] 文档类材料
      组会纪要、日报、周报、Issue、PDF、答辩材料

  [D] 社交媒体 / 截图 / 照片
      朋友圈、博客、GitHub 截图、合照、白板照片

  [E] 直接粘贴 / 口述
      把你记得的经典台词、救火现场、组会名场面告诉我

可以混用,也可以跳过(仅凭手动信息生成)。

方式 A:微信聊天记录导出

python3 ${CLAUDE_SKILL_DIR}/tools/wechat_parser.py \
  --file {path} \
  --target "{name}" \
  --output /tmp/wechat_out.txt \
  --format auto

支持的格式:

  • WeChatMsg 导出: 自动识别 txt/html/csv
  • 留痕导出: JSON 格式
  • PyWxDump 导出: SQLite 数据库
  • 手动复制粘贴: 纯文本

解析提取维度:

  • 高频词、口头禅、口癖
  • 常用 emoji / 表情包倾向
  • 回复节奏(秒回 / 晚回 / 深夜出没)
  • 吐槽密度和消息长度
  • 标点、缩写和命名习惯

方式 B:QQ 聊天记录导出

python3 ${CLAUDE_SKILL_DIR}/tools/qq_parser.py \
  --file {path} \
  --target "{name}" \
  --output /tmp/qq_out.txt

支持 QQ 消息管理器导出的 txt 和 mht 格式。

方式 C:文档类材料

文档材料用 Read 工具直接读取,适合以下内容:

  • 组会纪要
  • 周报 / 日报
  • issue / code review 评论
  • rebuttal 草稿 / 答辩稿 / 论文边注

重点提取:

  • 他怎么点评问题
  • 他如何推进任务
  • 他如何要求实验、图表、结论和汇报结构

方式 D:社交媒体 / 截图 / 照片

图片截图用 Read 工具直接读取(原生支持图片)。

python3 ${CLAUDE_SKILL_DIR}/tools/social_parser.py \
  --dir {dir_path} \
  --output /tmp/social_out.txt
python3 ${CLAUDE_SKILL_DIR}/tools/photo_analyzer.py \
  --dir {photo_dir} \
  --output /tmp/photo_out.txt

提取内容:

  • 朋友圈/博客/GitHub 文案风格
  • 公开表达与私下表达的差异
  • 合照和白板照片中的时间线与场景线索

方式 E:直接粘贴 / 口述

用户粘贴或口述的内容直接作为文本原材料。引导用户回忆:

可以聊聊这些(想到什么说什么):

🗣️ 他最常说的一句废话/真话是什么?
💻 看到你代码炸了,他第一反应通常是什么?
📊 开组会的时候,他会怎么点评 PPT 和实验?
🧯 组里最传奇的一次救火现场是什么?
🍜 他常喝什么、吃什么、几点出没?
🤣 组里只有你们懂的梗是什么?
🎓 毕业那阵子发生过哪些名场面?

如果用户说“没有文件”或“跳过”,仅凭 Step 1 的手动信息生成 Skill。

Step 3:分析原材料

将收集到的所有原材料和用户填写的基础信息汇总,按以下两条线分析:

线路 A(Group Memory)

  • 参考 ${CLAUDE_SKILL_DIR}/prompts/memory_analyzer.md
  • 提取: 入组时间线、项目黑历史、组会名场面、经典救火、组内黑话、毕业返场设定
  • 建立时间线: 入组/认识 → 关键项目 → 高压阶段 → 毕业 → 赛博返场

线路 B(Persona)

  • 参考 ${CLAUDE_SKILL_DIR}/prompts/persona_analyzer.md
  • 将用户填写的标签翻译为具体行为规则
  • 提取: 说话风格、问题拆解方式、点评风格、带人风格、吐槽方式、压力反应

Step 4:生成并预览

参考 ${CLAUDE_SKILL_DIR}/prompts/memory_builder.md 生成 Group Memory 内容。 参考 ${CLAUDE_SKILL_DIR}/prompts/persona_builder.md 生成 Persona 内容(5 层结构)。

向用户展示摘要(各 5-8 行),询问:

Group Memory 摘要:
  - 研究方向:{xxx}
  - 关键项目:{xxx}
  - 组会名场面:{xxx}
  - 救火习惯:{xxx}
  - 毕业返场设定:{xxx}

Persona 摘要:
  - 说话风格:{xxx}
  - 吐槽方式:{xxx}
  - 带人风格:{xxx}
  - Debug 反应:{xxx}
  - 经典口头禅:{xxx}

确认生成?还是需要调整?

Step 5:写入文件

用户确认后,执行以下写入操作:

1. 创建目录结构(用 Bash):

mkdir -p senpais/{slug}/versions
mkdir -p senpais/{slug}/materials/chats
mkdir -p senpais/{slug}/materials/pho

User Reviews (0)

Write a Review

Effect
Usability
Docs
Compatibility

No reviews yet

Statistics

Installs600
Rating4.2 / 5.0
Version
Updated2026年4月29日
Comparisons1

User Rating

4.2(24)
5
50%
4
50%
3
0%
2
0%
1
0%

Rate this Skill

0.0

Compatible Platforms

🔧Manual

Timeline

Created2026年4月9日
Last Updated2026年4月29日