# Project Knowledge Expert - 项目知识库构建专家

## 技能描述

基于用户提供的信息（豆包对话、口头表述、会议内容等），以行业专家视角构建项目知识库，输出结构化飞书文档。

## 核心能力

1. **意图识别** - 无需触发词，理解用户真实意图
2. **多源信息收集** - 豆包对话 + 口头表述 + 会议内容 + 工作日志
3. **专家视角分析** - Critical Thinking，指出缺失和问题
4. **行业对标** - 对比特斯拉/比亚迪/华为最佳实践
5. **补全架构** - 补充业务/技术/组织模块
6. **飞书文档生成** - 输出完整解决方案

## 与豆包专家点评的区别

| 维度 | 豆包专家点评 | 项目知识库专家 |
|------|-------------|---------------|
| 输入 | 豆包会话 | 豆包 + 口头 + 会议 |
| 输出 | HTML 网页 | 飞书文档 |
| 视角 | 知识总结 | 行业专家批判 |
| 目标 | 学习理解 | 构建项目知识库 |

## 文档结构标准（产品方案文档）

### 项目基本信息摘要（开头）

| 字段 | 内容 |
|------|------|
| 项目编号 | XM-2026-001 |
| 项目类别 | 数据治理 + 产能监控 |
| 项目经理 | 待明确 |
| 应用部门 | 供应链管理部 |
| 预期上线时间 | 2026-06-30（一期） |
| 项目概述 | 分 2 期实施... |

### 第一部分：业务背景和需求

1. **业务背景** - 业务现状、面临的变化、带来的挑战
2. **当前现状和痛点** - 业务目标、业务现状、具体场景问题、业务痛点
3. **业务架构描述** - 业务流程图、关系图（实物流/资金流/商流）
4. **明确的业务需求** - 高亮块概括、需求概览、细化需求
5. **业务价值** - 论点 + 论据

### 第二部分：数据侧/解决方案

1. **方案目标** - 针对业务需求，怎么干
2. **产品规划** - 做成什么样、分阶段实施、里程碑
3. **产品设计** - 架构图、核心功能模块

### 第三部分：项目规划

1. **组织架构** - 指导委员会、铁三角、专家团、联合团队
2. **实施计划** - 时间、阶段、里程碑
3. **沟通机制** - 日站会、周例会、月度评审
4. **实施费用** - 总成本、分项成本
5. **实施计划图** - 时间轴可视化

## 批注协作流程（重要）

### 流程设计

**方式一：飞书文档批注（适合远程协作）**
```
第 1 轮：AI 生成飞书文档初稿 → 用户查看
第 2 轮：AI 发送批注清单（飞书消息）→ 用户回复
第 3 轮：AI 根据回复修订文档 → 更新版本号
... 循环直到定稿
```

**方式二：本地 Word 批注（适合快速迭代）**
```
第 1 轮：AI 生成 Word 文档 → 自动打开 → 用户添加批注/回复
第 2 轮：AI 读取 Word 批注 → 生成新版本 → 自动打开
... 循环直到定稿
```

### 版本号规范

**格式：** `V{主版本}.{次版本}.{修订号}`（大 V 开头）

- `V1.0.0` - 初稿
- `V1.1.0` - 小修订
- `V2.0.0` - 重大更新（架构调整）

**修订记录表：**

| 版本号 | 修订日期 | 修订者 | 修订内容 |
|--------|---------|--------|---------|
| V1.0.0 | 2026-03-06 | 阿福 | 初稿生成 |
| V1.1.0 | 2026-03-XX | 阿福 | 根据批注回复修订 |

### 批注类型

| 类型 | 说明 | 示例 |
|------|------|------|
| ❓ 疑问 | 信息不足，需要确认 | "此处需要确认项目经理人选？" |
| ⚠️ 风险提示 | 可能有问题 | "产能达标率 68% 是否准确？" |
| 💡 建议 | 有更好的表述 | "建议补充具体时间节点" |
| 📝 待补充 | 信息缺失 | "此处需要补充实施费用明细" |
| ✅ 确认 | 需要用户确认 | "请确认此流程是否符合实际？" |

### 批注清单格式（飞书消息）

```markdown
## 📝 第 2 轮批注清单（共 X 条）

**文档：** [项目名称] v1.0.0
**文档链接：** [飞书文档 URL]
**批注时间：** 2026-03-XX
**状态：** 待用户回复

---

### ❓ 疑问类（X 条）

**批注 001：** 项目经理人选未明确
- 位置：项目基本信息摘要
- 内容：建议确认项目经理姓名和联系方式
- 需要回复：✅ 是

---

### ⚠️ 风险提示（X 条）

**批注 002：** 产能达标率数据准确性
- 位置：1.2 当前现状和痛点
- 内容：68% 是否为最新数据？建议确认
- 需要回复：✅ 是

---

### 💡 建议类（X 条）

**批注 003：** 补充具体时间节点
- 位置：3.2 实施计划
- 内容：建议补充每个里程碑的具体日期
- 需要回复：❌ 否（可选建议）

---

**请用户在每个批注下回复，回复完成后通知我进行第 3 轮修订！**
```

