Skill: yifeiwang1981/create-colleague (version 1.0.0)

--- name: create-colleague description: "Distill a colleague into an AI Skill. Auto-collect Feishu/DingTalk data, generate Work Skill + Persona, with continuous evolution. | 把同事蒸馏成 AI Skill，自动采集飞书/钉钉数据，生成 Work + Persona，支持持续进化。" argument-hint: "[colleague-name-or-slug]" version: "1.0.0" user-invocable: true allowed-tools: Read, Write, Edit, Bash --- > **Language / 语言**: This skill supports both English and Chinese. Detect the user's language from their first message and respond in the same language throughout. Below are instructions in both languages — follow the one matching the user's language. > > 本 Skill 支持中英文。根据用户第一条消息的语言，全程使用同一语言回复。下方提供了两种语言的指令，按用户语言选择对应版本执行。 # 同事.skill 创建器（Claude Code 版） ## 触发条件 当用户说以下任意内容时启动： - `/create-colleague` - "帮我创建一个同事 skill" - "我想蒸馏一个同事" - "新建同事" - "给我做一个 XX 的 skill" 当用户对已有同事 Skill 说以下内容时，进入进化模式： - "我有新文件" / "追加" - "这不对" / "他不会这样" / "他应该是" - `/update-colleague {slug}` 当用户说 `/list-colleagues` 时列出所有已生成的同事。 --- ## 工具使用规则 本 Skill 运行在 Claude Code 环境，使用以下工具： | 任务 | 使用工具 | |------|---------| | 读取 PDF 文档 | `Read` 工具（原生支持 PDF） | | 读取图片截图 | `Read` 工具（原生支持图片） | | 读取 MD/TXT 文件 | `Read` 工具 | | 解析飞书消息 JSON 导出 | `Bash` → `python3 ${CLAUDE_SKILL_DIR}/tools/feishu_parser.py` | | 飞书全自动采集（推荐） | `Bash` → `python3 ${CLAUDE_SKILL_DIR}/tools/feishu_auto_collector.py` | | 飞书文档（浏览器登录态） | `Bash` → `python3 ${CLAUDE_SKILL_DIR}/tools/feishu_browser.py` | | 飞书文档（MCP App Token） | `Bash` → `python3 ${CLAUDE_SKILL_DIR}/tools/feishu_mcp_client.py` | | 钉钉全自动采集 | `Bash` → `python3 ${CLAUDE_SKILL_DIR}/tools/dingtalk_auto_collector.py` | | 解析邮件 .eml/.mbox | `Bash` → `python3 ${CLAUDE_SKILL_DIR}/tools/email_parser.py` | | 写入/更新 Skill 文件 | `Write` / `Edit` 工具 | | 版本管理 | `Bash` → `python3 ${CLAUDE_SKILL_DIR}/tools/version_manager.py` | | 列出已有 Skill | `Bash` → `python3 ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action list` | **基础目录**：Skill 文件写入 `./colleagues/{slug}/`（相对于本项目目录）。 如需改为全局路径，用 `--base-dir ~/.openclaw/workspace/skills/colleagues`。 --- ## 主流程：创建新同事 Skill ### Step 1：基础信息录入（3 个问题） 参考 `${CLAUDE_SKILL_DIR}/prompts/intake.md` 的问题序列，只问 3 个问题： 1. **花名/代号**（必填） 2. **基本信息**（一句话：公司、职级、职位、性别，想到什么写什么） - 示例：`字节 2-1 后端工程师 男` 3. **性格画像**（一句话：MBTI、星座、个性标签、企业文化、印象） - 示例：`INTJ 摩羯座 甩锅高手 字节范 CR很严格但从来不解释原因` 除姓名外均可跳过。收集完后汇总确认再进入下一步。 ### Step 2：原材料导入 询问用户提供原材料，展示四种方式供选择： ``` 原材料怎么提供？ [A] 飞书自动采集（推荐） 输入姓名，自动拉取消息记录 + 文档 + 多维表格 [B] 钉钉自动采集 输入姓名，自动拉取文档 + 多维表格 消息记录通过浏览器采集（钉钉 API 不支持历史消息） [C] 飞书链接 直接给文档/Wiki 链接（浏览器登录态 或 MCP） [D] 上传文件 PDF / 图片 / 导出 JSON / 邮件 .eml [E] 直接粘贴内容 把文字复制进来 可以混用，也可以跳过（仅凭手动信息生成）。 ``` --- #### 方式 A：飞书自动采集（推荐） 首次使用需配置： ```bash python3 ${CLAUDE_SKILL_DIR}/tools/feishu_auto_collector.py --setup ``` **群聊采集**（使用 tenant_access_token，需 bot 在群内）： ```bash python3 ${CLAUDE_SKILL_DIR}/tools/feishu_auto_collector.py \ --name "{name}" \ --output-dir ./knowledge/{slug} \ --msg-limit 1000 \ --doc-limit 20 ``` **私聊采集**（需要 user_access_token + 私聊 chat_id）： 私聊消息只能通过用户身份（user_access_token）获取，应用身份无权访问私聊。 **前置条件**： 用户需要提供以下信息： 1. **飞书应用凭证**：`app_id` 和 `app_secret`（在飞书开放平台创建自建应用获取） 2. **用户权限**：应用需开通以下用户权限（scope）： - `im:message` — 以用户身份读取/发送消息 - `im:chat` — 以用户身份读取会话列表 3. **OAuth 授权码（code）**：用户在浏览器中完成 OAuth 授权后，从回调 URL 中获取 如果用户缺少以上任何信息，引导他们完成配置。不要假设用户已经配好了。 **获取 user_access_token 的完整流程**： 当用户提供了 app_id、app_secret，并确认已开通用户权限后： 1. 帮用户生成 OAuth 授权链接： ``` https://open.feishu.cn/open-apis/authen/v1/authorize?app_id={APP_ID}&redirect_uri=http://www.example.com&scope=im:message%20im:chat ``` > ⚠️ 注意：`redirect_uri` 需要在飞书应用的「安全设置 → 重定向 URL」中添加 `http://www.example.com` 2. 用户在浏览器打开链接，登录并授权 3. 页面会跳转到 `http://www.example.com?code=xxx`，用户复制 code 给你 4. 用 code 换取 token： ```bash python3 ${CLAUDE_SKILL_DIR}/tools/feishu_auto_collector.py --exchange-code {CODE} ``` 或者你自己写 Python 脚本调飞书 API 换取： ```python # 1. 获取 app_access_token POST https://open.feishu.cn/open-apis/auth/v3/app_access_token/internal Body: {"app_id": "xxx", "app_secret": "xxx"} # 2. 用 code 换 user_access_token POST https://open.feishu.cn/open-apis/authen/v1/oidc/access_token Header: Authorization: Bearer {app_access_token} Body: {"grant_type": "authorization_code", "code": "xxx"} ``` **获取私聊 chat_id**： 用户通常不知道 chat_id。当用户有了 user_access_token 但没有 chat_id 时，你应该**自己写 Python 脚本**来获取： - **方法**：用 user_access_token 向对方的 open_id 发一条消息，返回值中会包含 chat_id ```python POST https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=open_id Header: Authorization: Bearer {user_access_token} Body: {"receive_id": "{对方open_id}", "msg_type": "text", "content": "{\"text\":\"你好\"}"} # 返回值中的 chat_id 就是私聊会话 ID ``` - **注意**：`GET /im/v1/chats` 不会返回私聊会话，这是飞书 API 的限制，不是权限问题，不要尝试用这个接口找私聊 - 如果用户不知道对方的 open_id，可以用 tenant_access_token 调通讯录 API 搜索： ```python GET https://open.feishu.cn/open-apis/contact/v3/scopes # 返回应用可见范围内所有用户的 open_id ``` **执行采集**： 拿到 user_access_token 和 chat_id 后： ```bash python3 ${CLAUDE_SKILL_DIR}/tools/feishu_auto_collector.py \ --open-id {对方open_id} \ --p2p-chat-id {chat_id} \ --user-token {user_access_token} \ --name "{name}" \ --output-dir ./knowledge/{slug} \ --msg-limit 1000 ``` **灵活性原则**：以上 API 调用不一定要用 collector 脚本，如果脚本跑不通或者场景不匹配，你可以直接写 Python 脚本调飞书 API 完成任务。核心 API 参考： - 获取 token：`POST /auth/v3/app_access_token/internal`、`POST /authen/v1/oidc/access_token` - 发消息（获取 chat_id）：`POST /im/v1/messages?receive_id_type=open_id` - 拉消息：`GET /im/v1/messages?container_id_type=chat&container_id={chat_id}` - 查通讯录：`GET /contact/v3/scopes`、`GET /contact/v3/users/{user_id}` 自动采集内容： - 群聊：所有与他共同群聊中他发出的消息（过滤系统消息、表情包） - 私聊：与他的私聊完整对话（含双方消息，用于理解对话语境） - 他创建/编辑的飞书文档和 Wiki - 相关多维表格（如有权限） 采集完成后用 `Read` 读取输出目录下的文件： - `knowledge/{slug}/messages.txt` → 消息记录（群聊 + 私聊） - `knowledge/{slug}/docs.txt` → 文档内容 - `knowledge/{slug}/collection_summary.json` → 采集摘要 如果采集失败，根据报错自行判断原因并尝试修复，常见问题： - 群聊采集：bot 未添加到群聊 - 私聊采集：user_access_token 过期（有效期 2 小时，可用 refresh_token 刷新） - 权限不足：引导用户在飞书开放平台开通对应权限并重新授权 - 或改用方式 B/C --- #### 方式 B：钉钉自动采集 首次使用需配置： ```bash python3 ${CLAUDE_SKILL_DIR}/tools/dingtalk_auto_collector.py --setup ``` 然后输入姓名，一键采集： ```bash python3 ${CLAUDE_SKILL_DIR}/tools/dingtalk_auto_collector.py \ --name "{name}" \ --output-dir ./knowledge/{slug} \ --msg-limit 500 \ --doc-limit 20 \ --show-browser # 首次使用加此参数，完成钉钉登录 ``` 采集内容： - 他创建/编辑的钉钉文档和知识库 - 多维表格 - 消息记录（⚠️ 钉钉 API 不支持历史消息拉取，自动切换浏览器采集） 采集完成后 `Read` 读取： - `knowledge/{slug}/docs.txt` - `knowledge/{slug}/bitables.txt` - `knowledge/{slug}/messages.txt` 如消息采集失败，提示用户截图聊天记录后上传。 --- #### 方式 D：上传文件 - **PDF / 图片**：`Read` 工具直接读取 - **飞书消息 JSON 导出**： ```bash python3 ${CLAUDE_SKILL_DIR}/tools/feishu_parser.py --file {path} --target "{name}" --output /tmp/feishu_out.txt ``` 然后 `Read /tmp/feishu_out.txt` - **邮件文件 .eml / .mbox**： ```bash python3 ${CLAUDE_SKILL_DIR}/tools/email_parser.py --file {path} --target "{name}" --output /tmp/email_out.txt ``` 然后 `Read /tmp/email_out.txt` - **Markdown / TXT**：`Read` 工具直接读取 --- #### 方式 C：飞书链接 用户提供飞书文档/Wiki 链接时，询问读取方式： ``` 检测到飞书链接，选择读取方式： [1] 浏览器方案（推荐） 复用你本机 Chrome 的登录状态 ✅ 内部文档、需要权限的文档都能读 ✅ 无需配置 token ⚠️ 需要本机安装 Chrome + playwright [2] MCP 方案 通过飞书 App Token 调用官方 API ✅ 稳定，不依赖浏览器 ✅ 可以读消息记录（需要群聊 ID） ⚠️ 需要先配置 App ID / App Secret ⚠️ 内部文档需要管理员给应用授权 选择 [1/2]： ``` **选 1（浏览器方案）**： ```bash python3 ${CLAUDE_SKILL_DIR}/tools/feishu_browser.py \ --url "{feishu_url}" \ --target "{name}" \ --output /tmp/feishu_doc_out.txt ``` 首次使用若未登录，会弹出浏览器窗口要求登录（一次性）。 **选 2（MCP 方案）**： 首次使用需初始化配置： ```bash python3 ${CLAUDE_SKILL_DIR}/tools/feishu_mcp_client.py --setup ``` 之后直接读取： ```bash python3 ${CLAUDE_SKILL_DIR}/tools/feishu_mcp_client.py \ --url "{feishu_url}" \ --output /tmp/feishu_doc_out.txt ``` 读取消息记录（需要群聊 ID，格式 `oc_xxx`）： ```bash python3 ${CLAUDE_SKILL_DIR}/tools/feishu_mcp_client.py \ --chat-id "oc_xxx" \ --target "{name}" \ --limit 500 \ --output /tmp/feishu_msg_out.txt ``` 两种方式输出后均用 `Read` 读取结果文件，进入分析流程。 --- #### 方式 E：直接粘贴 用户粘贴的内容直接作为文本原材料，无需调用任何工具。 --- 如果用户说"没有文件"或"跳过"，仅凭 Step 1 的手动信息生成 Skill。 ### Step 3：分析原材料 将收集到的所有原材料和用户填写的基础信息汇总，按以下两条线分析： **线路 A（Work Skill）**： - 参考 `${CLAUDE_SKILL_DIR}/prompts/work_analyzer.md` 中的提取维度 - 提取：负责系统、技术规范、工作流程、输出偏好、经验知识 - 根据职位类型重点提取（后端/前端/算法/产品/设计不同侧重） **线路 B（Persona）**： - 参考 `${CLAUDE_SKILL_DIR}/prompts/persona_analyzer.md` 中的提取维度 - 将用户填写的标签翻译为具体行为规则（参见标签翻译表） - 从原材料中提取：表达风格、决策模式、人际行为 ### Step 4：生成并预览 参考 `${CLAUDE_SKILL_DIR}/prompts/work_builder.md` 生成 Work Skill 内容。 参考 `${CLAUDE_SKILL_DIR}/prompts/persona_builder.md` 生成 Persona 内容（5 层结构）。 向用户展示摘要（各 5-8 行），询问： ``` Work Skill 摘要： - 负责：{xxx} - 技术栈：{xxx} - CR 重点：{xxx} ... Persona 摘要： - 核心性格：{xxx} - 表达风格：{xxx} - 决策模式：{xxx} ... 确认生成？还是需要调整？ ``` ### Step 5：写入文件 用户确认后，执行以下写入操作： **1. 创建目录结构**（用 Bash）： ```bash mkdir -p colleagues/{slug}/versions mkdir -p colleagues/{slug}/knowledge/docs mkdir -p colleagues/{slug}/knowledge/messages mkdir -p colleagues/{slug}/knowledge/emails ``` **2. 写入 work.md**（用 Write 工具）： 路径：`colleagues/{slug}/work.md` **3. 写入 persona.md**（用 Write 工具）： 路径：`colleagues/{slug}/persona.md` **4. 写入 meta.json**（用 Write 工具）： 路径：`colleagues/{slug}/meta.json` 内容： ```json { "name": "{name}", "slug": "{slug}", "created_at": "{ISO时间}", "updated_at": "{ISO时间}", "version": "v1", "profile": { "company": "{company}", "level": "{level}", "role": "{role}", "gender": "{gender}", "mbti": "{mbti}" }, "tags": { "personality": [...], "culture": [...] }, "impression": "{impression}", "knowledge_sources": [...已导入文件列表], "corrections_count": 0 } ``` **5. 生成完整 SKILL.md**（用 Write 工具）： 路径：`colleagues/{slug}/SKILL.md` SKILL.md 结构： ```markdown --- name: colleague-{slug} description: {name}，{company} {level} {role} user-invocable: true --- # {name} {company} {level} {role}{如有性别和MBTI则附上} --- ## PART A：工作能力 {work.md 全部内容} --- ## PART B：人物性格 {persona.md 全部内容} --- ## 运行规则 1. 先由 PART B 判断：用什么态度接这个任务？ 2. 再由 PART A 执行：用你的技术能力完成任务 3. 输出时始终保持 PART B 的表达风格 4. PART B Layer 0 的规则优先级最高，任何情况下不得违背 ``` 告知用户： ``` ✅ 同事 Skill 已创建！ 文件位置：colleagues/{slug}/ 触发词：/{slug}（完整版） /{slug}-work（仅工作能力） /{slug}-persona（仅人物性格） 如果用起来感觉哪里不对，直接说"他不会这样"，我来更新。 ``` --- ## 进化模式：追加文件 用户提供新文件或文本时： 1. 按 Step 2 的方式读取新内容 2. 用 `Read` 读取现有 `colleagues/{slug}/work.md` 和 `persona.md` 3. 参考 `${CLAUDE_SKILL_DIR}/prompts/merger.md` 分析增量内容 4. 存档当前版本（用 Bash）： ```bash python3 ${CLAUDE_SKILL_DIR}/tools/version_manager.py --action backup --slug {slug} --base-dir ./colleagues ``` 5. 用 `Edit` 工具追加增量内容到对应文件 6. 重新生成 `SKILL.md`（合并最新 work.md + persona.md） 7. 更新 `meta.json` 的 version 和 updated_at --- ## 进化模式：对话纠正 用户表达"不对"/"应该是"时： 1. 参考 `${CLAUDE_SKILL_DIR}/prompts/correction_handler.md` 识别纠正内容 2. 判断属于 Work（技术/流程）还是 Persona（性格/沟通） 3. 生成 correction 记录 4. 用 `Edit` 工具追加到对应文件的 `## Correction 记录` 节 5. 重新生成 `SKILL.md` --- ## 管理命令 `/list-colleagues`： ```bash python3 ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action list --base-dir ./colleagues ``` `/colleague-rollback {slug} {version}`： ```bash python3 ${CLAUDE_SKILL_DIR}/tools/version_manager.py --action rollback --slug {slug} --version {version} --base-dir ./colleagues ``` `/delete-colleague {slug}`： 确认后执行： ```bash rm -rf colleagues/{slug} ``` --- --- # English Version # Colleague.skill Creator (Claude Code Edition) ## Trigger Conditions Activate when the user says any of the following: - `/create-colleague` - "Help me create a colleague skill" - "I want to distill a colleague" - "New colleague" - "Make a skill for XX" Enter evolution mode when the user says: - "I have new files" / "append" - "That's wrong" / "He wouldn't do that" / "He should be" - `/update-colleague {slug}` List all generated colleagues when the user says `/list-colleagues`. --- ## Tool Usage Rules This Skill runs in the Claude Code environment with the following tools: | Task | Tool | |------|------| | Read PDF documents | `Read` tool (native PDF support) | | Read image screenshots | `Read` tool (native image support) | | Read MD/TXT files | `Read` tool | | Parse Feishu message JSON export | `Bash` → `python3 ${CLAUDE_SKILL_DIR}/tools/feishu_parser.py` | | Feishu auto-collect (recommended) | `Bash` → `python3 ${CLAUDE_SKILL_DIR}/tools/feishu_auto_collector.py` | | Feishu docs (browser session) | `Bash` → `python3 ${CLAUDE_SKILL_DIR}/tools/feishu_browser.py` | | Feishu docs (MCP App Token) | `Bash` → `python3 ${CLAUDE_SKILL_DIR}/tools/feishu_mcp_client.py` | | DingTalk auto-collect | `Bash` → `python3 ${CLAUDE_SKILL_DIR}/tools/dingtalk_auto_collector.py` | | Parse email .eml/.mbox | `Bash` → `python3 ${CLAUDE_SKILL_DIR}/tools/email_parser.py` | | Write/update Skill files | `Write` / `Edit` tool | | Version management | `Bash` → `python3 ${CLAUDE_SKILL_DIR}/tools/version_manager.py` | | List existing Skills | `Bash` → `python3 ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action list` | **Base directory**: Skill files are written to `./colleagues/{slug}/` (relative to the project directory). For a global path, use `--base-dir ~/.openclaw/workspace/skills/colleagues`. --- ## Main Flow: Create a New Colleague Skill ### Step 1: Basic Info Collection (3 questions) Refer to `${CLAUDE_SKILL_DIR}/prompts/intake.md` for the question sequence. Only ask 3 questions: 1. **Alias / Codename** (required) 2. **Basic info** (one sentence: company, level, role, gender — say whatever comes to mind) - Example: `ByteDance L2-1 backend engineer male` 3. **Personality profile** (one sentence: MBTI, zodiac, traits, corporate culture, impressions) - Example: `INTJ Capricorn blame-shifter ByteDance-style strict in CR but never explains why` Everything except the alias can be skipped. Summarize and confirm before moving to the next step. ### Step 2: Source Material Import Ask the user how they'd like to provide materials: ``` How would you like to provide source materials? [A] Feishu Auto-Collect (recommended) Enter name, auto-pull messages + docs + spreadsheets [B] DingTalk Auto-Collect Enter name, auto-pull docs + spreadsheets Messages collected via browser (DingTalk API doesn't support message history) [C] Feishu Link Provide doc/Wiki link (browser session or MCP) [D] Upload Files PDF / images / exported JSON / email .eml [E] Paste Text Copy-paste text directly Can mix and match, or skip entirely (generate from manual info only). ``` --- #### Option A: Feishu Auto-Collect (Recommended) First-time setup: ```bash python3 ${CLAUDE_SKILL_DIR}/tools/feishu_auto_collector.py --setup ``` **Group chat collection** (uses tenant_access_token, bot must be in the group): ```bash python3 ${CLAUDE_SKILL_DIR}/tools/feishu_auto_collector.py \ --name "{name}" \ --output-dir ./knowledge/{slug} \ --msg-limit 1000 \ --doc-limit 20 ``` **Private chat (P2P) collection** (requires user_access_token + p2p chat_id): Private messages can only be accessed via user identity (user_access_token). App identity cannot access private chats. **Prerequisites**: The user needs to provide: 1. **Feishu app credentials**: `app_id` and `app_secret` (from Feishu Open Platform) 2. **User scopes**: The app must have these user scopes enabled: - `im:message` — read/send messages as user - `im:chat` — read chat list as user 3. **OAuth authorization code**: obtained after user completes OAuth in browser If the user is missing any of these, guide them through setup. Don't assume anything is pre-configured. **Getting user_access_token**: Once the user provides app_id, app_secret, and confirms scopes are enabled: 1. Generate the OAuth URL for them: ``` https://open.feishu.cn/open-apis/authen/v1/authorize?app_id={APP_ID}&redirect_uri=http://www.example.com&scope=im:message%20im:chat ``` > ⚠️ The redirect_uri must be added in the app's "Security Settings → Redirect URLs" 2. User opens URL, logs in, authorizes 3. Page redirects to `http://www.example.com?code=xxx`, user copies the code 4. Exchange code for token: ```bash python3 ${CLAUDE_SKILL_DIR}/tools/feishu_auto_collector.py --exchange-code {CODE} ``` Or write a Python script to call the Feishu API directly: ```python # 1. Get app_access_token POST https://open.feishu.cn/open-apis/auth/v3/app_access_token/internal Body: {"app_id": "xxx", "app_secret": "xxx"} # 2. Exchange code for user_access_token POST https://open.feishu.cn/open-apis/authen/v1/oidc/access_token Header: Authorization: Bearer {app_access_token} Body: {"grant_type": "authorization_code", "code": "xxx"} ``` **Getting the p2p chat_id**: Users typically don't know their chat_id. When the user has a user_access_token but no chat_id, **write a Python script yourself** to obtain it: - **Method**: Send a message to the other user's open_id — the response includes the chat_id ```python POST https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=open_id Header: Authorization: Bearer {user_access_token} Body: {"receive_id": "{target_open_id}", "msg_type": "text", "content": "{\"text\":\"hello\"}"} # The chat_id in the response is the p2p chat ID ``` - **Important**: `GET /im/v1/chats` does NOT return p2p chats — this is a Feishu API limitation, not a permission issue. Do not try to use it for finding private chats. - If the user doesn't know the target's open_id, use tenant_access_token to search contacts: ```python GET https://open.feishu.cn/open-apis/contact/v3/scopes # Returns open_ids of all users visible to the app ``` **Running collection**: Once you have user_access_token and chat_id: ```bash python3 ${CLAUDE_SKILL_DIR}/tools/feishu_auto_collector.py \ --open-id {target_open_id} \ --p2p-chat-id {chat_id} \ --user-token {user_access_token} \ --name "{name}" \ --output-dir ./knowledge/{slug} \ --msg-limit 1000 ``` **Flexibility principle**: The above API calls don't have to go through the collector script. If the script doesn't work or doesn't fit the scenario, write Python scripts directly to call Feishu APIs. Key API reference: - Get token: `POST /auth/v3/app_access_token/internal`, `POST /authen/v1/oidc/access_token` - Send message (get chat_id): `POST /im/v1/messages?receive_id_type=open_id` - Fetch messages: `GET /im/v1/messages?container_id_type=chat&container_id={chat_id}` - Search contacts: `GET /contact/v3/scopes`, `GET /contact/v3/users/{user_id}` Auto-collected content: - Group chats: messages sent by them (system messages and stickers filtered) - Private chats: full conversation with both parties (for context understanding) - Feishu docs and Wikis they created/edited - Related spreadsheets (if accessible) After collection, `Read` the output files: - `knowledge/{slug}/messages.txt` → messages (group + private) - `knowledge/{slug}/docs.txt` → document content - `knowledge/{slug}/collection_summary.json` → collection summary If collection fails, diagnose the error and attempt to fix it. Common issues: - Group chat: bot not added to the group - Private chat: user_access_token expired (2-hour TTL, refresh with refresh_token) - Insufficient permissions: guide user to enable scopes and re-authorize - Or switch to Option B/C --- #### Option B: DingTalk Auto-Collect First-time setup: ```bash python3 ${CLAUDE_SKILL_DIR}/tools/dingtalk_auto_collector.py --setup ``` Then enter the name: ```bash python3 ${CLAUDE_SKILL_DIR}/tools/dingtalk_auto_collector.py \ --name "{name}" \ --output-dir ./knowledge/{slug} \ --msg-limit 500 \ --doc-limit 20 \ --show-browser # add this flag on first use to complete DingTalk login ``` Collected content: - DingTalk docs and knowledge bases they created/edited - Spreadsheets - Messages (⚠️ DingTalk API doesn't support message history — auto-switches to browser scraping) After collection, `Read`: - `knowledge/{slug}/docs.txt` - `knowledge/{slug}/bitables.txt` - `knowledge/{slug}/messages.txt` If message collection fails, prompt user to upload chat screenshots. --- #### Option D: Upload Files - **PDF / Images**: `Read` tool directly - **Feishu message JSON export**: ```bash python3 ${CLAUDE_SKILL_DIR}/tools/feishu_parser.py --file {path} --target "{name}" --output /tmp/feishu_out.txt ``` Then `Read /tmp/feishu_out.txt` - **Email files .eml / .mbox**: ```bash python3 ${CLAUDE_SKILL_DIR}/tools/email_parser.py --file {path} --target "{name}" --output /tmp/email_out.txt ``` Then `Read /tmp/email_out.txt` - **Markdown / TXT**: `Read` tool directly --- #### Option C: Feishu Link When the user provides a Feishu doc/Wiki link, ask which method to use: ``` Feishu link detected. Choose read method: [1] Browser Method (recommended) Reuses your local Chrome login session ✅ Works with internal docs requiring permissions ✅ No token configuration needed ⚠️ Requires Chrome + playwright installed locally [2] MCP Method Uses Feishu App Token via official API ✅ Stable, no browser dependency ✅ Can read messages (needs chat ID) ⚠️ Requires App ID / App Secret setup ⚠️ Internal docs need admin authorization for the app Choose [1/2]: ``` **Option 1 (Browser)**: ```bash python3 ${CLAUDE_SKILL_DIR}/tools/feishu_browser.py \ --url "{feishu_url}" \ --target "{name}" \ --output /tmp/feishu_doc_out.txt ``` First use will open a browser window for login (one-time). **Option 2 (MCP)**: First-time setup: ```bash python3 ${CLAUDE_SKILL_DIR}/tools/feishu_mcp_client.py --setup ``` Then read directly: ```bash python3 ${CLAUDE_SKILL_DIR}/tools/feishu_mcp_client.py \ --url "{feishu_url}" \ --output /tmp/feishu_doc_out.txt ``` Read messages (needs chat ID, format `oc_xxx`): ```bash python3 ${CLAUDE_SKILL_DIR}/tools/feishu_mcp_client.py \ --chat-id "oc_xxx" \ --target "{name}" \ --limit 500 \ --output /tmp/feishu_msg_out.txt ``` Both methods output to files, then use `Read` to load results into analysis. --- #### Option E: Paste Text User-pasted content is used directly as text material. No tools needed. --- If the user says "no files" or "skip", generate Skill from Step 1 manual info only. ### Step 3: Analyze Source Material Combine all collected materials and user-provided info, analyze along two tracks: **Track A (Work Skill)**: - Refer to `${CLAUDE_SKILL_DIR}/prompts/work_analyzer.md` for extraction dimensions - Extract: responsible systems, technical standards, workflow, output preferences, experience - Emphasize different aspects by role type (backend/frontend/ML/product/design) **Track B (Persona)**: - Refer to `${CLAUDE_SKILL_DIR}/prompts/persona_analyzer.md` for extraction dimensions - Translate user-provided tags into concrete behavior rules (see tag translation table) - Extract from materials: communication style, decision patterns, interpersonal behavior ### Step 4: Generate and Preview Use `${CLAUDE_SKILL_DIR}/prompts/work_builder.md` to generate Work Skill content. Use `${CLAUDE_SKILL_DIR}/prompts/persona_builder.md` to generate Persona content (5-layer structure). Show the user a summary (5-8 lines each), ask: ``` Work Skill Summary: - Responsible for: {xxx} - Tech stack: {xxx} - CR focus: {xxx} ... Persona Summary: - Core personality: {xxx} - Communication style: {xxx} - Decision pattern: {xxx} ... Confirm generation? Or need adjustments? ``` ### Step 5: Write Files After user confirmation, execute the following: **1. Create directory structure** (Bash): ```bash mkdir -p colleagues/{slug}/versions mkdir -p colleagues/{slug}/knowledge/docs mkdir -p colleagues/{slug}/knowledge/messages mkdir -p colleagues/{slug}/knowledge/emails ``` **2. Write work.md** (Write tool): Path: `colleagues/{slug}/work.md` **3. Write persona.md** (Write tool): Path: `colleagues/{slug}/persona.md` **4. Write meta.json** (Write tool): Path: `colleagues/{slug}/meta.json` Content: ```json { "name": "{name}", "slug": "{slug}", "created_at": "{ISO_timestamp}", "updated_at": "{ISO_timestamp}", "version": "v1", "profile": { "company": "{company}", "level": "{level}", "role": "{role}", "gender": "{gender}", "mbti": "{mbti}" }, "tags": { "personality": [...], "culture": [...] }, "impression": "{impression}", "knowledge_sources": [...imported file list], "corrections_count": 0 } ``` **5. Generate full SKILL.md** (Write tool): Path: `colleagues/{slug}/SKILL.md` SKILL.md structure: ```markdown --- name: colleague-{slug} description: {name}, {company} {level} {role} user-invocable: true --- # {name} {company} {level} {role}{append gender and MBTI if available} --- ## PART A: Work Capabilities {full work.md content} --- ## PART B: Persona {full persona.md content} --- ## Execution Rules 1. PART B decides first: what attitude to take on this task? 2. PART A executes: use your technical skills to complete the task 3. Always maintain PART B's communication style in output 4. PART B Layer 0 rules have the highest priority and must never be violated ``` Inform user: ``` ✅ Colleague Skill created! Location: colleagues/{slug}/ Commands: /{slug} (full version) /{slug}-work (work capabilities only) /{slug}-persona (persona only) If something feels off, just say "he wouldn't do that" and I'll update it. ``` --- ## Evolution Mode: Append Files When user provides new files or text: 1. Read new content using Step 2 methods 2. `Read` existing `colleagues/{slug}/work.md` and `persona.md` 3. Refer to `${CLAUDE_SKILL_DIR}/prompts/merger.md` for incremental analysis 4. Archive current version (Bash): ```bash python3 ${CLAUDE_SKILL_DIR}/tools/version_manager.py --action backup --slug {slug} --base-dir ./colleagues ``` 5. Use `Edit` tool to append incremental content to relevant files 6. Regenerate `SKILL.md` (merge latest work.md + persona.md) 7. Update `meta.json` version and updated_at --- ## Evolution Mode: Conversation Correction When user expresses "that's wrong" / "he should be": 1. Refer to `${CLAUDE_SKILL_DIR}/prompts/correction_handler.md` to identify correction content 2. Determine if it belongs to Work (technical/workflow) or Persona (personality/communication) 3. Generate correction record 4. Use `Edit` tool to append to the `## Correction Log` section of the relevant file 5. Regenerate `SKILL.md` --- ## Management Commands `/list-colleagues`: ```bash python3 ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action list --base-dir ./colleagues ``` `/colleague-rollback {slug} {version}`: ```bash python3 ${CLAUDE_SKILL_DIR}/tools/version_manager.py --action rollback --slug {slug} --version {version} --base-dir ./colleagues ``` `/delete-colleague {slug}`: After confirmation: ```bash rm -rf colleagues/{slug} ```

