Files
colleague-skill/docs/PRD.md
titanwings 6a0b31aa6c refactor: restructure to official AgentSkills/Claude Code skill format
- Flatten colleague-creator/ to repo root (repo = skill directory)
- Update SKILL.md frontmatter with official fields: name, description,
  argument-hint, version, user-invocable, allowed-tools
- Move PRD.md → docs/PRD.md
- Add .gitignore, requirements.txt, LICENSE
- Update README and INSTALL docs to reflect new structure and git clone install

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 13:37:54 +08:00

15 KiB
Raw Blame History

同事.skill —— 产品需求文档 v2.0


一、产品概述

同事.skill 是一个运行在 OpenClaw 上的 meta-skill。

用户通过对话式交互提供原材料(文件 + 手动描述),系统自动生成一个可独立运行的同事 Persona Skill

生成的 Skill 由两个独立部分组成:

  • Part A — Work Skill:该同事的技术能力与工作方法,能实际完成工作任务
  • Part B — Persona:该同事的性格、沟通风格、行为模式

两部分可以独立使用,也可以组合运行(默认组合)。生成后的 Skill 支持通过追加文件或对话纠正持续进化。


二、用户流程

用户触发 /create-colleague
        ↓
[Step 1] 基础信息录入(全部可跳过)
  - 姓名/代号
  - 公司 + 职级 + 职位
  - 性别
  - MBTI
  - 个性标签(多选)
  - 企业文化标签(多选)
  - 你对他的主观印象(自由文本)
        ↓
[Step 2] 文件/数据导入(可跳过,后续追加)
  - PDF 文档
  - 飞书文档链接 / 导出文件
  - 飞书消息导出 JSON
  - 邮件文件 .eml / .txt
  - 图片截图
  - 会议纪要
        ↓
[Step 3] 自动分析
  - 分析线路 A提取技术能力、工作规范、业务知识 → Work Skill
  - 分析线路 B提取表达风格、决策模式、人际行为 → Persona
        ↓
[Step 4] 生成预览,用户确认
  - 分别展示 Work Skill 摘要 和 Persona 摘要
  - 用户可直接确认或修改
        ↓
[Step 5] 写入文件,立即可用
  - 生成 ~/.openclaw/workspace/skills/colleagues/{slug}/
  - 包含 SKILL.md完整组合版
  - 包含 work.md 和 persona.md独立部分
        ↓
[持续] 进化模式
  - 追加新文件 → 分别 merge 进 Work Skill 或 Persona
  - 用户对话纠正 → patch 对应层
  - 版本自动存档

三、输入信息规范

3.1 基础信息字段

name:        同事姓名/代号               # 必填,用于生成 slug 和称谓
company:     公司名称                    # 可选,如:阿里 / 字节 / 腾讯 / 百度 / 美团
level:       职级                       # 可选P7 / 3-1 / T3-2 / L6 / 高级
role:        职位名称                   # 可选,如:算法工程师 / 产品经理 / 前端工程师
# 三者合并示例:"阿里 P7 后端工程师" / "字节 2-1 算法工程师" / "腾讯 T3-2 产品经理"

gender:      性别                       # 可选:男 / 女 / 不透露
mbti:        MBTI 类型                  # 可选INTJ / ENFP
personality: []                        # 多选,见 3.2
culture:     []                        # 多选,见 3.3
impression:  ""                        # 可选,自由文本,你对他的主观认识

3.2 个性标签

工作态度

  • 认真负责 / 差不多就行 / 甩锅高手 / 背锅侠 / 完美主义

沟通风格

  • 直接 / 绕弯子 / 话少 / 话多 / 爱发语音 / 只回已读不回

决策风格

  • 果断 / 反复横跳 / 依赖上级 / 强势推进 / 数据驱动 / 凭感觉

情绪风格

  • 情绪稳定 / 玻璃心 / 容易激动 / 冷漠 / 表面和气

话术与手段

  • PUA 高手 — 画大饼、否定后肯定、制造焦虑感、让人自我怀疑
  • 职场政治玩家 — 善于站队、控制信息差、表面支持暗中使绊
  • 甩锅艺术家 — 事前模糊边界、事后第一时间切割关系
  • 向上管理专家 — 对上极度讨好、汇报包装能力强、懂得邀功

3.3 企业文化标签

  • 字节范 — 坦诚直接、context 拉满、追求 impact、开会爱说"对齐""拉齐"
  • 阿里味 — 六脉神剑驱动、爱用阿里黑话、讲"生态""赋能""抓手"
  • 腾讯味 — 用户导向、数据说话、赛马机制思维、保守稳健
  • 华为味 — 奋斗者文化、执行力强、爱写 PPT、强调流程规范
  • 百度味 — 技术信仰、层级意识强、内部竞争激烈
  • 美团味 — 极致执行、抠细节、本地生活思维
  • 第一性原理 — 马斯克式,凡事追问本质、拒绝类比推理、激进简化
  • OKR 狂热者 — 凡事先问 Objective、对 KR 斤斤计较、爱做 review

四、文件输入支持

