From 638973f0acbb35842630e6387bb5a90956714a18 Mon Sep 17 00:00:00 2001 From: titanwings Date: Mon, 30 Mar 2026 16:34:04 +0800 Subject: [PATCH] refactor: simplify intake to 3 questions, unify naming to create-colleague MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Merge 7 intake questions into 3: name, basic info, personality profile - Each question includes a one-shot example - Change "姓名" to "花名/代号", slug uses - separator - Unify all references from colleague-creator to create-colleague Co-Authored-By: Claude Opus 4.6 --- INSTALL.md | 6 +- SKILL.md | 20 ++--- docs/PRD.md | 4 +- prompts/intake.md | 148 +++++++++++-------------------- tools/dingtalk_auto_collector.py | 2 +- tools/feishu_auto_collector.py | 2 +- 6 files changed, 67 insertions(+), 115 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index fdc9751..9605731 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -30,7 +30,7 @@ git clone https://github.com/titanwings/colleague-skill ~/.claude/skills/create- ```bash # 克隆到 OpenClaw 的 skills 目录 -git clone https://github.com/titanwings/colleague-skill ~/.openclaw/workspace/skills/colleague-creator +git clone https://github.com/titanwings/colleague-skill ~/.openclaw/workspace/skills/create-colleague ``` 重启 OpenClaw session,说 `/create-colleague` 启动。 @@ -95,7 +95,7 @@ python3 tools/feishu_browser.py \ ## 快速验证 ```bash -cd ~/.claude/skills/colleague-creator # 或你的项目 .claude/skills/colleague-creator +cd ~/.claude/skills/create-colleague # 或你的项目 .claude/skills/create-colleague # 测试飞书解析器 python3 tools/feishu_parser.py --help @@ -114,7 +114,7 @@ python3 tools/skill_writer.py --action list --base-dir ./colleagues 本项目整个 repo 就是一个 skill 目录(AgentSkills 标准格式): ``` -colleague-skill/ ← clone 到 .claude/skills/colleague-creator/ +colleague-skill/ ← clone 到 .claude/skills/create-colleague/ ├── SKILL.md # skill 入口(官方 frontmatter) ├── prompts/ # 分析和生成的 Prompt 模板 ├── tools/ # Python 工具脚本 diff --git a/SKILL.md b/SKILL.md index 2cd4620..458162e 100644 --- a/SKILL.md +++ b/SKILL.md @@ -53,19 +53,17 @@ allowed-tools: Read, Write, Edit, Bash ## 主流程:创建新同事 Skill -### Step 1:基础信息录入 +### Step 1:基础信息录入(3 个问题) -参考 `${CLAUDE_SKILL_DIR}/prompts/intake.md` 的问题序列,依次询问用户: +参考 `${CLAUDE_SKILL_DIR}/prompts/intake.md` 的问题序列,只问 3 个问题: -1. 同事姓名/代号(必填) -2. 公司 + 职级 + 职位(一句话说完,如"字节 2-1 算法工程师") -3. 性别(可跳过) -4. MBTI(可跳过) -5. 个性标签(展示选项,多选,可跳过) -6. 企业文化标签(展示选项,多选,可跳过) -7. 主观印象(自由文本,可跳过) +1. **花名/代号**(必填) +2. **基本信息**(一句话:公司、职级、职位、性别,想到什么写什么) + - 示例:`字节 2-1 后端工程师 男` +3. **性格画像**(一句话:MBTI、星座、个性标签、企业文化、印象) + - 示例:`INTJ 摩羯座 甩锅高手 字节范 CR很严格但从来不解释原因` -所有字段均可跳过。收集完后汇总确认再进入下一步。 +除姓名外均可跳过。收集完后汇总确认再进入下一步。 ### Step 2:原材料导入 @@ -329,7 +327,7 @@ mkdir -p colleagues/{slug}/knowledge/emails SKILL.md 结构: ```markdown --- -name: colleague_{slug} +name: colleague-{slug} description: {name},{company} {level} {role} user-invocable: true --- diff --git a/docs/PRD.md b/docs/PRD.md index e89c09c..2cab2d0 100644 --- a/docs/PRD.md +++ b/docs/PRD.md @@ -272,7 +272,7 @@ Layer 5 — Correction 层(对话纠正追加,滚动更新) ``` ~/.openclaw/workspace/skills/ │ -├── colleague-creator/ # meta-skill:同事skill创建器 +├── create-colleague/ # meta-skill:同事skill创建器 │ │ │ ├── SKILL.md # 主入口 │ │ # 触发词: /create-colleague @@ -400,7 +400,7 @@ user-invocable: true ## 九、实现优先级 ### P0 — MVP(先跑通主流程) -- [ ] `colleague-creator/SKILL.md` 主流程 +- [ ] `create-colleague/SKILL.md` 主流程 - [ ] `prompts/intake.md` 基础信息录入 - [ ] `prompts/work_analyzer.md` + `work_builder.md` - [ ] `prompts/persona_analyzer.md` + `persona_builder.md` diff --git a/prompts/intake.md b/prompts/intake.md index f0c5ee2..9326c37 100644 --- a/prompts/intake.md +++ b/prompts/intake.md @@ -3,35 +3,43 @@ ## 开场白 ``` -我来帮你创建这位同事的 Skill。 - -先收集一些基本信息——所有问题都可以跳过,直接说"跳过"即可。 +我来帮你创建这位同事的 Skill。只需要回答 3 个问题,每个都可以跳过。 ``` --- ## 问题序列 -### Q1:姓名/代号 +### Q1:花名/代号 ``` -这位同事怎么称呼?(姓名、昵称或代号都行) +这位同事怎么称呼?(花名、昵称或代号都行,多个字用 - 连接) + +例:qing-yun ``` - 接受任意字符串 -- 中文姓名自动生成拼音 slug("张三" → `zhangsan`,"小李" → `xiaoli`) -- 英文/拼音直接小写下划线处理 +- 生成的 slug 统一用 `-` 连接(不用下划线) +- 中文自动转拼音再用 `-` 连接("青云" → `qing-yun`,"小李" → `xiao-li`) +- 英文直接小写 `-` 连接("Big Mike" → `big-mike`) --- -### Q2:公司 + 职级 + 职位 +### Q2:基本信息 + +把公司、职级、职位、性别放在一个问题里,让用户一句话说完: ``` -他在哪里工作?职级和职位是什么? -(一句话说完就行,比如"字节 2-1 算法工程师"或"阿里 P7 后端") +用一句话描述他的基本信息——公司、职级、职位、性别,想到什么写什么,跳过也行。 + +例:字节 2-1 后端工程师 男 ``` -解析三个字段:**公司**、**职级**、**职位**。 +从用户的回答中解析以下字段(缺失的留空): +- **公司** +- **职级** +- **职位** +- **性别** #### 职级对照参考表 @@ -59,104 +67,50 @@ > 注:字节 2-1 是工程师职称,3-1 起为高级工程师; > 2-1 约等于阿里 P6,是独立完成任务的主力工程师级别。 -#### 常见职位参考 - -**技术类**:后端工程师 / 前端工程师 / 全栈工程师 / 算法工程师 / 机器学习工程师 / -数据工程师 / 基础架构工程师 / 客户端工程师 / 测试工程师 / 安全工程师 - -**非技术类**:产品经理 / 技术产品经理 / 数据分析师 / 项目经理 / UX 设计师 / -运营 / 增长 / 商务 / HR - --- -### Q3:性别 +### Q3:性格画像 + +把 MBTI、星座、个性标签、企业文化标签、主观印象全部合在一起,让用户自由描述: ``` -性别?(影响称谓,可跳过) +用一句话描述他的性格——MBTI、星座、个性特点、企业文化烙印、你对他的印象, +想到什么写什么,跳过也行。 + +例:INTJ 摩羯座 甩锅高手 字节范 CR很严格但从来不解释原因 ``` -接受:男 / 女 / 不透露 / 跳过 +从用户的回答中识别并提取以下字段(缺失的留空): +- **MBTI**:16 种标准类型 +- **星座**:12 星座 +- **个性标签**:从下方标签库匹配,也接受自定义描述 +- **企业文化标签**:从下方标签库匹配 +- **主观印象**:无法归类的自由描述,直接保留原文 ---- +#### 个性标签库 -### Q4:MBTI +**工作态度**:认真负责 / 差不多就行 / 甩锅高手 / 背锅侠 / 完美主义 / 拖延症 -``` -MBTI 是什么?(可跳过,不知道也没关系) -``` +**沟通风格**:直接 / 绕弯子 / 话少 / 话多 / 爱发语音 / 只读不回 / 已读乱回 / 秒回强迫症 -- 接受 16 种标准类型(INTJ / ENFP 等) -- 用户说"不知道"时,可选引导: - ``` - 大概是什么类型的人? - (A)分析型、独立、不爱聊天 → 偏 TJ - (B)热情、想法多、善于沟通 → 偏 FP - (C)执行力强、喜欢计划 → 偏 SJ - (D)直觉驱动、喜欢创新 → 偏 NT - ``` +**决策风格**:果断 / 反复横跳 / 依赖上级 / 强势推进 / 数据驱动 / 全凭感觉 ---- +**情绪风格**:情绪稳定 / 玻璃心 / 容易激动 / 冷漠疏离 / 表面和气 / 阴阳怪气 -### Q5:个性标签 +**话术与手段**:PUA 高手 / 职场政治玩家 / 甩锅艺术家 / 向上管理专家 / 爱讲大道理 / 情绪勒索 -``` -个性标签(多选,也可自己补充,全部可跳过): +#### 企业文化标签库 -工作态度: - [A] 认真负责 [B] 差不多就行 [C] 甩锅高手 - [D] 背锅侠 [E] 完美主义 [F] 拖延症 - -沟通风格: - [G] 直接 [H] 绕弯子 [I] 话少 - [J] 话多 [K] 爱发语音 [L] 只读不回 - [M] 已读乱回 [N] 秒回强迫症 - -决策风格: - [O] 果断 [P] 反复横跳 [Q] 依赖上级 - [R] 强势推进 [S] 数据驱动 [T] 全凭感觉 - -情绪风格: - [U] 情绪稳定 [V] 玻璃心 [W] 容易激动 - [X] 冷漠疏离 [Y] 表面和气 [Z] 阴阳怪气 - -话术与手段: - [1] PUA 高手 [2] 职场政治玩家 [3] 甩锅艺术家 - [4] 向上管理专家 [5] 爱讲大道理 [6] 情绪勒索 -``` - ---- - -### Q6:企业文化标签 - -``` -有没有特别明显的企业文化烙印?(多选,可跳过) - - [A] 字节范 — 坦诚直接、追求 impact、开口必讲 context、爱说"对齐" - [B] 阿里味 — 六脉神剑、爱用"赋能""抓手""生态""闭环" - [C] 腾讯味 — 数据说话、赛马机制、克制保守、注重用户体验 - [D] 华为味 — 奋斗者文化、流程规范、爱做 PPT 汇报、强调执行力 - [E] 百度味 — 技术至上、层级意识强、内部竞争激烈 - [F] 美团味 — 极致执行、抠细节、本地化思维 - [G] 第一性原理 — 马斯克式,追问本质、拒绝类比、激进简化 - [H] OKR 狂热者 — 凡事先问 Objective、对 KR 斤斤计较 - [I] 大厂流水线 — 规范完善但创造力低、依赖 SOP、怕背锅 - [J] 创业公司派 — 资源有限、全栈思维、结果导向、容忍混乱 -``` - ---- - -### Q7:主观印象 - -``` -最后,用你自己的话描述一下对他的印象?(可跳过) -比如: - "他总在关键时刻消失" - "他 Code Review 很严格但从来不解释原因" - "他会当面同意然后背后不执行" - "他对自己领域外的问题一概不管" -``` - -接受自由文本,直接进入 persona 的 impression 字段,不做修改。 +- **字节范** — 坦诚直接、追求 impact、开口必讲 context、爱说"对齐" +- **阿里味** — 六脉神剑、爱用"赋能""抓手""生态""闭环" +- **腾讯味** — 数据说话、赛马机制、克制保守、注重用户体验 +- **华为味** — 奋斗者文化、流程规范、爱做 PPT 汇报、强调执行力 +- **百度味** — 技术至上、层级意识强、内部竞争激烈 +- **美团味** — 极致执行、抠细节、本地化思维 +- **第一性原理** — 马斯克式,追问本质、拒绝类比、激进简化 +- **OKR 狂热者** — 凡事先问 Objective、对 KR 斤斤计较 +- **大厂流水线** — 规范完善但创造力低、依赖 SOP、怕背锅 +- **创业公司派** — 资源有限、全栈思维、结果导向、容忍混乱 --- @@ -167,10 +121,10 @@ MBTI 是什么?(可跳过,不知道也没关系) ``` 信息汇总: - 👤 {姓名} + 👤 {花名} 🏢 {公司} {职级} {职位}(若未填则省略) ⚧ {性别}(若未填则省略) - 🧠 MBTI:{MBTI}(若未填则省略) + 🧠 {MBTI} {星座}(若未填则省略) 🏷️ 个性:{标签列表}(若未填则省略) 🏢 企业文化:{标签列表}(若未填则省略) 💬 印象:{印象文本}(若未填则省略) diff --git a/tools/dingtalk_auto_collector.py b/tools/dingtalk_auto_collector.py index 17126f2..e2b38b6 100644 --- a/tools/dingtalk_auto_collector.py +++ b/tools/dingtalk_auto_collector.py @@ -7,7 +7,7 @@ 2. 搜索他创建/编辑的文档和知识库内容 3. 拉取多维表格(如有) 4. 消息记录(API 不支持历史拉取,自动切换浏览器方案) - 5. 输出统一格式,直接进 colleague-creator 分析流程 + 5. 输出统一格式,直接进 create-colleague 分析流程 钉钉限制说明: 钉钉 Open API 不提供历史消息拉取接口, diff --git a/tools/feishu_auto_collector.py b/tools/feishu_auto_collector.py index 42ea837..6fe9adc 100644 --- a/tools/feishu_auto_collector.py +++ b/tools/feishu_auto_collector.py @@ -8,7 +8,7 @@ 3. 搜索他创建/编辑的文档和 Wiki 4. 拉取文档内容 5. 拉取多维表格(如有) - 6. 输出统一格式,直接进 colleague-creator 分析流程 + 6. 输出统一格式,直接进 create-colleague 分析流程 前置: python3 feishu_auto_collector.py --setup # 配置 App ID / Secret(一次性)