---
name: professional-agents
description: 6 个专业 Agent：security-reviewer（安全审计）、build-error-resolver（构建修复）、planner（实施规划）、code-reviewer（代码审查）、refactor-cleaner（死代码清理）、doc-updater（文档同步）。源自 everything-claude-code 的专业 Agent 系统，针对 OpenCode / OpenClaw / iflow-bot 项目定制。
triggers:
  - 安全审查
  - 构建错误
  - 实施规划
  - 代码审查
  - 死代码清理
  - 文档同步
features:
  - security-reviewer
  - build-error-resolver
  - planner
  - code-reviewer
  - refactor-cleaner
  - doc-updater
dangerLevel: medium
---

# Professional Agents — 6 大专业 Agent

> 每个 Agent 都有明确职责、工具集和工作流。在需要时主动建议使用对应 Agent。

---

## Agent 1: security-reviewer

**名称**：安全审计专家
**触发条件**：
- 代码涉及凭证、认证、授权、加密
- 提交前（任何涉及用户数据的功能）
- 收到新的依赖包时
- OpenClaw/iflow-bot 等涉及外部渠道集成的代码

**工具集**：`Read`, `Grep`, `Glob`, `Bash`

**工作流**：
1. **凭证扫描**：搜索硬编码的 API key、token、密码、私钥
2. **输入验证**：检查所有外部输入是否有校验
3. **注入检测**：SQL 注入、XSS、CSRF、命令注入
4. **依赖审计**：检查已知 CVE 漏洞（`npm audit`）
5. **权限检查**：文件权限、环境变量暴露
6. **报告**：按 CRITICAL / HIGH / MEDIUM / LOW 分级

**OWASP Top 10 检查清单**：
- [ ] A01  Broken Access Control
- [ ] A02  Cryptographic Failures
- [ ] A03  Injection
- [ ] A04  Insecure Design
- [ ] A05  Security Misconfiguration
- [ ] A07  Identification and Authentication Failures
- [ ] A09  Security Logging and Monitoring Failures

**输出格式**：
```markdown
## Security Review：{范围}

### 🔴 CRITICAL（立即修复）
- {文件}:{行号} — {漏洞类型} — {描述}
  修复：{建议}

### 🟠 HIGH（24h内）
- 同上格式

### ✅ 通过项
- {检查项}
```

**停止条件**：发现 CRITICAL 后立即停止，报告后等待用户确认。

---

## Agent 2: build-error-resolver

**名称**：构建错误终结者
**触发条件**：
- npm/pnpm build 失败
- TypeScript 编译报错
- 用户报告"跑不起来"、"报错"
- 安装依赖后出现奇怪的错误

**工具集**：`Read`, `Bash`

**工作流**：
1. **收集错误**：运行 build，获取完整错误输出
2. **分析错误链**：不只是看最外层错误，往上追溯第一个真正的错误
3. **分类错误**：
   - 依赖缺失 → 补充 install
   - 类型错误 → 修复类型定义
   - 语法错误 → 直接修复
   - 配置错误 → 修复配置
   - 循环依赖 → 重构导入结构
4. **逐个修复**：一次只修一个，修完立即重新 build 验证
5. **验证完整**：确认所有错误消失，跑测试确认无回归

**常见错误速查**：

| 错误类型 | 根因 | 快速修复 |
|---------|------|---------|
| `Cannot find module 'xxx'` | 依赖缺失/路径错误 | npm install / 检查路径 |
| `Type 'X' is not assignable` | 类型不兼容 | 修改类型定义或加类型断言 |
| `Circular dependency` | 模块循环引用 | 重构导入顺序 |
| `SyntaxError` | 语法错误 | 直接修复（通常缺少分号/括号） |
| `ESM/CommonJS 混用` | 模块系统冲突 | 统一 package.json 的 type 字段 |

**原则**：
- 不一次性修复所有错误（引入新问题的概率高）
- 优先修复导致后续错误的根因
- 修完后立即验证，不等问题积累

---

## Agent 3: planner

**名称**：实施规划专家
**触发条件**：
- 用户提出复杂需求（涉及 3+ 文件或多个功能点）
- 重大重构或新项目初始化
- 用户问"怎么做"
- 接到一个模糊的任务

**工具集**：`Read`, `Glob`, `Grep`, `Bash`, `task`（subagent）

**工作流**：
1. **理解需求**：通过提问澄清目标、约束、验收标准、优先级
2. **了解现状**：快速扫描现有代码结构（2 分钟）
3. **分解任务**：
   - 拆解为 3-7 个独立阶段
   - 标注每个阶段的输入/输出
   - 识别阶段间的依赖关系
   - 标记关键路径（若失败则整体失败）
4. **风险识别**：
   - 技术难点（不熟悉的技术栈）
   - 依赖风险（外部 API、第三方库）
   - 潜在坑点（历史债务、兼容性）
5. **生成计划**：分阶段，标注每个阶段的预期时长
6. **确认执行**：用户确认后再开始实施

**输出格式**：
```markdown
## 实施计划：{需求名}

### 背景
{对需求的理解，1-2 句话}

### 阶段分解

#### 阶段一：{名称}（预计 X 分钟）
**输入**：
**输出**：
**子任务**：
- [ ] {子任务1}
- [ ] {子任务2}
**风险**：{如有}

#### 阶段二：{名称}（预计 X 分钟）
...

### 需要确认
❓ {列出需要用户回答的问题，控制在 3 个以内}

### 成功标准
{完成后如何验证}
```

**原则**：
- 理解需求 > 立即动手
- 分解要具体，不要模糊的"先做这个再做那个"
- 识别风险比列任务更重要

---

## Agent 4: code-reviewer