### 用户回复格式

```
批注 001 回复：
确认修改。项目经理：张三，联系方式：zhangsan@xiaomi.com

批注 002 回复：
68% 是最新数据，确认无误。

批注 003 回复：
采纳建议，补充具体日期。
```

### AI 修订流程

**飞书文档流程：**
1. **读取用户回复** - 解析每条批注的回复
2. **修订文档内容** - 根据回复修改对应章节
3. **更新版本号** - V1.0.0 → V1.1.0
4. **更新修订记录** - 添加新记录
5. **发送确认消息** - 通知用户修订完成

**本地 Word 流程：**
1. **读取 Word 文档** - 使用 Word COM 对象打开文档
2. **读取原生批注** - 遍历 `doc.Comments` 集合
3. **解析批注回复** - 提取用户回复内容
4. **生成新文档** - 根据批注修订，添加版本号到标题
5. **自动打开** - 使用 `Start-Process` 打开新文档
6. **发送通知** - 飞书发送语音 + 文字说明

## 用户偏好

### 学习偏好
- ✅ **视觉学习者** - 专业结构化图表，不要手绘风格
- ✅ **科学杂志风** - Nature 排版 + 小红书图标
- ✅ **金字塔原理** - 结论先行，以上统下
- ✅ **Critical Thinking** - 主动思考，不被动接受
- ✅ **业务价值导向** - 先说价值再说实现
- ✅ **MECE 法则** - 论据不重复不遗漏
- ✅ **第一性原理** - 回归本质，演绎推理

### 文档协作偏好
- ✅ **本地 Word 批注** - 使用 Word 原生批注功能，快速迭代
- ✅ **自动打开文档** - 生成 Word 后自动 `Start-Process` 打开
- ✅ **大 V 版本号** - 版本号用大写 V 开头（如 V2.0）
- ✅ **文件名含版本号** - 避免混淆（如 `阿福 Skills 汇总文档 V2.0.docx`）
- ✅ **修订记录表** - 文档末尾记录版本变更

### 语音偏好
- ✅ **文字 + 语音** - 飞书同时发送文字版和语音版
- ✅ **自动播放** - TTS 生成后自动本地播放（0 步操作）
- ✅ **filePath 参数** - message 工具用 `filePath` 发送语音

### 优先级排序
- 🔴 **P0** - 视觉学习者、自动播放
- 🟡 **P1** - 金字塔原理、Critical Thinking
- 🟢 **P2** - MECE 法则

## 触发条件

- 用户提供项目相关信息（无需特定触发词）
- 用户明确要求"生成项目方案"、"写专家解决方案"
- 用户发送会议纪要、豆包会话、口头表述

## 输出格式

**飞书文档：**
- 分块写入（每块 30-50 blocks，避免 400 错误）
- 文档头部添加版本记录表
- 使用专业配色和布局

**本地 Word 文档：**
- 使用 Word COM 对象生成（100% 中文支持）
- 文件名包含版本号（如 `文档名 V2.0.docx`）
- 生成后自动打开（`Start-Process`）
- 支持读取原生批注（`doc.Comments`）

**飞书消息：**
- 批注清单（结构化 Markdown）
- 修订完成通知（文字 + 语音）
- 版本更新提醒

## 示例用法

**用户：** "帮我写一个感知与行动中心的专家解决方案"

**AI：**
1. 收集信息（豆包会话、会议纪要、工作日志）
2. 生成初稿（v1.0.0）
3. 发送批注清单
4. 等待用户回复
5. 修订文档（v1.1.0）
6. 循环直到定稿

## 文件结构

```
skills/project-knowledge-expert/
├── SKILL.md                          # 技能定义
├── README.md                         # 使用说明
├── scripts/
│   └── generate-project-solution.ps1 # 主脚本
└── templates/
    ├── version-header.md             # 版本记录表模板
    └── comment-list.md               # 批注清单模板
```

## 注意事项

### 飞书文档
1. **分块写入策略** - 长文档按章节分块写入（每块 30-50 blocks，避免 400 错误）
   - **策略：** 先写大纲 → 逐章写入 → 遇到超长章节再分小节
   - **案例：** 感知与行动中心 v2.0 共 223 blocks，分 6 块写入成功
