home / skills / cuipengfei / prompts / codex-advisor
npx playbooks add skill cuipengfei/prompts --skill codex-advisorReview the files below or copy the command above to add this skill to your agents.
---
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 认为这些建议可能价值有限,但你可以查看后自行决定是否采纳。
```