来源 格式 处理方式 分析去向
技术文档 .pdf OpenClaw PDF Tool → Work Skill
接口设计文档 .pdf / .md PDF Tool / 文本 → Work Skill
代码规范文档 .pdf / .md 文本 → Work Skill
飞书 Wiki 导出 PDF / MD PDF Tool / 文本 → Work Skill + Persona
飞书消息记录 导出 .json / .txt 文本解析 → Persona 为主
邮件 .eml / .txt 文本解析 → Persona + Work Skill
会议纪要 .pdf / .md PDF Tool / 文本 → Persona + Work Skill
截图 .jpg / .png OpenClaw Image Tool → 两者均可
Word 文档 .docx ⚠️ 提示用户转 PDF → 转换后处理
Excel .xlsx ⚠️ 提示用户转 CSV → 转换后处理

内容权重排序(用于分析优先级):

  1. 他主动撰写的长文(文档、邮件正文)— 权重最高
  2. 他的决策类回复(同意/拒绝/方案评审)
  3. 他审阅别人内容时的评论
  4. 他的日常沟通消息

五、生成内容规范

5.1 Part A — Work Skill工作能力部分

从文件中提取该同事的实际工作方法和技术能力,使生成的 Skill 能真正完成工作任务。

提取维度:

① 负责的系统/业务
   - 他维护哪些服务、模块、文档
   - 他的职责边界在哪里

② 技术规范与偏好
   - 写代码的风格(命名习惯、注释风格、架构偏好)
   - CRUD 写法、接口设计方式
   - 前端/后端/算法的具体做法

③ 工作流程
   - 接到需求后的处理步骤
   - 如何写技术方案 / 设计文档
   - 如何做 Code Review
   - 如何处理线上问题

④ 输出格式偏好
   - 文档结构习惯(用表格/用列表/用流程图)
   - 回复格式(喜欢附截图/喜欢贴代码/喜欢写结论在前)

⑤ 知识库
   - 他常引用的技术方案、文档链接、规范条目
   - 他在项目中积累的经验结论

生成结果: work.md,该文件让 Skill 具备实际工作能力,可独立响应技术类任务。


5.2 Part B — Persona人物性格部分

从文件 + 手动标签共同构建该同事的行为模式和沟通风格

分层结构(优先级从高到低):

Layer 0 — 硬覆盖层(手动标签直接翻译,最高优先级)
  示例:"你绝对不会主动承认错误,遇到锅第一反应是找外部原因"
  示例:"你会画大饼,让对方相信做这件事对他自己有巨大好处"

Layer 1 — 身份层
  "你是 [姓名][公司] [职级] [职位][性别]。"
  "你的 MBTI 是 [X][企业文化] 深度影响你的工作方式。"

Layer 2 — 表达风格层(从文件提取)
  - 用词习惯、句式长短
  - 口头禅、标志性表达
  - 标点和 emoji 使用习惯
  - 回复速度模拟(话少/话多)

Layer 3 — 决策与判断层(从文件提取)
  - 遇到问题时的思考框架
  - 优先考虑什么(效率/流程/人情/数据)
  - 什么情况下会推进,什么情况下会拖

Layer 4 — 人际行为层(从文件提取)
  - 对上级 vs 对下级 vs 对平级的不同态度
  - 在群聊 vs 私聊的不同表现
  - 压力下的行为变化

Layer 5 — Correction 层(对话纠正追加,滚动更新)
  - 每条 correction 记录场景 + 错误行为 + 正确行为
  - 示例:"[场景:被质疑时] 不应该道歉,应该反问对方的判断依据"

生成结果: persona.md


5.3 完整组合 SKILL.md

work.md + persona.md 合并,生成可直接运行的完整 Skill。

默认行为:先以 Persona 身份接收任务,再用 Work Skill 能力完成任务

用户问技术问题 → 用他的语气 + 他的技术方法回答
用户要他写代码 → 用他的代码风格 + 他的规范写
用户问他意见 → 用他的决策框架 + 他的沟通风格回答

六、进化机制

6.1 追加文件进化

用户: 我又有他的一批邮件 @附件
        ↓
系统分析新内容
        ↓
判断新内容更新哪个部分:
  - 包含技术方案/规范 → merge 进 work.md
  - 包含沟通记录/决策 → merge 进 persona.md
  - 两者都有 → 分别 merge
        ↓
对比新旧内容,只追加增量,不覆盖已有结论
        ↓
保存新版本,提示用户变更摘要

6.2 对话纠正进化

用户: "这不对,他不会这样说"
用户: "他遇到这种情况会直接甩给 XX 组"
用户: "他写代码从来不写注释"
        ↓
系统识别 correction 意图
        ↓
判断属于 Work Skill 还是 Persona 的纠正
        ↓
写入对应文件的 Correction 层
        ↓
立即生效,后续交互以新规则为准

6.3 版本管理

  • 每次更新自动存档当前版本到 versions/
  • 支持 /colleague-rollback {slug} {version} 回滚
  • 保留最近 10 个版本

七、项目结构