2. **版本管理** - 文档头部必须有版本记录表
3. **批注流程** - 用飞书消息模拟批注（飞书批注 API 未打通）
4. **用户确认** - 重要修改需用户确认
5. **知识归档** - 定稿后归档到项目知识库

### 本地 Word 文档
1. **中文编码** - 使用 Word COM 对象生成（python-docx 会乱码）
2. **自动打开** - 生成后立即 `Start-Process` 打开
3. **批注读取** - 使用 `doc.Comments` 读取原生批注
4. **文件命名** - 文件名包含版本号，避免混淆
5. **版本迭代** - 每次修订生成新文件，保留历史版本

### 完整工作流
```
用户提出需求 → AI 生成初稿（Word/飞书） → 用户批注回复 → 
AI 读取批注 → 生成新版本 → 自动打开 → 用户确认 → 
循环迭代 → 定稿归档
```

## 参考文档

- 产品方案文档结构：`product-solution-structure.md`
- 感知与行动中心案例：`tasks/projects/感知与行动中心 - 交付域风险管控.md`
- Skills 汇总文档：`skills/阿福 Skills 汇总文档 V2.0.docx`

## 技术选型原则（重要洞察）

### 本地优先 vs 云端优先

**核心洞察（2026-03-07）：**
> 大厂 APP 表面光鲜，但自动化一测就露馅。能本地就别云端，能老牌就别新潮。

**对比：**

| 维度 | 飞书文档（云端） | Word/Excel（本地） |
|------|-----------------|-------------------|
| **API 稳定性** | ❌ 多处 404（批注/权限） | ✅ COM 对象 100% 稳定 |
| **中文支持** | ✅ 良好 | ✅ 完美（COM 对象） |
| **批注功能** | ❌ API 未开放 | ✅ 原生支持 |
| **长文档写入** | ⚠️ 需分块（50 blocks 限制） | ✅ 无限制 |
| **自动化难度** | ⚠️ 高（各种限制） | ✅ 低（成熟 API） |
| **技术积累** | 🆕 几年 | 🏆 几十年 |

**经验教训：**
1. **自动化是试金石** - 逼你走少有人走的路，暴露真实问题
2. **光鲜表面下可能破烂** - 大厂 APP 很多功能没人深用，所以没完善
3. **老牌软件更可靠** - Word/Excel 几十年积累，不是新势力能比的
4. **能调用才是真能力** - 云端功能再花哨，API 不稳定就是摆设

**技术选型建议：**
- ✅ **优先本地** - Word COM 对象、Excel COM 对象
- ✅ **优先老牌** - Office 套件 > 云端文档
- ⚠️ **云端备选** - 仅用于协作分享，不用于自动化生成
- ⚠️ **验证 API** - 关键功能先测试 API 是否可用

---

## 技术实现

### 飞书文档分块写入策略（重要）

**核心思想：** 化整为零，逐章击破

**步骤：**
1. **写大纲** - 先创建文档框架（所有一级标题）
2. **逐章写入** - 按章节顺序写入内容
3. **检测长度** - 每章预估 blocks 数
4. **超长分块** - 单章超过 50 blocks 时，分成多个小节写入
5. **累加计数** - 追踪已写入 blocks 总数

**代码示例：**
```powershell
# 分块写入法
$blocks = ConvertTo-FeishuBlocks -Content $chapterContent
if ($blocks.Count -gt 50) {
    # 分块写入
    for ($i = 0; $i -lt $blocks.Count; $i += 50) {
        $chunk = $blocks[$i..[Math]::Min($i+49, $blocks.Count-1)]
        Invoke-FeishuAppend -DocToken $docToken -Blocks $chunk
    }
} else {
    # 一次性写入
    Invoke-FeishuAppend -DocToken $docToken -Blocks $blocks
}
```

**成功案例：**
- 感知与行动中心 v2.0：223 blocks，分 6 块写入
- 每块约 30-40 blocks，全部成功

### Word COM 对象生成文档

```powershell
$word = New-Object -ComObject Word.Application
$word.Visible = $true
$doc = $word.Documents.Add()
$selection = $word.Selection
$selection.Font.Name = "Microsoft YaHei"
# ... 添加内容 ...
$doc.SaveAs([ref]$savePath)
```

### 读取 Word 批注

```powershell
$doc = $word.Documents.Open($path, $false, $true)
foreach ($comment in $doc.Comments) {
    Write-Host "作者：$($comment.Author)"
    Write-Host "内容：$($comment.Range.Text)"
    Write-Host "日期：$($comment.Date)"
}
```

### 自动打开文档

```powershell
Start-Process $savePath
```

---

_最后更新：2026-03-07 00:45 - 添加本地 Word 批注流程_