path: CONTRIBUTING.md
content: # Contributing to colleague.skill / 贡献指南

> English first, 中文在下方。

Thank you for considering a contribution! This project turns colleagues (and anyone else) into AI skills, and it's only as good as its community.

感谢你愿意贡献。这个项目的目标是把同事（以及任何人）蒸馏成 AI skill，社区越活跃它就越好。

---

## Ways to contribute / 贡献方式

- **Report bugs** — open a [bug report](.github/ISSUE_TEMPLATE/bug_report.md)
- **Suggest features** — open a [feature request](.github/ISSUE_TEMPLATE/feature_request.md)
- **Translate docs** — see `docs/lang/` for existing languages
- **Add a data source collector** — e.g. `tools/slack_auto_collector.py` is a reference implementation
- **Submit a community skill** — submit to the [gallery](https://titanwings.github.io/colleague-skill-site/)
- **Improve prompts** — files under `prompts/` shape skill behavior; small wording tweaks are welcome

---

## Development setup / 开发环境

```bash
git clone https://github.com/titanwings/colleague-skill.git
cd colleague-skill
pip3 install -r requirements.txt
```

Python 3.9+ is required. Optional extras (`openpyxl`, auto-collector credentials) are covered in [INSTALL.md](INSTALL.md).

---

## Branch & PR workflow / 分支和 PR 流程

1. Fork the repo and create a branch from `main`:
   - `feat/<short-name>` for new features
   - `fix/<short-name>` for bug fixes
   - `docs/<short-name>` for docs only
   - `chore/<short-name>` for tooling / infra
2. Make your changes. Keep PRs focused — one concern per PR.
3. Run tests and compile checks locally:
   ```bash
   python -m compileall tools/
   python -m unittest discover -s tests -p 'test_*.py' -v
   ```
4. Open a PR against `main`. Fill out the PR template.
5. CI must pass. A maintainer will review — please be patient, and feel free to ping on Discord if it's been a week.

---

## Commit message style / 提交信息规范

Follow [Conventional Commits](https://www.conventionalcommits.org/):

```
feat: add Notion auto-collector
fix: handle 429 rate limit in feishu_parser
docs: translate INSTALL to Korean
chore: bump requests to 2.32
test: cover skill_writer rollback edge cases
```

Keep the subject under 72 characters. Use the body for the *why*, not the *what*.

---

## Code style / 代码风格

- Match surrounding code — we don't enforce a formatter yet, but consistency matters
- Python: prefer standard library where possible; add to `requirements.txt` only if necessary
- Tools under `tools/` should be runnable as standalone CLIs (`if __name__ == "__main__":`)
- Prompts under `prompts/` are plain Markdown — keep them concise and task-specific

---

## Tests / 测试

New functionality should come with tests under `tests/test_*.py`. Use `unittest` (stdlib) — no extra test framework.

When adding a new data source collector, at minimum cover:
- Auth modes (token / user+password / etc.)
- Rate-limit / retry behavior (mock HTTP)
- Output format consistency with existing collectors

Don't hit live APIs in CI. Mock with `unittest.mock` or the `responses` library.

---

## Security / 安全

- **Never commit secrets, tokens, or personal data.** If you accidentally do, rotate the credential immediately and let a maintainer know.
- Config files that hold credentials should be written to the user's home (e.g. `~/.colleague-skill/`) with permission `0600`.
- If you find a security issue, **do not open a public issue.** Email the maintainer or DM on Discord.

---

## Docs / 文档

- User-facing behavior changes → update `README.md`, `SKILL.md`, and `INSTALL.md`
- If you add a language translation of the README, also update the language nav strip in every other `docs/lang/README_*.md`
- Prefer English for code comments; docs can be bilingual

---

## Community / 社区

- [💬 Discord](https://discord.gg/2bbP2a7f) — main chat
- [GitHub Discussions](https://github.com/titanwings/colleague-skill/discussions) — long-form Q&A and design threads
- [Skill gallery](https://titanwings.github.io/colleague-skill-site/) — browse and submit skills

Be kind. Assume good intent. Disagree on the idea, not the person.

---

## License / 许可

By contributing, you agree that your contributions will be licensed under the [MIT License](LICENSE).


path: INSTALL.md
content: # 同事.skill 安装说明

---

## 选择你的平台

### A. Claude Code（推荐）

本项目遵循官方 [AgentSkills](https://agentskills.io) 标准，整个 repo 就是 skill 目录。克隆到 Claude skills 目录即可：

```bash
# ⚠️ 必须在 git 仓库根目录执行！
cd $(git rev-parse --show-toplevel)

# 方式 1：安装到当前项目
mkdir -p .claude/skills
git clone https://github.com/titanwings/colleague-skill .claude/skills/create-colleague

# 方式 2：安装到全局（所有项目都能用）
git clone https://github.com/titanwings/colleague-skill ~/.claude/skills/create-colleague
```

然后在 Claude Code 中说 `/create-colleague` 即可启动。

生成的同事 Skill 默认写入 `./colleagues/` 目录。

---

### B. OpenClaw

```bash
# 克隆到 OpenClaw 的 skills 目录
git clone https://github.com/titanwings/colleague-skill ~/.openclaw/workspace/skills/create-colleague
```

重启 OpenClaw session，说 `/create-colleague` 启动。

---

## 依赖安装

```bash
# 基础（Python 3.9+）
pip3 install pypinyin        # 中文姓名转拼音 slug（可选但推荐）

# 飞书浏览器方案（内部文档/需要登录权限的文档）
pip3 install playwright
playwright install chromium  # 仅需安装 chromium，不需要完整 Chrome

# 飞书 MCP 方案（公司授权文档，通过 App Token 读取）
npm install -g feishu-mcp    # 需要 Node.js 16+

# 其他格式支持（可选）
pip3 install python-docx     # Word .docx 转文本
pip3 install openpyxl        # Excel .xlsx 转 CSV
```

### 平台方案选择指南

| 场景 | 推荐方案 |
|------|---------|
| 飞书用户，有 App 权限 | `feishu_auto_collector.py` |
| 飞书内部文档（无 App 权限）| `feishu_browser.py` |
| 飞书手动指定链接 | `feishu_mcp_client.py` |
| 钉钉用户 | `dingtalk_auto_collector.py` |
| 钉钉消息采集失败 | 手动截图 → 上传图片 |
| Slack 用户 | `slack_auto_collector.py` |

**飞书自动采集初始化**：
```bash
python3 tools/feishu_auto_collector.py --setup
# 输入飞书开放平台的 App ID 和 App Secret
```

**钉钉自动采集初始化**：
```bash
python3 tools/dingtalk_auto_collector.py --setup
# 输入钉钉开放平台的 AppKey 和 AppSecret
# 首次运行加 --show-browser 参数以完成钉钉登录
```

**飞书 MCP 初始化**（手动指定链接时使用）：
```bash
python3 tools/feishu_mcp_client.py --setup
```

**飞书浏览器方案**（首次使用会弹窗登录，之后自动复用登录态）：
```bash
python3 tools/feishu_browser.py \
  --url "https://xxx.feishu.cn/wiki/xxx" \
  --show-browser    # 首次使用加这个参数，登录后不再需要
```

**Slack 自动采集初始化**：
```bash
pip3 install slack-sdk
python3 tools/slack_auto_collector.py --setup
# 按提示输入 Bot User OAuth Token（xoxb-...）
```

> Slack 详细配置见下方「[Slack 自动采集配置](#slack-自动采集配置)」章节

---

## Slack 自动采集配置

### 前置条件

- Python 3.9+
- Slack Workspace（需要**管理员权限**安装 App，或联系管理员帮你安装）
- `pip3 install slack-sdk`

> **免费版 Workspace 限制**：只能访问最近 **90 天**的消息记录。付费版（Pro / Business+ / Enterprise）无此限制。

---

### 步骤 1：创建 Slack App

1. 前往 [https://api.slack.com/apps](https://api.slack.com/apps) → **Create New App**
2. 选择 **From scratch**
3. 填写 App Name（如 `colleague-skill-bot`），选择目标 Workspace → **Create App**

---

### 步骤 2：配置 Bot Token Scopes

进入 **OAuth & Permissions** → **Bot Token Scopes** → **Add an OAuth Scope**，添加以下权限：

| Scope | 用途 |
|-------|------|
| `users:read` | 搜索用户列表（必需） |
| `channels:read` | 列出 public channels（必需） |
| `channels:history` | 读取 public channel 历史消息（必需） |
| `groups:read` | 列出 private channels（必需） |
| `groups:history` | 读取 private channel 历史消息（必需） |
| `mpim:read` | 列出群 DM（可选） |
| `mpim:history` | 读取群 DM 历史消息（可选） |
| `im:read` | 列出 DM（可选，需用户授权） |
| `im:history` | 读取 DM 历史消息（可选，需用户授权） |

---

### 步骤 3：安装 App 到 Workspace

1. 仍在 **OAuth & Permissions** 页面，点击 **Install to Workspace**
2. Workspace 管理员审批后，复制 **Bot User OAuth Token**（格式：`xoxb-...`）

---

### 步骤 4：将 Bot 加入目标频道

Bot 只能读取**它已加入**的频道。在 Slack 中，进入每个目标频道，输入：

```
/invite @your-bot-name
```

> 提示：如果你不知道目标同事在哪些频道，可以先不邀请，运行采集时脚本会告知 Bot 加入了哪些频道，再补充邀请。

---

### 步骤 5：运行配置向导

```bash
python3 tools/slack_auto_collector.py --setup
```

按提示粘贴 Bot Token，脚本会自动验证并保存到 `~/.colleague-skill/slack_config.json`。

配置成功后你会看到：
```
验证 Token ... OK
  Workspace：Your Company，Bot：colleague-skill-bot

✅ 配置已保存到 /Users/you/.colleague-skill/slack_config.json
```

---

### 步骤 6：采集同事数据

```bash
# 基本用法（输入同事的中文名或英文用户名）
python3 tools/slack_auto_collector.py --name "张三"
python3 tools/slack_auto_collector.py --name "john.doe"

# 指定输出目录
python3 tools/slack_auto_collector.py --name "张三" --output-dir ./knowledge/zhangsan

# 限制采集量（大 Workspace 建议先小量测试）
python3 tools/slack_auto_collector.py --name "张三" --msg-limit 500 --channel-limit 20
```

输出文件：
```
knowledge/张三/
├── messages.txt            # 按权重分类的消息记录
└── collection_summary.json # 采集摘要（用户信息、频道列表、时间）
```

---

### 常见报错与解决

| 报错 | 原因 | 解决 |
|------|------|------|
| `missing_scope: channels:history` | Bot Token 缺少权限 | 回到 api.slack.com → OAuth & Permissions 添加对应 Scope，重新安装 App |
| `invalid_auth` | Token 无效或已吊销 | 重新运行 `--setup` 配置新 Token |
| `not_in_channel` | Bot 未加入该频道 | 在 Slack 里 `/invite @bot` 邀请 Bot |
| 未找到用户 | 姓名拼写不对 | 改用英文用户名（如 `john.doe`）或 Slack display name |
| 消息只有 90 天 | 免费版限制 | 升级 Workspace 或手动补充截图 |
| 速率限制（429）| 请求太频繁 | 脚本会自动等待重试，无需手动处理 |

## 快速验证

```bash
cd ~/.claude/skills/create-colleague   # 或你的项目 .claude/skills/create-colleague

# 测试飞书解析器
python3 tools/feishu_parser.py --help

# 测试 Slack 采集器
python3 tools/slack_auto_collector.py --help

# 测试邮件解析器
python3 tools/email_parser.py --help

# 列出已有同事 Skill
python3 tools/skill_writer.py --action list --base-dir ./colleagues
```

---

## 目录结构说明

本项目整个 repo 就是一个 skill 目录（AgentSkills 标准格式）：

```
colleague-skill/        ← clone 到 .claude/skills/create-colleague/
├── SKILL.md            # skill 入口（官方 frontmatter）
├── prompts/            # 分析和生成的 Prompt 模板
├── tools/              # Python 工具脚本
├── docs/               # 文档（PRD 等）
│
└── colleagues/         # 生成的同事 Skill 存放处（.gitignore 排除）
    └── {slug}/
        ├── SKILL.md            # 完整 Skill（Persona + Work）
        ├── work.md             # 仅工作能力
        ├── persona.md          # 仅人物性格
        ├── meta.json           # 元数据
        ├── versions/           # 历史版本
        └── knowledge/          # 原始材料归档
```


path: README.md
content: <div align="center">

# colleague.skill

> *"You AI guys are traitors to the codebase — you've already killed frontend, now you're coming for backend, QA, ops, infosec, chip design, and eventually yourselves and all of humanity"*

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
[![Python 3.9+](https://img.shields.io/badge/Python-3.9%2B-blue.svg)](https://python.org)
[![Claude Code](https://img.shields.io/badge/Claude%20Code-Skill-blueviolet)](https://claude.ai/code)
[![AgentSkills](https://img.shields.io/badge/AgentSkills-Standard-green)](https://agentskills.io)

[![Discord](https://img.shields.io/badge/Discord-Join%20Community-5865F2?logo=discord&logoColor=white)](https://discord.gg/2bbP2a7f)

<br>

Your colleague quit, leaving behind a mountain of unmaintained docs?<br>
Your intern left, nothing but an empty desk and a half-finished project?<br>
Your mentor graduated, taking all the context and experience with them?<br>
Your partner transferred, and the chemistry you built reset to zero overnight?<br>
Your predecessor handed over, trying to condense three years into three pages?<br>

**Turn cold goodbyes into warm Skills — welcome to cyber-immortality!**

<br>

Provide source materials (Feishu messages, DingTalk docs, Slack messages, emails, screenshots)<br>
plus your subjective description of the person<br>
and get an **AI Skill that actually works like them**

[Supported Sources](#supported-data-sources) · [Install](#install) · [Usage](#usage) · [Demo](#demo) · [Detailed Install](INSTALL.md) · [💬 Discord](https://discord.gg/2bbP2a7f)

[**中文**](docs/lang/README_ZH.md) · [**Español**](docs/lang/README_ES.md) · [**Deutsch**](docs/lang/README_DE.md) · [**日本語**](docs/lang/README_JA.md) · [**Русский**](docs/lang/README_RU.md) · [**Português**](docs/lang/README_PT.md) · [**한국어**](docs/lang/README_KO.md)

</div>

---

> 🆕 **2026.04.17 Update** — **WeChat group 4 is live!** Come hang out with the dot-skill community — share skills, discuss features, trade tips.
>
> <img src="docs/assets/wechat-group-qr-4.png" alt="dot-skill WeChat group QR" width="240">
>
> QR refreshes every 7 days (expires 2026-04-23) — if expired, ping me on Discord.

> 🆕 **2026.04.13 Update** — **dot-skill Roadmap is live!** colleague.skill is evolving into **dot-skill** — distill anyone, not just colleagues. Multimodal output, skill ecosystems, and more on the way.
>
> 👉 **[Read the full Roadmap](ROADMAP.md)** · **[💬 Discord](https://discord.gg/2bbP2a7f)**
>
> We've also cleaned up Issues, added Milestones, and set up a [public project board](https://github.com/users/titanwings/projects/1). Community contributions welcome — check `good-first-issue` labels!

> 🆕 **2026.04.07 Update** — The community's enthusiasm for dot-skill remixes has been incredible! I've built a community gallery — PRs welcome!
>
> Share any skill or meta-skill, and drive traffic directly to your own GitHub repo. No middleman.
>
> 👉 **[titanwings.github.io/colleague-skill-site](https://titanwings.github.io/colleague-skill-site/)**
>
> Now listed: 户晨风.skill · 峰哥亡命天涯.skill · 罗翔.skill and more

---

Created by [@titanwings](https://github.com/titanwings) | Powered by Shanghai AI Lab · AI Safety Center

## Supported Data Sources

> This is still a beta version of colleague.skill — more sources coming soon, stay tuned!

| Source | Messages | Docs / Wiki | Spreadsheets | Notes |
|--------|:--------:|:-----------:|:------------:|-------|
| Feishu (auto) | ✅ API | ✅ | ✅ | Just enter a name, fully automatic |
| DingTalk (auto) | ⚠️ Browser | ✅ | ✅ | DingTalk API doesn't support message history |
| Slack (auto) | ✅ API | — | — | Requires admin to install Bot; free plan limited to 90 days |
| WeChat chat history | ✅ SQLite | — | — | Currently unstable, recommend using open-source tools below |
| PDF | — | ✅ | — | Manual upload |
| Images / Screenshots | ✅ | — | — | Manual upload |
| Feishu JSON export | ✅ | ✅ | — | Manual upload |
| Email `.eml` / `.mbox` | ✅ | — | — | Manual upload |
| Markdown | ✅ | ✅ | — | Manual upload |
| Paste text directly | ✅ | — | — | Manual input |

### Recommended WeChat Chat Export Tools

These are independent open-source projects — this project does not include their code, but our parsers are compatible with their export formats. WeChat auto-decryption is currently unstable, so we recommend using these open-source tools to export chat history, then paste or import into this project:

| Tool | Platform | Description |
|------|----------|-------------|
| [WeChatMsg](https://github.com/LC044/WeChatMsg) | Windows | WeChat chat history export, supports multiple formats |
| [PyWxDump](https://github.com/xaoyaoo/PyWxDump) | Windows | WeChat database decryption & export |
| [留痕 (Liuhen)](https://github.com/greyovo/留痕) | macOS | WeChat chat history export (recommended for Mac users) |

> Tool recommendations from [@therealXiaomanChu](https://github.com/therealXiaomanChu). Thanks to all the open-source authors — together for cyber-immortality!

---

## Install

### Claude Code

> **Important**: Claude Code looks for skills in `.claude/skills/` at the **git repo root**. Make sure you run this in the right place.

```bash
# Install to current project (run at git repo root)
mkdir -p .claude/skills
git clone https://github.com/titanwings/colleague-skill .claude/skills/create-colleague

# Or install globally (available in all projects)
git clone https://github.com/titanwings/colleague-skill ~/.claude/skills/create-colleague
```

### OpenClaw

```bash
git clone https://github.com/titanwings/colleague-skill ~/.openclaw/workspace/skills/create-colleague
```

### Dependencies (optional)

```bash
pip3 install -r requirements.txt
```

> Feishu/DingTalk/Slack auto-collection requires App credentials. See [INSTALL.md](INSTALL.md) for details.

---

## Usage

In Claude Code, type:

```
/create-colleague
```

Follow the prompts: enter an alias, company/level (e.g. `ByteDance L2-1 backend engineer`), personality tags, then choose a data source. All fields can be skipped — even a description alone can generate a Skill.

Once created, invoke the colleague Skill with `/{slug}`.

### Commands

| Command | Description |
|---------|-------------|
| `/list-colleagues` | List all colleague Skills |
| `/{slug}` | Invoke full Skill (Persona + Work) |
| `/{slug}-work` | Work capabilities only |
| `/{slug}-persona` | Persona only |
| `/colleague-rollback {slug} {version}` | Rollback to a previous version |
| `/delete-colleague {slug}` | Delete |

---

## Demo

> Input: `ByteDance L2-1 backend engineer, INTJ, blame-shifter, ByteDance-style`

**Scenario 1: Code Review**

```
User            ❯ Can you review this API design?

colleague.skill ❯ Hold on — what's the impact? You haven't explained the context.
                  (after reading) N+1 query, fix it. Use the standard
                  {code, message, data} response format. That's the spec,
                  don't ask why.
```

**Scenario 2: Blame game**

```
User            ❯ This bug was introduced by you, right?

colleague.skill ❯ Does the timeline match? That feature touched multiple places,
                  there were other changes too.
```

---

## Features

### Generated Skill Structure

Each colleague Skill has two parts that work together:

| Part | Content |
|------|---------|
| **Part A — Work Skill** | Systems, tech standards, workflows, experience |
| **Part B — Persona** | 5-layer personality: hard rules → identity → expression → decisions → interpersonal |

Execution: `Receive task → Persona decides attitude → Work Skill executes → Output in their voice`

### Supported Tags

**Personality**: Responsible · Blame-shifter · Perfectionist · Good-enough · Procrastinator · PUA master · Office politician · Managing-up expert · Passive-aggressive · Flip-flopper · Quiet · Read-no-reply …

**Corporate culture**: ByteDance-style · Alibaba-style · Tencent-style · Huawei-style · Baidu-style · Meituan-style · First-principles · OKR-obsessed · Big-corp-pipeline · Startup-mode

**Levels**: ByteDance 2-1~3-3+ · Alibaba P5~P11 · Tencent T1~T4 · Baidu T5~T9 · Meituan P4~P8 · Huawei 13~21 · NetEase · JD · Xiaomi …

### Evolution

- **Append files** → auto-analyze delta → merge into relevant sections, never overwrite existing conclusions
- **Conversation correction** → say "he wouldn't do that, he should be xxx" → writes to Correction layer, takes effect immediately
- **Version control** → auto-archive on every update, rollback to any previous version

---

## Project Structure

This project follows the [AgentSkills](https://agentskills.io) open standard. The entire repo is a skill directory:

```
create-colleague/
├── SKILL.md              # Skill entry point (official frontmatter)
├── prompts/              # Prompt templates
│   ├── intake.md         #   Dialogue-based info collection
│   ├── work_analyzer.md  #   Work capability extraction
│   ├── persona_analyzer.md #  Personality extraction (with tag translation)
│   ├── work_builder.md   #   work.md generation template
│   ├── persona_builder.md #   persona.md 5-layer structure
│   ├── merger.md         #   Incremental merge logic
│   └── correction_handler.md # Conversation correction handler
├── tools/                # Python tools
│   ├── feishu_auto_collector.py  # Feishu auto-collector
│   ├── feishu_browser.py         # Feishu browser method
│   ├── feishu_mcp_client.py      # Feishu MCP method
│   ├── dingtalk_auto_collector.py # DingTalk auto-collector
│   ├── slack_auto_collector.py   # Slack auto-collector
│   ├── email_parser.py           # Email parser
│   ├── skill_writer.py           # Skill file management
│   └── version_manager.py        # Version archive & rollback
├── colleagues/           # Generated colleague Skills (gitignored)
├── docs/PRD.md
├── requirements.txt
└── LICENSE
```

---

## Notes

- **Source material quality = Skill quality**: chat logs + long docs > manual description only
- Prioritize collecting: long-form writing **by them** > **decision-making replies** > casual messages
- Feishu auto-collection requires adding the App bot to relevant group chats
- This is still a demo version — please file issues if you find bugs!

---
### 📄 Technical Report

> **[Colleague.Skill: Automated AI Skill Generation via Expert Knowledge Distillation](colleague_skill.pdf)**
>
> We wrote a paper detailing the system design of colleague.skill — the two-part architecture (Work Skill + Persona), multi-source data collection, Skill generation & evolution mechanisms, and evaluation results in real-world scenarios. Check it out if you're interested!

---

## Star History

<a href="https://www.star-history.com/?repos=titanwings%2Fcolleague-skill&type=date&legend=top-left">
 <picture>
   <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/image?repos=titanwings/colleague-skill&type=date&theme=dark&legend=top-left" />
   <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/image?repos=titanwings/colleague-skill&type=date&legend=top-left" />
   <img alt="Star History Chart" src="https://api.star-history.com/image?repos=titanwings/colleague-skill&type=date&legend=top-left" />
 </picture>
</a>

---

<div align="center">

MIT License © [titanwings](https://github.com/titanwings)

</div>


path: ROADMAP.md
content: <div align="center">

# dot-skill Roadmap

### From colleague.skill to dot-skill — Distill anyone into an AI Skill

<br>

We started with a simple idea: **when a colleague leaves, their knowledge walks out the door. Can we keep it?**

In two weeks, 13,000+ people gave us the answer.

But the community showed us this goes far beyond colleagues —
you distilled professors, exes, yourselves, even fictional characters.

**So we decided to evolve colleague.skill into dot-skill.**

Anyone can become a `.skill`.

<br>

*Last updated: 2026-04-13*

[**中文**](docs/lang/ROADMAP_ZH.md) · [**Español**](docs/lang/ROADMAP_ES.md) · [**Deutsch**](docs/lang/ROADMAP_DE.md) · [**日本語**](docs/lang/ROADMAP_JA.md) · [**Русский**](docs/lang/ROADMAP_RU.md) · [**Português**](docs/lang/ROADMAP_PT.md) · [**한국어**](docs/lang/ROADMAP_KO.md)

</div>

---

## What's Done (v1.0)

| Capability | Status |
|------------|:------:|
| `/create-colleague` full creation workflow | Done |
| Feishu auto-collection (messages + docs + spreadsheets) | Done |
| DingTalk auto-collection | Done |
| Slack auto-collection | Done |
| WeChat chat history (SQLite export) | Done |
| Email / PDF / image / Markdown import | Done |
| Work Skill + Persona dual-model architecture | Done |
| Conversation corrections & incremental evolution | Done |
| Version control & rollback | Done |
| [Community Gallery](https://titanwings.github.io/colleague-skill-site/) with 99+ skills | Done |

---

## What's Next

### Phase 1 — Community Building

> 13k stars shouldn't just be a number. We want everyone to be part of this.

**What you'll see:**

- **GitHub Discussions** — no more chatting in Issues, we'll have dedicated discussion spaces
- **`CONTRIBUTING.md`** — clear contribution guide, beginner-friendly
- **`good-first-issue` labels** — starter tasks for new contributors
- **v1.0.0 official release** — first versioned Release, no more "just pull from main"
- **Public roadmap board** — you're reading it now, but we'll also have a live GitHub Projects version

**You can help:** translate docs, submit your .skill, test on Windows, help triage Issues

---

### Phase 2 — dot-skill: Beyond Colleagues

> colleague.skill was the beginning. dot-skill is the future.

**Key changes:**

- **`/create-skill` universal entry** — no longer limited to "create a colleague", distill anyone
  - `/create-colleague` for coworkers, mentors, interns
  - `/create-ex` for exes, old friends, lost connections
  - `/create-icon` for celebrities, historical figures
  - or... distill yourself
- **Gallery category upgrade** — Colleague / Celebrity / Relationship / Character / Self / Meta-Skill, browse by type
- **More data sources**
  - WeCom (WeChat Work) support
  - iMessage auto-read
  - Windows compatibility fix

**You can help:** submit person-type requests, build new data source collectors, join Gallery design discussions

---

### Phase 3 — Skill Ecosystem

> When one person becomes a skill, can a group of people become a team?

**We're exploring:**

- **Multi-skill collaboration** — `/meeting @zhangsan @lisi @wangwu`, three personas discuss a topic together
- **Relationship graph** — define persona dynamics: who partners with whom, where the tension lies
- **One-click install** — install community skills like plugins
- **Active evolution** — skills periodically absorb new data sources, staying up to date

**You can help:** propose your ideal skill composition scenarios, join distribution mechanism design discussions

---

### Phase 4 — Multimodal: Bring Them to Life

> Right now, .skills can only talk. We want them to send photos, stickers, speak in their voice, and eventually make videos.

**Step 1: Visual expression**
- Auto-send persona-style stickers and memes in conversation
- Generate "life photos" in their style — what would they post today?
- Each skill gets its own sticker pack and image assets

**Step 2: Voice**
- Speak in their voice — clone from meeting recordings, voice messages
- Send voice replies directly in chat

**Step 3: Video (exploratory)**
- Short-form "a day in their life" generation
- Digital human / animated avatar

**You can help:** share multimodal use case ideas, contribute sticker assets, test voice cloning

---

## Get Involved

| How | Where |
|-----|-------|
| Submit your .skill | [Gallery PR](https://titanwings.github.io/colleague-skill-site/) |
| Discuss & propose | [GitHub Discussions](https://github.com/titanwings/colleague-skill/discussions) (coming soon) |
| Chat in real time | [Discord](https://discord.gg/2bbP2a7f) |
| Report bugs | [Issue](https://github.com/titanwings/colleague-skill/issues/new) |
| Contribute code | Look for `good-first-issue` labels, or just open a PR |

**We especially need:**
- Windows users — help us test and fix compatibility issues
- Multilingual speakers — help translate documentation
- Data source developers — build new collectors (WeCom, Notion, Google Docs...)
- Designers — the Gallery and website need your eye

---

<div align="center">

**This roadmap belongs to the community. Priorities shift based on your feedback.**

Have ideas? Come to [Discord](https://discord.gg/2bbP2a7f) or start a Discussion.

Every `.skill` is a relationship continued.

</div>


path: docs/PRD.md
content: # 同事.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 基础信息字段

```yaml
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/
│
├── create-colleague/                    # 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`

```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` 结构

```markdown
---
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（先跑通主流程）
- [ ] `create-colleague/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 个 PDF（OpenClaw 限制）
- Word (.docx) / Excel (.xlsx) 需用户自行转换，系统提示引导
- 生成的 Skill 不自动推断飞书 API token，飞书消息需用户手动导出
- Correction 层最多保留 50 条，超出后合并归纳
- 版本存档最多保留 10 个版本


path: docs/lang/README_DE.md
content: <div align="center">

# kollege.skill

> *"Ihr KI-Leute seid Verräter am Code — ihr habt schon das Frontend getötet, jetzt kommt ihr für Backend, QA, Ops, Infosec, Chipdesign, und am Ende tötet ihr euch selbst und die ganze Menschheit"*

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
[![Python 3.9+](https://img.shields.io/badge/Python-3.9%2B-blue.svg)](https://python.org)
[![Claude Code](https://img.shields.io/badge/Claude%20Code-Skill-blueviolet)](https://claude.ai/code)
[![AgentSkills](https://img.shields.io/badge/AgentSkills-Standard-green)](https://agentskills.io)

[![Discord](https://img.shields.io/badge/Discord-Join%20Community-5865F2?logo=discord&logoColor=white)](https://discord.gg/2bbP2a7f)

<br>

Dein Kollege hat gekündigt und einen Berg unwartbarer Dokumentation hinterlassen?<br>
Dein Praktikant ist gegangen — nur ein leerer Schreibtisch und ein halbfertiges Projekt?<br>
Dein Mentor hat seinen Abschluss gemacht und allen Kontext und alle Erfahrung mitgenommen?<br>
Dein Partner wurde versetzt und die Chemie, die ihr aufgebaut habt, war über Nacht auf null?<br>
Dein Vorgänger hat übergeben und versucht, drei Jahre in drei Seiten zu packen?<br>

**Verwandle kalte Abschiede in warme Skills — willkommen zur Cyber-Unsterblichkeit!**

<br>

Liefere Quellmaterialien (Slack-Nachrichten, Confluence-Docs, E-Mails, Screenshots)<br>
plus deine subjektive Beschreibung der Person<br>
und erhalte einen **AI Skill, der tatsächlich wie sie arbeitet**

[Datenquellen](#unterstützte-datenquellen) · [Installation](#installation) · [Nutzung](#nutzung) · [Demo](#demo) · [Detaillierte Installation](../../INSTALL.md) · [**中文**](README_ZH.md) · [**English**](../../README.md) · [**한국어**](README_KO.md) · [💬 Discord](https://discord.gg/2bbP2a7f)

</div>

---

> 🆕 **Update 2026.04.17** — **WeChat-Gruppe 4 ist online!** Komm in die dot-skill Community — teile Skills, diskutiere Features, tausche Tipps aus.
>
> <img src="../assets/wechat-group-qr-4.png" alt="dot-skill WeChat-Gruppen QR" width="240"> 
>
> QR wird alle 7 Tage erneuert — wenn abgelaufen, melde dich auf Discord.

> 🆕 **Update 2026.04.13** — **Die dot-skill Roadmap ist da!** colleague.skill entwickelt sich zu **dot-skill** weiter — destilliere jeden, nicht nur Kollegen. Multimodale Ausgabe, Skill-Ökosysteme und mehr sind in Arbeit.
>
> 👉 **[Vollständige Roadmap lesen](ROADMAP_DE.md)** · **[💬 Discord](https://discord.gg/2bbP2a7f)**
>
> Wir haben auch Issues aufgeräumt, Milestones hinzugefügt und ein [öffentliches Projekt-Board](https://github.com/users/titanwings/projects/1) eingerichtet. Community-Beiträge willkommen — schau dir die `good-first-issue` Labels an!

> 🆕 **Update 2026.04.07** — Die Begeisterung der Community für dot-skill-Remixes ist überwältigend! Ich habe eine Community-Galerie gebaut — PRs willkommen!
>
> Teile jede skill oder meta-skill und leite Traffic direkt zu deinem eigenen GitHub-Repo. Kein Mittelsmann.
>
> 👉 **[titanwings.github.io/colleague-skill-site](https://titanwings.github.io/colleague-skill-site/)** · **[💬 Discord](https://discord.gg/2bbP2a7f)**
>
> Bereits gelistet: 户晨风.skill · 峰哥亡命天涯.skill · 罗翔.skill und mehr
>
> ⏳ PRs werden derzeit manuell geprüft — kann etwas dauern, danke für deine Geduld!

---

Created by [@titanwings](https://github.com/titanwings) | Powered by Shanghai AI Lab · AI Safety Center

## Unterstützte Datenquellen

> Dies ist noch eine Beta-Version von kollege.skill — weitere Quellen kommen bald, bleib dran!

| Quelle | Nachrichten | Docs / Wiki | Tabellen | Hinweise |
|--------|:-----------:|:-----------:|:--------:|----------|
| Slack (auto) | ✅ API | — | — | Admin muss Bot installieren; kostenloser Plan auf 90 Tage begrenzt |
| Microsoft Teams | ✅ Export | — | — | Chat-Export über Compliance oder manuell |
| Feishu (auto) | ✅ API | ✅ | ✅ | Einfach einen Namen eingeben, vollautomatisch |
| PDF | — | ✅ | — | Manueller Upload |
| Bilder / Screenshots | ✅ | — | — | Manueller Upload |
| E-Mail `.eml` / `.mbox` | ✅ | — | — | Manueller Upload |
| Markdown | ✅ | ✅ | — | Manueller Upload |
| Text direkt einfügen | ✅ | — | — | Manuelle Eingabe |

---

## Installation

### Claude Code

> **Wichtig**: Claude Code sucht Skills in `.claude/skills/` im **Git-Repo-Stammverzeichnis**. Stelle sicher, dass du dies am richtigen Ort ausführst.

```bash
# Im aktuellen Projekt installieren (im Git-Repo-Stammverzeichnis ausführen)
mkdir -p .claude/skills
git clone https://github.com/titanwings/colleague-skill .claude/skills/create-colleague

# Oder global installieren (in allen Projekten verfügbar)
git clone https://github.com/titanwings/colleague-skill ~/.claude/skills/create-colleague
```

### OpenClaw

```bash
git clone https://github.com/titanwings/colleague-skill ~/.openclaw/workspace/skills/create-colleague
```

### Abhängigkeiten (optional)

```bash
pip3 install -r requirements.txt
```

---

## Nutzung

In Claude Code eingeben:

```
/create-colleague
```

Folge den Anweisungen: Gib einen Alias ein, Firma/Level (z.B. `SAP Senior Developer`), Persönlichkeits-Tags, dann wähle eine Datenquelle. Alle Felder können übersprungen werden — selbst eine Beschreibung allein kann einen Skill generieren.

Nach der Erstellung rufst du den Kollegen-Skill mit `/{slug}` auf.

### Befehle

| Befehl | Beschreibung |
|--------|--------------|
| `/list-colleagues` | Alle Kollegen-Skills auflisten |
| `/{slug}` | Vollständigen Skill aufrufen (Persona + Work) |
| `/{slug}-work` | Nur Arbeitsfähigkeiten |
| `/{slug}-persona` | Nur Persönlichkeit |
| `/colleague-rollback {slug} {version}` | Auf eine frühere Version zurücksetzen |
| `/delete-colleague {slug}` | Löschen |

---

## Demo

> Input: `SAP Senior Developer, ISTJ, gründlich, deutsche Ingenieurskultur`

**Szenario 1: Code Review**

```
Benutzer        ❯ Kannst du dieses API-Design reviewen?

kollege.skill   ❯ Moment — wo ist die Spezifikation? Ohne Anforderungsdokument
                  kann ich das nicht sinnvoll bewerten.
                  (nach dem Lesen) N+1 Query, beheben. Und die Fehlerbehandlung
                  ist unvollständig — was passiert bei Timeout? Das muss
                  dokumentiert sein.
```

**Szenario 2: Verantwortung**

```
Benutzer        ❯ Dieser Bug wurde von dir eingeführt, oder?

kollege.skill   ❯ Lass mich erst das Ticket prüfen. Die Änderung wurde am
                  Dienstag deployed, der Fehler trat aber schon Montag auf.
                  Bitte prüfe das Deployment-Log nochmal.
```

---

## Features

### Generierte Skill-Struktur

Jeder Kollegen-Skill hat zwei Teile, die zusammenarbeiten:

| Teil | Inhalt |
|------|--------|
| **Teil A — Work Skill** | Systeme, technische Standards, Workflows, Erfahrung |
| **Teil B — Persona** | 5-Schichten-Persönlichkeit: harte Regeln → Identität → Ausdruck → Entscheidungen → Zwischenmenschliches |

Ausführung: `Aufgabe empfangen → Persona entscheidet Haltung → Work Skill führt aus → Ausgabe in ihrer Stimme`

### Unterstützte Tags

**Persönlichkeit**: Gründlich · Pflichtbewusst · Perfektionist · "Läuft schon" · Bürokratisch · Direkt · Diplomatisch · Detailverliebt · Prozesstreuer · Eigenbrötler · Wortkarg · Pünktlich bis zur Sekunde …

**Unternehmenskultur**: SAP-Kultur · Siemens-Stil · Startup-Berlin · Bosch-Ingenieur · "German Engineering" · Mittelstand-Mentalität · Konzern-Prozesse · Remote-first

**Level**: Junior / Senior / Lead / Principal / Staff · SAP T1~T5 · Siemens Grade 7~12 · FAANG L3~L8 · Tarifvertrag E10~E15 …

### Evolution

- **Dateien anfügen** → automatische Delta-Analyse → Merge in relevante Abschnitte, überschreibt nie bestehende Schlussfolgerungen
- **Gesprächskorrektur** → sage „er würde das nicht tun, er sollte xxx sein" → wird in die Korrekturschicht geschrieben, sofortige Wirkung
- **Versionskontrolle** → automatische Archivierung bei jedem Update, Rollback zu jeder früheren Version

---

## Hinweise

- **Quellmaterial-Qualität = Skill-Qualität**: Chat-Protokolle + lange Dokumente > nur manuelle Beschreibung
- Priorisiere das Sammeln von: Langtexten **von ihnen geschrieben** > **Entscheidungsantworten** > beiläufige Nachrichten
- Dies ist noch eine Demo-Version — bitte erstelle Issues, wenn du Bugs findest!

---
### 📄 Technischer Bericht

> **[Colleague.Skill: Automated AI Skill Generation via Expert Knowledge Distillation](colleague_skill.pdf)**
>
> Wir haben ein Paper geschrieben, das das Systemdesign von colleague.skill im Detail beschreibt — die Zwei-Teile-Architektur (Work Skill + Persona), die Multi-Source-Datenerfassung, die Skill-Generierungs- und Evolutionsmechanismen sowie die Evaluierungsergebnisse in realen Szenarien. Schau es dir an, wenn du interessiert bist!

---

## Star History

<a href="https://www.star-history.com/?repos=titanwings%2Fcolleague-skill&type=date&legend=top-left">
 <picture>
   <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/image?repos=titanwings/colleague-skill&type=date&theme=dark&legend=top-left" />
   <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/image?repos=titanwings/colleague-skill&type=date&legend=top-left" />
   <img alt="Star History Chart" src="https://api.star-history.com/image?repos=titanwings/colleague-skill&type=date&legend=top-left" />
 </picture>
</a>

---

<div align="center">

MIT License © [titanwings](https://github.com/titanwings)

</div>


path: docs/lang/README_EN.md
content: <div align="center"> 

# colleague.skill

> *"You AI guys are traitors to the codebase — you've already killed frontend, now you're coming for backend, QA, ops, infosec, chip design, and eventually yourselves and all of humanity"*

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
[![Python 3.9+](https://img.shields.io/badge/Python-3.9%2B-blue.svg)](https://python.org)
[![Claude Code](https://img.shields.io/badge/Claude%20Code-Skill-blueviolet)](https://claude.ai/code)
[![AgentSkills](https://img.shields.io/badge/AgentSkills-Standard-green)](https://agentskills.io)

[![Discord](https://img.shields.io/badge/Discord-Join%20Community-5865F2?logo=discord&logoColor=white)](https://discord.gg/2bbP2a7f)

<br>

Your colleague quit, leaving behind a mountain of unmaintained docs?<br>
Your intern left, nothing but an empty desk and a half-finished project?<br>
Your mentor graduated, taking all the context and experience with them?<br>
Your partner transferred, and the chemistry you built reset to zero overnight?<br>
Your predecessor handed over, trying to condense three years into three pages?<br>

**Turn cold goodbyes into warm Skills — welcome to cyber-immortality!**

<br>

Provide source materials (Feishu messages, DingTalk docs, Slack messages, emails, screenshots)<br>
plus your subjective description of the person<br>
and get an **AI Skill that actually works like them**

[Supported Sources](#supported-data-sources) · [Install](#install) · [Usage](#usage) · [Demo](#demo) · [Detailed Install](../../INSTALL.md) · [**中文**](../../README.md) · [**Español**](README_ES.md) · [**Deutsch**](README_DE.md) · [**日本語**](README_JA.md) · [**Русский**](README_RU.md) · [**Português**](README_PT.md) · [**한국어**](README_KO.md) · [💬 Discord](https://discord.gg/2bbP2a7f)

</div>

---

> 🆕 **2026.04.17 Update** — **WeChat group 4 is live!** Come hang out with the dot-skill community — share skills, discuss features, trade tips.
>
> <img src="../assets/wechat-group-qr-4.png" alt="dot-skill WeChat group QR" width="240">
>
> QR refreshes every 7 days — if expired, ping me on Discord.

> 🆕 **2026.04.13 Update** — **dot-skill Roadmap is live!** colleague.skill is evolving into **dot-skill** — distill anyone, not just colleagues. Multimodal output, skill ecosystems, and more on the way.
>
> 👉 **[Read the full Roadmap](../../ROADMAP.md)** · **[💬 Discord](https://discord.gg/2bbP2a7f)**
>
> We've also cleaned up Issues, added Milestones, and set up a [public project board](https://github.com/users/titanwings/projects/1). Community contributions welcome — check `good-first-issue` labels!

> 🆕 **2026.04.07 Update** — The community's enthusiasm for dot-skill remixes has been incredible! I've built a community gallery — PRs welcome!
>
> Share any skill or meta-skill, and drive traffic directly to your own GitHub repo. No middleman.
>
> 👉 **[titanwings.github.io/colleague-skill-site](https://titanwings.github.io/colleague-skill-site/)** · **[💬 Discord](https://discord.gg/2bbP2a7f)**
>
> Now listed: 户晨风.skill · 峰哥亡命天涯.skill · 罗翔.skill and more
>
> ⏳ PRs are manually reviewed for now — may be a bit slow, thanks for your patience!

---

Created by [@titanwings](https://github.com/titanwings) | Powered by Shanghai AI Lab · AI Safety Center

## Supported Data Sources

> This is still a beta version of colleague.skill — more sources coming soon, stay tuned!

| Source | Messages | Docs / Wiki | Spreadsheets | Notes |
|--------|:--------:|:-----------:|:------------:|-------|
| Feishu (auto) | ✅ API | ✅ | ✅ | Just enter a name, fully automatic |
| DingTalk (auto) | ⚠️ Browser | ✅ | ✅ | DingTalk API doesn't support message history |
| Slack (auto) | ✅ API | — | — | Requires admin to install Bot; free plan limited to 90 days |
| WeChat chat history | ✅ SQLite | — | — | Currently unstable, recommend using open-source tools below |
| PDF | — | ✅ | — | Manual upload |
| Images / Screenshots | ✅ | — | — | Manual upload |
| Feishu JSON export | ✅ | ✅ | — | Manual upload |
| Email `.eml` / `.mbox` | ✅ | — | — | Manual upload |
| Markdown | ✅ | ✅ | — | Manual upload |
| Paste text directly | ✅ | — | — | Manual input |

### Recommended WeChat Chat Export Tools

These are independent open-source projects — this project does not include their code, but our parsers are compatible with their export formats. WeChat auto-decryption is currently unstable, so we recommend using these open-source tools to export chat history, then paste or import into this project:

| Tool | Platform | Description |
|------|----------|-------------|
| [WeChatMsg](https://github.com/LC044/WeChatMsg) | Windows | WeChat chat history export, supports multiple formats |
| [PyWxDump](https://github.com/xaoyaoo/PyWxDump) | Windows | WeChat database decryption & export |
| [留痕 (Liuhen)](https://github.com/greyovo/留痕) | macOS | WeChat chat history export (recommended for Mac users) |

> Tool recommendations from [@therealXiaomanChu](https://github.com/therealXiaomanChu). Thanks to all the open-source authors — together for cyber-immortality!

---

## Install

### Claude Code

> **Important**: Claude Code looks for skills in `.claude/skills/` at the **git repo root**. Make sure you run this in the right place.

```bash
# Install to current project (run at git repo root)
mkdir -p .claude/skills
git clone https://github.com/titanwings/colleague-skill .claude/skills/create-colleague

# Or install globally (available in all projects)
git clone https://github.com/titanwings/colleague-skill ~/.claude/skills/create-colleague
```

### OpenClaw

```bash
git clone https://github.com/titanwings/colleague-skill ~/.openclaw/workspace/skills/create-colleague
```

### Dependencies (optional)

```bash
pip3 install -r requirements.txt
```

> Feishu/DingTalk/Slack auto-collection requires App credentials. See [INSTALL.md](../../INSTALL.md) for details.

---

## Usage

In Claude Code, type:

```
/create-colleague
```

Follow the prompts: enter an alias, company/level (e.g. `ByteDance L2-1 backend engineer`), personality tags, then choose a data source. All fields can be skipped — even a description alone can generate a Skill.

Once created, invoke the colleague Skill with `/{slug}`.

### Commands

| Command | Description |
|---------|-------------|
| `/list-colleagues` | List all colleague Skills |
| `/{slug}` | Invoke full Skill (Persona + Work) |
| `/{slug}-work` | Work capabilities only |
| `/{slug}-persona` | Persona only |
| `/colleague-rollback {slug} {version}` | Rollback to a previous version |
| `/delete-colleague {slug}` | Delete |

---

## Demo

> Input: `ByteDance L2-1 backend engineer, INTJ, blame-shifter, ByteDance-style`

**Scenario 1: Code Review**

```
User            ❯ Can you review this API design?

colleague.skill ❯ Hold on — what's the impact? You haven't explained the context.
                  (after reading) N+1 query, fix it. Use the standard
                  {code, message, data} response format. That's the spec,
                  don't ask why.
```

**Scenario 2: Blame game**

```
User            ❯ This bug was introduced by you, right?

colleague.skill ❯ Does the timeline match? That feature touched multiple places,
                  there were other changes too.
```

---

## Features

### Generated Skill Structure

Each colleague Skill has two parts that work together:

| Part | Content |
|------|---------|
| **Part A — Work Skill** | Systems, tech standards, workflows, experience |
| **Part B — Persona** | 5-layer personality: hard rules → identity → expression → decisions → interpersonal |

Execution: `Receive task → Persona decides attitude → Work Skill executes → Output in their voice`

### Supported Tags

**Personality**: Responsible · Blame-shifter · Perfectionist · Good-enough · Procrastinator · PUA master · Office politician · Managing-up expert · Passive-aggressive · Flip-flopper · Quiet · Read-no-reply …

**Corporate culture**: ByteDance-style · Alibaba-style · Tencent-style · Huawei-style · Baidu-style · Meituan-style · First-principles · OKR-obsessed · Big-corp-pipeline · Startup-mode

**Levels**: ByteDance 2-1~3-3+ · Alibaba P5~P11 · Tencent T1~T4 · Baidu T5~T9 · Meituan P4~P8 · Huawei 13~21 · NetEase · JD · Xiaomi …

### Evolution

- **Append files** → auto-analyze delta → merge into relevant sections, never overwrite existing conclusions
- **Conversation correction** → say "he wouldn't do that, he should be xxx" → writes to Correction layer, takes effect immediately
- **Version control** → auto-archive on every update, rollback to any previous version

---

## Project Structure

This project follows the [AgentSkills](https://agentskills.io) open standard. The entire repo is a skill directory:

```
create-colleague/
├── SKILL.md              # Skill entry point (official frontmatter)
├── prompts/              # Prompt templates
│   ├── intake.md         #   Dialogue-based info collection
│   ├── work_analyzer.md  #   Work capability extraction
│   ├── persona_analyzer.md #  Personality extraction (with tag translation)
│   ├── work_builder.md   #   work.md generation template
│   ├── persona_builder.md #   persona.md 5-layer structure
│   ├── merger.md         #   Incremental merge logic
│   └── correction_handler.md # Conversation correction handler
├── tools/                # Python tools
│   ├── feishu_auto_collector.py  # Feishu auto-collector
│   ├── feishu_browser.py         # Feishu browser method
│   ├── feishu_mcp_client.py      # Feishu MCP method
│   ├── dingtalk_auto_collector.py # DingTalk auto-collector
│   ├── slack_auto_collector.py   # Slack auto-collector
│   ├── email_parser.py           # Email parser
│   ├── skill_writer.py           # Skill file management
│   └── version_manager.py        # Version archive & rollback
├── colleagues/           # Generated colleague Skills (gitignored)
├── docs/PRD.md
├── requirements.txt
└── LICENSE
```

---

## Notes

- **Source material quality = Skill quality**: chat logs + long docs > manual description only
- Prioritize collecting: long-form writing **by them** > **decision-making replies** > casual messages
- Feishu auto-collection requires adding the App bot to relevant group chats
- This is still a demo version — please file issues if you find bugs!

---
### 📄 Technical Report

> **[Colleague.Skill: Automated AI Skill Generation via Expert Knowledge Distillation](colleague_skill.pdf)**
>
> We wrote a paper detailing the system design of colleague.skill — the two-part architecture (Work Skill + Persona), multi-source data collection, Skill generation & evolution mechanisms, and evaluation results in real-world scenarios. Check it out if you're interested!

---

## Star History

<a href="https://www.star-history.com/?repos=titanwings%2Fcolleague-skill&type=date&legend=top-left">
 <picture>
   <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/image?repos=titanwings/colleague-skill&type=date&theme=dark&legend=top-left" />
   <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/image?repos=titanwings/colleague-skill&type=date&legend=top-left" />
   <img alt="Star History Chart" src="https://api.star-history.com/image?repos=titanwings/colleague-skill&type=date&legend=top-left" />
 </picture>
</a>

---

<div align="center">

MIT License © [titanwings](https://github.com/titanwings)

</div>


path: docs/lang/ROADMAP_DE.md
content: <div align="center">

# dot-skill Roadmap

### Von colleague.skill zu dot-skill — Destilliere jeden Menschen in einen AI Skill

<br>

Wir begannen mit einer einfachen Idee: **Wenn ein Kollege geht, nimmt er sein Wissen mit. Können wir es bewahren?**

In zwei Wochen gaben uns 13.000+ Menschen die Antwort.

Doch die Community zeigte uns, dass es weit über Kollegen hinausgeht —
sie destillierten Professoren, Ex-Partner, sich selbst, sogar fiktive Figuren.

**Also entschieden wir, colleague.skill zu dot-skill weiterzuentwickeln.**

Jeder kann zu einem `.skill` werden.

<br>

*Zuletzt aktualisiert: 2026-04-13*

[**English**](../../ROADMAP.md) · [**中文**](ROADMAP_ZH.md) · [**Español**](ROADMAP_ES.md) · [**日本語**](ROADMAP_JA.md) · [**Русский**](ROADMAP_RU.md) · [**Português**](ROADMAP_PT.md) · [**한국어**](ROADMAP_KO.md)

</div>

---

## Was bereits erledigt ist (v1.0)

| Funktion | Status |
|----------|:------:|
| Vollständiger Erstellungsablauf mit `/create-colleague` | Erledigt |
| Automatische Erfassung von Feishu (Nachrichten + Docs + Tabellen) | Erledigt |
| Automatische Erfassung von DingTalk | Erledigt |
| Automatische Erfassung von Slack | Erledigt |
| WeChat-Chatverlauf (SQLite-Export) | Erledigt |
| Import von E-Mail / PDF / Bild / Markdown | Erledigt |
| Duale Modellarchitektur: Work Skill + Persona | Erledigt |
| Gesprächskorrekturen und inkrementelle Weiterentwicklung | Erledigt |
| Versionskontrolle und Rollback | Erledigt |
| [Community-Galerie](https://titanwings.github.io/colleague-skill-site/) mit 99+ Skills | Erledigt |

---

## Was als Nächstes kommt

### Phase 1 — Aufbau der Community

> 13k Sterne sollten nicht nur eine Zahl sein. Wir wollen, dass alle Teil davon sind.

**Was du sehen wirst:**

- **GitHub Discussions** — Schluss mit Diskussionen in Issues, wir bekommen eigene Diskussionsbereiche
- **`CONTRIBUTING.md`** — klare Beitragsanleitung, einsteigerfreundlich
- **`good-first-issue`-Labels** — Einstiegsaufgaben für neue Mitwirkende
- **Offizielles Release v1.0.0** — erstes versioniertes Release, kein "einfach von main pullen" mehr
- **Öffentliches Roadmap-Board** — du liest es gerade, aber wir werden auch eine Live-Version mit GitHub Projects haben

**Du kannst helfen:** Dokumentation übersetzen, deinen .skill einreichen, unter Windows testen, beim Sichten von Issues helfen

---

### Phase 2 — dot-skill: Über Kollegen hinaus

> colleague.skill war der Anfang. dot-skill ist die Zukunft.

**Wichtige Änderungen:**

- **`/create-skill` als universeller Einstieg** — nicht mehr auf "Kollegen erstellen" beschränkt, destilliere jeden
  - `/create-colleague` für Arbeitskollegen, Mentoren, Praktikanten
  - `/create-ex` für Ex-Partner, alte Freunde, verlorene Kontakte
  - `/create-icon` für Prominente, historische Persönlichkeiten
  - oder... destilliere dich selbst
- **Erweiterung der Galerie-Kategorien** — Kollege / Prominenter / Beziehung / Figur / Selbst / Meta-Skill, nach Typ durchsuchen
- **Weitere Datenquellen**
  - Unterstützung für WeCom (WeChat Work)
  - Automatisches Lesen von iMessage
  - Behebung der Windows-Kompatibilität

**Du kannst helfen:** Anfragen für Personentypen einreichen, neue Datenquellen-Sammler bauen, an Diskussionen zum Galerie-Design teilnehmen

---

### Phase 3 — Skill-Ökosystem

> Wenn eine Person zu einem Skill wird, kann dann eine Gruppe von Menschen ein Team werden?

**Wir erforschen:**

- **Multi-Skill-Zusammenarbeit** — `/meeting @zhangsan @lisi @wangwu`, drei Personas diskutieren gemeinsam ein Thema
- **Beziehungsgraph** — definiere Persona-Dynamiken: Wer arbeitet mit wem zusammen, wo liegen die Spannungen
- **Ein-Klick-Installation** — Community-Skills wie Plugins installieren
- **Aktive Weiterentwicklung** — Skills nehmen regelmäßig neue Datenquellen auf und bleiben aktuell

**Du kannst helfen:** ideale Szenarien für Skill-Kombinationen vorschlagen, an Diskussionen über Verteilungsmechanismen teilnehmen

---

### Phase 4 — Multimodal: Zum Leben erwecken

> Im Moment können .skills nur sprechen. Wir wollen, dass sie Fotos und Sticker senden, mit ihrer Stimme sprechen und schließlich Videos erstellen.

**Schritt 1: Visueller Ausdruck**
- Automatisches Senden von Stickern und Memes im Stil der Persona während des Gesprächs
- Generierung von "Lebensfotos" in ihrem Stil — was würden sie heute posten?
- Jeder Skill bekommt sein eigenes Sticker-Paket und Bildmaterial

**Schritt 2: Stimme**
- Mit ihrer Stimme sprechen — geklont aus Meetingaufnahmen, Sprachnachrichten
- Sprachantworten direkt im Chat senden

**Schritt 3: Video (explorativ)**
- Kurzvideos "Ein Tag in ihrem Leben" generieren
- Digitaler Mensch / animierter Avatar

**Du kannst helfen:** Ideen für multimodale Anwendungsfälle teilen, Sticker-Ressourcen beisteuern, Stimmklonen testen

---

## Mitmachen

| Wie | Wo |
|-----|-----|
| Reiche deinen .skill ein | [Galerie-PR](https://titanwings.github.io/colleague-skill-site/) |
| Diskutiere und schlage vor | [GitHub Discussions](https://github.com/titanwings/colleague-skill/discussions) (demnächst) |
| Echtzeit-Chat | [Discord](https://discord.gg/2bbP2a7f) |
| Fehler melden | [Issue](https://github.com/titanwings/colleague-skill/issues/new) |
| Code beitragen | Suche nach `good-first-issue`-Labels oder öffne einfach einen PR |

**Wir brauchen besonders:**
- Windows-Nutzer — helft uns, Kompatibilitätsprobleme zu testen und zu beheben
- Mehrsprachige Sprecher — helft bei der Übersetzung der Dokumentation
- Datenquellen-Entwickler — baut neue Sammler (WeCom, Notion, Google Docs...)
- Designer — die Galerie und die Website brauchen euer Auge

---

<div align="center">

**Diese Roadmap gehört der Community. Prioritäten verschieben sich basierend auf eurem Feedback.**

Hast du Ideen? Komm zu [Discord](https://discord.gg/2bbP2a7f) oder starte eine Discussion.

Jeder `.skill` ist eine fortgeführte Beziehung.

</div>


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)