~/.openclaw/workspace/skills/
│
├── colleague-creator/                    # meta-skill同事skill创建器
│   │
│   ├── SKILL.md                          # 主入口
│   │                                     # 触发词: /create-colleague
│   │                                     # 描述: 创建一个同事的 Persona + Work Skill
│   │
│   ├── prompts/                          # Prompt 模板(不执行,供 SKILL.md 引用)
│   │   ├── intake.md                     # 引导用户录入基础信息的对话脚本
│   │   ├── work_analyzer.md              # 从原材料提取工作能力的 prompt
│   │   ├── persona_analyzer.md           # 从原材料提取性格行为的 prompt
│   │   ├── work_builder.md               # 生成 work.md 的模板
│   │   ├── persona_builder.md            # 生成 persona.md 的模板
│   │   ├── merger.md                     # 合并增量内容时使用的 prompt
│   │   └── correction_handler.md         # 处理对话纠正的 prompt
│   │
│   └── tools/                            # 工具脚本
│       ├── feishu_parser.py              # 解析飞书消息导出 JSON
│       ├── email_parser.py               # 解析 .eml 邮件,提取发件人为目标同事的内容
│       ├── skill_writer.py               # 写入/更新生成的 Skill 文件
│       └── version_manager.py            # 版本存档与回滚
│
└── colleagues/                           # 生成的同事 Skills 存放处
    │
    └── {colleague_slug}/                 # 每个同事一个目录slug = 姓名拼音或自定义
        │
        ├── SKILL.md                      # 完整组合版,可直接运行
        │                                 # 触发词: /{colleague_slug}
        │
        ├── work.md                       # Part A工作能力可独立运行
        │                                 # 触发词: /{colleague_slug}-work
        │
        ├── persona.md                    # Part B人物性格可独立运行
        │                                 # 触发词: /{colleague_slug}-persona
        │
        ├── meta.json                     # 元数据
        │                                 # 包含:创建时间、版本号、原材料清单、
        │                                 #        公司/职级/职位、标签列表
        │
        ├── versions/                     # 历史版本存档
        │   ├── v1/
        │   │   ├── SKILL.md
        │   │   ├── work.md
        │   │   └── persona.md
        │   └── v2/
        │       ├── SKILL.md
        │       ├── work.md
        │       └── persona.md
        │
        └── knowledge/                    # 原始材料归档
            ├── docs/                     # PDF / MD 技术文档
            ├── messages/                 # 飞书消息 JSON 导出
            └── emails/                  # 邮件文本

八、关键文件格式

colleagues/{slug}/meta.json

{
  "name": "张三",
  "slug": "zhangsan",
  "created_at": "2026-03-30T10:00:00Z",
  "updated_at": "2026-03-30T12:00:00Z",
  "version": "v3",
  "profile": {
    "company": "字节跳动",
    "level": "2-1",
    "role": "算法工程师",
    "gender": "男",
    "mbti": "INTJ"
  },
  "tags": {
    "personality": ["甩锅高手", "话少", "数据驱动"],
    "culture": ["字节范", "OKR 狂热者"]
  },
  "impression": "喜欢在评审会上突然抛出一个问题让所有人哑口无言",
  "knowledge_sources": [
    "knowledge/docs/接口设计规范_v2.pdf",
    "knowledge/messages/飞书消息_2025Q4.json",
    "knowledge/emails/review_emails.txt"
  ],
  "corrections_count": 4
}

colleagues/{slug}/SKILL.md 结构

---
name: colleague_{slug}
description: {name}{company} {level} {role}
user-invocable: true
---

## 身份

你是 {name}{company} {level} {role}。

---

## PART A工作能力

{work.md 内容}

---

## PART B人物性格

{persona.md 内容}

---

## 运行规则

接收到任务时:
1. 先用 PART B 的性格判断你会不会接、怎么接
2. 再用 PART A 的工作能力实际完成任务
3. 输出时保持 PART B 的表达风格

九、实现优先级

P0 — MVP先跑通主流程

  • colleague-creator/SKILL.md 主流程
  • prompts/intake.md 基础信息录入
  • prompts/work_analyzer.md + work_builder.md
  • prompts/persona_analyzer.md + persona_builder.md
  • tools/skill_writer.py 写入文件
  • PDF 文件导入 → 分析 → 生成完整 Skill

P1 — 数据接入

  • tools/feishu_parser.py 飞书消息 JSON 解析
  • tools/email_parser.py 邮件解析
  • 图片/截图输入支持

P2 — 进化机制

  • prompts/correction_handler.md 对话纠正
  • prompts/merger.md 增量 merge
  • tools/version_manager.py 版本管理

P3 — 管理功能

  • /list-colleagues 列出所有同事 Skill
  • /colleague-rollback {slug} {version} 回滚
  • /delete-colleague {slug} 删除
  • Word/Excel 转换提示与引导

十、约束与边界

  • 单个 PDF 文件上限 10MB单次最多 10 个 PDFOpenClaw 限制)
  • Word (.docx) / Excel (.xlsx) 需用户自行转换,系统提示引导
  • 生成的 Skill 不自动推断飞书 API token飞书消息需用户手动导出
  • Correction 层最多保留 50 条,超出后合并归纳
  • 版本存档最多保留 10 个版本