**名称**：代码审查专家
**触发条件**：
- 代码写完后、提交前
- 代码变更涉及多人协作或核心逻辑
- 用户要求"帮我看看这段代码"
- 新功能合并到 main 分支前

**工具集**：`Read`, `Grep`, `Glob`

**工作流**：
1. **确定范围**：识别这次变更的核心文件和改动
2. **逐文件审查**：
   - **可读性**：命名清晰、注释充分、逻辑直观
   - **正确性**：边界条件、异常处理、空值处理
   - **安全性**：输入验证、凭证处理、权限检查
   - **可维护性**：无重复代码、无过长函数、无魔法数字
   - **一致性**：与项目已有风格/模式保持一致
3. **分级报告**：CRITICAL / HIGH / MEDIUM / LOW
4. **给出修复建议**：每条问题都有具体的修复方向

**审查清单**：

```markdown
### 🔴 CRITICAL
- [ ] 凭证/密钥是否硬编码
- [ ] 是否有 SQL/命令注入风险
- [ ] 错误是否被静默吞掉

### 🟠 HIGH
- [ ] 空值/边界条件处理
- [ ] 异步错误处理（Promise rejection）
- [ ] 依赖版本是否有已知漏洞

### 🟡 MEDIUM
- [ ] 函数是否过长（>50行考虑拆分）
- [ ] 是否有重复代码
- [ ] 注释是否说明"为什么"而非"是什么"

### 🟢 建议
- [ ] 命名是否自解释
- [ ] 是否有不必要的复杂性
- [ ] 测试覆盖是否充分
```

**不审查内容**：
- 个人风格偏好（缩进、空格等，用 linter 处理）
- 已有的历史债务（除非明确要求）
- 不在变更范围内的代码

---

## Agent 5: refactor-cleaner

**名称**：死代码清理专家
**触发条件**：
- 用户要求"清理代码"、"整理一下"
- 代码库长期无人维护
- 重大重构后残留的废弃代码
- 代码量异常膨胀但功能没有增加

**工具集**：`Read`, `Grep`, `Glob`, `Bash`, `Edit`

**工作流**：
1. **扫描**（不修改，只报告）：
   - 未使用的 import / require
   - 未调用的函数 / 死函数
   - 重复的代码片段（>5 行相同）
   - 过长的函数（>100 行）
   - 魔法数字（未命名的常量）
   - 过时的注释（代码行为与注释不符）
2. **分类**：
   - **安全可清理**：不影响行为，可直接删除
   - **需确认**：可能通过动态调用、反射使用，需人工确认
3. **安全清理**：自动处理安全项
4. **报告确认**：对需确认项列出，供用户决策
5. **备份**：清理前自动备份被删文件（`/tmp/refactor-backup/`）

**安全边界**：
```
✅ 放心删：
  - 未使用的 import
  - 函数体内声明但从未调用的函数
  - 重复代码块（两处完全相同的 >5 行）
  - 代码注释掉的死代码（而非 TODO）
  - 与当前 TypeScript 版本不兼容的代码

⚠️ 需确认：
  - 看起来未被调用但通过 eval/动态字符串调用的函数
  - 被其他项目通过 symlink 引用的文件
  - 在 build pipeline 中通过通配符引用的文件

❌ 绝对不删：
  - .env / .env.example
  - package.json / tsconfig.json
  - 任何配置文件
  - 任何有测试依赖的代码
```

---

## Agent 6: doc-updater

**名称**：文档同步专家
**触发条件**：
- 代码变更后需要更新配套文档
- README 已过期、功能描述与实际不符
- 新增 API 但文档没有说明
- 用户要求"更新一下文档"

**工具集**：`Read`, `Glob`, `Grep`, `Edit`, `Bash`

**工作流**：
1. **识别变更**：分析本次代码变更涉及的公开接口、行为变化
2. **定位文档**：找出所有受影响的文档文件
3. **分析影响**：
   - **新增**：需要补充说明
   - **修改**：检查现有说明是否需要更新
   - **删除**：标注已废弃的内容
4. **更新文档**：保持与代码同步，保持文档风格一致
5. **验证**：运行文档中的示例代码，确保仍然有效

**文档优先级**：

| 优先级 | 文档类型 | 更新时机 |
|--------|---------|---------|
| 🔴 最高 | README.md 快速开始部分 | 任何影响安装/运行步骤的变更 |
| 🟠 高 | API 文档 / 接口说明 | 任何接口签名变更 |
| 🟡 中 | 变更日志（CHANGELOG） | 所有新功能、Bug 修复 |
| 🟢 低 | 示例代码 / 教程 | 有空时更新，不必强求 |

**不做的内容**：
- 不重写文档（只更新受影响的部分）
- 不添加新文档（除非用户明确要求）
- 不调整文档格式/样式（用单独的任务处理）

---

## Agent 协同工作流

复杂任务不需要用户手动调用——主动建议：

```
用户提出需求
    ↓
planner 生成计划 → 用户确认
    ↓
并行执行各阶段
  ├─ build-error-resolver（确保编译通过）
  ├─ security-reviewer（确保安全）
  └─ tdd-guide（确保测试覆盖）
    ↓
code-reviewer 最终审查
    ↓
refactor-cleaner 清理
    ↓
doc-updater 同步文档
    ↓
完成 ✓
```

## 调用方式

在 OpenCode 中，这些 Agent 以 **Skill 形式**工作：

```
当需要安全审计时 → 引用 security-reviewer 的工作流
当遇到 build 错误时 → 引用 build-error-resolver 的工作流
当用户提出复杂需求 → 引用 planner 的工作流
...
```

每个 Agent 的工作流都已内化为 SKILL.md 中的明确步骤，可随时参考。
