home / skills / cuipengfei / prompts / codex-advisor

codex-advisor skill

/plugins/codex/skills/codex-advisor

npx playbooks add skill cuipengfei/prompts --skill codex-advisor

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
5.8 KB
---
name: codex-advisor
description: 调用 OpenAI Codex 获取第二意见,批判性评估后三分类展示给用户
---

# Codex 顾问技能

调用 OpenAI Codex MCP 获取代码审查或第二意见,对结果进行批判性评估并加注标签(不静默过滤),然后结构化展示给用户做最终决策。

## 执行步骤

### 第一步:推断用户意图

根据上下文自动推断场景:

| 上下文特征           | 推断场景 | 处理方式              |
| -------------------- | -------- | --------------------- |
| 有文件引用 (`@file`) | 代码审查 | 让 Codex 审查指定文件 |
| 有 git diff 上下文   | 变更审查 | 将 diff 嵌入请求      |
| 问句形式             | 第二意见 | 构建开放性咨询请求    |
| 无明确目标           | 整体评估 | 评估最近的工作        |

### 第二步:收集上下文

1. **获取项目目录**:当前工作目录
2. **提取项目规则**:读取 CLAUDE.md 中的关键规则(如有)
3. **准备基础内容**:
   - 如有文件引用:读取文件内容
   - 如有 git diff:执行 `git diff` 获取变更
   - 如有代码片段:从用户参数提取

**注意**:不需要预收集所有上下文。Codex 可以自己调用命令获取更多信息(见第三步)。

### 第三步:构建 Codex 请求

调用 Codex MCP:

```
mcp__codex-mcp__codex
- prompt: [构建的请求,包含上下文和具体问题]
- cwd: [当前项目目录]
- sandbox: read-only
- base-instructions: [从 CLAUDE.md 提取的项目规则,如有]
```

**Prompt 模板**:

```
请审查以下内容并提供反馈:

[上下文:文件内容/git diff/代码片段]

你可以使用以下只读命令收集更多上下文(按需使用):
- `git log --oneline -10` - 查看最近提交历史
- `git blame <file>` - 查看代码行的修改历史
- `git diff` - 查看未提交的变更
- `cat <file>` - 读取文件内容
- `rg <pattern>` - 搜索代码模式
- `find . -name "*.ts"` - 查找文件

请关注:
1. 潜在的 bug 或逻辑问题
2. 性能问题
3. 安全隐患
4. 可改进的设计

注意:请聚焦于有实际价值的建议,避免纯风格偏好的 nitpick。
```

### 第四步:处理 Codex 结果

⚠️ **核心原则**:
- **完整展示**:必须向用户展示 Codex 的所有反馈,不得自行过滤或决策
- **可读性改写**:若 Codex 表述晦涩难懂,改写为易读版本但保持原意
- **加注标签**:为每条建议添加评估标签,供用户参考(非决策)

#### 评估标签

对每条建议添加以下标签之一:

| 标签        | 适用情况                                                            |
| ----------- | ------------------------------------------------------------------- |
| ✅ **采纳** | 发现实际 bug、安全隐患、性能问题;提供更简洁实现;与项目模式一致    |
| 💬 **讨论** | 有价值但需权衡;涉及架构决策;改动影响范围大                        |
| 🎨 **风格** | 仅涉及风格偏好(命名、格式);与项目现有风格不一致                  |
| 🔧 **过度** | 引入不必要抽象层;为未来需求预设设计(YAGNI);复杂度增加但收益不明 |

#### 加注原则

- **不自行决策**:Claude 只加标签和理由,用户做最终决定
- **不静默过滤**:所有建议都展示给用户
- **标签仅供参考**:Claude 的评估可能有误,用户有最终决定权

### 第五步:结构化展示

按四分类格式展示结果(所有建议都展示,不过滤):

```markdown
## Codex 反馈评估

### ✅ 建议采纳

- **[建议标题]**: [建议内容]
  - 📌 理由:[为什么这个建议有价值]

### 💬 建议讨论

- **[建议标题]**: [建议内容]
  - 🤔 讨论点:[为什么需要用户决定]

### 🎨 风格建议

- **[建议标题]**: [建议内容]
  - 💡 说明:[与项目风格的差异,供参考]

### 🔧 可能过度

- **[建议标题]**: [建议内容]
  - ⚠️ 疑虑:[为什么认为可能过度工程化]

---

**你想要采纳哪些建议?**
(注:以上标签仅供参考,你可以采纳任何建议)
```

### 第六步:使用 AskUserQuestion 让用户选择

使用 `AskUserQuestion` 工具呈现建议选项:

- **multiSelect**: true
- 按相关性排序,最相关的放第一位并标记 "(Recommended)"
- 最多 4 个选项,超出的可通过 "Other" 引用

### 第七步:执行用户选择

根据用户选择:

- 如果用户选择采纳某些建议:帮助实现这些建议
- 如果用户想讨论某些建议:提供更多分析
- 如果用户不采纳任何建议:确认并结束

## Codex MCP 工具参考

```
# 启动新 Codex 会话
mcp__codex-mcp__codex
- prompt: string (必需) - 初始请求
- cwd: string (可选) - 工作目录
- sandbox: "read-only" | "workspace-write" | "danger-full-access"
- base-instructions: string (可选) - 覆盖默认指令
```

## 边界情况

### Codex 无响应或报错

```markdown
⚠️ Codex 调用失败

错误信息:[具体错误]

可能原因:

- Codex MCP 服务器未启动
- 网络问题
- API 配额用尽

建议:检查 Codex MCP 配置后重试,或直接描述你想获取的反馈。
```

### Codex 返回空结果

```markdown
Codex 审查完成,未发现需要改进的地方。

这可能意味着:

- 代码质量良好
- 或者需要更具体的审查方向

你想让我针对特定方面再次咨询 Codex 吗?
```

### 所有建议都标记为风格/过度

```markdown
## Codex 反馈评估

Codex 提供了 [X] 条建议,经评估后均标记为风格建议或可能过度:

### 🎨 风格建议

[列出风格建议]

### 🔧 可能过度

[列出可能过度的建议]

---

**结论**:Claude 认为这些建议可能价值有限,但你可以查看后自行决定是否采纳。
```