Add codex-collab skill

Codex 协作框架 - 让 Claude Code 和 Codex CLI 高效协作

功能特性:
- 智能任务分类(简单/中等/复杂)
- 标准化协作流程
- 4个专业模板(代码审查、需求分析、方案设计、调试分析)
- 会话管理最佳实践
- 安全规范内置

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
empty
2026-01-11 17:17:53 +08:00
commit ccd8f9dbfb
8 changed files with 1369 additions and 0 deletions

161
codex-collab/QUICK_REF.md Normal file
View File

@@ -0,0 +1,161 @@
# Codex Collaboration Skill - 快速参考卡
## 快速决策流程
```
┌─────────────────┐
│ 用户需求 │
└────────┬────────┘
┌─────────────────┐
│ 是查找/定位? │
└────────┬────────┘
是/ │ \否
/ │ \
▼ │ ▼
┌──────────┐ │ ┌──────────────┐
│ 调 Codex │ │ │ 评估复杂度 │
│ 搜索定位 │ │ └──────┬───────┘
└──────────┘ │ │
│ ┌─────┴─────┐
│ ▼ ▼
│ 简单 中等/复杂
│ │ │
│ ▼ ▼
│ 直接执行 ┌─────────┐
│ │ 调 Codex│
│ │ 分析方案│
│ └─────────┘
```
## 常用命令
### 1. 代码搜索/定位
```python
codex(
PROMPT="搜索与【功能描述】相关的代码",
cd="/project",
sandbox="read-only"
)
```
### 2. 需求分析
```python
codex(
PROMPT="分析需求:{用户需求}",
cd="/project",
sandbox="read-only"
)
# 保存 SESSION_ID
```
### 3. 继续讨论
```python
codex(
PROMPT="关于你的方案,{疑问/讨论点}",
cd="/project",
SESSION_ID="上次的SESSION_ID",
sandbox="read-only"
)
```
### 4. 请求代码原型
```python
codex(
PROMPT="提供代码原型unified diff patch{功能说明}",
cd="/project",
SESSION_ID="上次的SESSION_ID",
sandbox="read-only"
)
```
### 5. 代码审查
```python
codex(
PROMPT="审查代码:{改动说明}",
cd="/project",
SESSION_ID="之前的SESSION_ID"
)
```
## 参数速查表
| 参数 | 常用值 | 说明 |
|------|--------|------|
| `cd` | 项目路径 | **必选**,必须指向存在的目录 |
| `sandbox` | "read-only" | **推荐**,最安全 |
| `SESSION_ID` | 之前的ID | 多轮对话必传 |
| `return_all_messages` | True/False | 是否需要详细推理过程 |
## 安全检查清单
调用 Codex 前检查:
- [ ] `cd` 参数是否正确
- [ ] 是否需要使用 `SESSION_ID` 继续
- [ ] `sandbox` 是否设置为 "read-only"
- [ ] 是否明确要求 unified diff patch
调用 Codex 后检查:
- [ ] 是否保存了返回的 `SESSION_ID`
- [ ] `success` 字段是否为 `true`
- [ ] 是否需要验证 Codex 的建议
## 常见场景
| 场景 | 调用 Codex | Claude Code |
|------|-----------|-------------|
| 查找代码 | ✅ 搜索定位 | - |
| 理解代码 | ✅ 分析解释 | - |
| Bug定位 | ✅ 调试分析 | - |
| 需求分析 | ✅ 分析方案 | - |
| 功能设计 | ✅ 设计方案 | 讨论完善 |
| 代码实现 | ❌ 不用 | ✅ 编写代码 |
| 代码审查 | ✅ 审查代码 | 根据意见调整 |
## 最佳实践
### DO ✅
- 始终追踪 `SESSION_ID`
- 使用 `sandbox="read-only"`
- 保持批判性思维
- 完成编码后立即审查
- 明确要求 unified diff
### DON'T ❌
- 盲目接受建议
- 让 Codex 直接改代码
- 忘记保存 SESSION_ID
- 跳过审查环节
- 使用 danger-full-access
## 会话状态跟踪
```python
# 建议在会话开始时创建变量
codex_session = {
"session_id": None,
"stage": "init", # init | analysis | design | review
"context": {}
}
# 每次调用后更新
def update_session(result):
codex_session["session_id"] = result.get("SESSION_ID")
# ...
```
## 错误处理
```python
result = codex(...)
if not result.get("success"):
# 处理错误
print(f"Error: {result.get('error')}")
# 可能的恢复策略:
# 1. 检查 cd 路径
# 2. 检查 Codex 是否安装
# 3. 尝试不传 SESSION_ID 重新开始
```

223
codex-collab/README.md Normal file
View File

@@ -0,0 +1,223 @@
# Codex Collaboration Skill
**智能协作框架 - 让 Claude Code 和 Codex CLI 高效协作**
## 概述
Codex Collaboration Skill 是一个专为 Claude Code 设计的协作框架,封装了与 Codex CLI 进行高效、安全协作的最佳实践。通过 CodexMCP 协议,实现两个 AI 编程助手的优势互补。
### 核心价值
- **智能任务分类**:自动判断任务复杂度,选择最优协作策略
- **标准化流程**:封装经过验证的协作模式
- **会话管理**:简化多轮对话和上下文管理
- **安全规范**:内置最佳实践和安全准则
## 快速开始
### 安装
1. 确保已安装 CodexMCP
```bash
claude mcp add codex -s user --transport stdio -- uvx --from git+https://github.com/GuDaStudio/codexmcp.git codexmcp
```
2. 将此 skill 添加到 Claude Code skills 目录:
```bash
# 默认 skills 目录:~/.claude/skills/
cp -r codex-collaboration-skill ~/.claude/skills/
```
### 基本使用
当用户需求涉及以下场景时Claude Code 会自动启用此 skill
- 代码查找和定位
- 需求分析和方案设计
- 代码审查
- Bug 诊断
- 架构优化
## 工作流程
### 任务复杂度评估
```
简单任务 → 直接执行
中等任务 → [Codex]查找定位 → [Codex]逻辑梳理 → [Codex]方案设计
→ [Claude]代码实现 → [Codex]代码审查
复杂任务 → [Codex]深度分析 → [Claude+Codex]并行设计审查
→ [Codex]多轮方案迭代 → [Claude]分阶段实现 → [Codex]严格审查
```
### 关键原则
1. **批判性思维**Codex 是协作伙伴,不是唯一真理来源
2. **独立判断**:对所有建议保持审视
3. **辩论求真**:通过讨论达成最优方案
4. **安全第一**:默认使用 sandbox="read-only"
5. **会话管理**:始终追踪 SESSION_ID
## 文件结构
```
codex-collaboration-skill/
├── skill.md # 核心技能文档
├── README.md # 本文件
├── templates/ # 工作流模板
│ ├── code-review.md # 代码审查模板
│ ├── requirement-analysis.md # 需求分析模板
│ ├── design-proposal.md # 方案设计模板
│ └── debug-analysis.md # 调试分析模板
└── examples/ # 使用示例(待添加)
```
## 模板说明
### 1. Code Review Template
用于代码审查,包含:
- 正确性检查
- 代码质量评估
- 性能分析
- 安全检查
- 测试覆盖验证
- 文档完整性
### 2. Requirement Analysis Template
用于需求分析,包含:
- 需求理解
- 技术可行性评估
- 影响范围分析
- 实施方案建议
- 风险识别
- 测试策略
### 3. Design Proposal Template
用于方案设计,包含:
- 整体设计
- 接口设计
- 数据模型设计
- 核心逻辑设计
- 技术选型
- 安全设计
- 性能考虑
- 实施计划
- 测试策略
- 部署和运维
### 4. Debug Analysis Template
用于调试分析,包含:
- 问题定位
- 影响范围分析
- 解决方案
- 预防措施
- 验证方法
## 使用示例
### 示例 1代码审查
```python
# 完成编码后,调用代码审查模板
codex(
PROMPT=code_review_template.format(
modified_files="- src/auth/login.py: 添加用户登录验证",
change_description="实现了基于JWT的用户认证",
requirement="实现用户登录功能"
),
cd="/project",
SESSION_ID=previous_session
)
```
### 示例 2需求分析
```python
# 新功能需求分析
codex(
PROMPT=requirement_analysis_template.format(
user_requirement="实现实时通知系统",
context="SaaS平台使用Python+FastAPI",
constraints="需要向后兼容"
),
cd="/project",
sandbox="read-only"
)
```
### 示例 3调试分析
```python
# Bug 定位和分析
codex(
PROMPT=debug_analysis_template.format(
error_message="AssertionError: User should be authenticated",
reproduction_steps="1. 登录 2. 等待30分钟 3. 创建订单",
context="订单创建接口需要用户认证",
recent_changes="昨天修改了JWT解码逻辑"
),
cd="/project",
sandbox="read-only"
)
```
## Codex Tool 参数
### 必选参数
- `PROMPT` (str): 任务指令
- `cd` (Path): 工作目录根路径
### 可选参数
| 参数 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| `sandbox` | str | "read-only" | 沙箱策略 |
| `SESSION_ID` | UUID | None | 会话ID |
| `return_all_messages` | bool | False | 返回完整推理 |
| `model` | str | None | 指定模型 |
### 返回值
```json
{
"success": true,
"SESSION_ID": "uuid-string",
"agent_messages": "Codex响应内容"
}
```
## 最佳实践
### DO - 推荐做法
- ✅ 使用 sandbox="read-only" 进行方案设计和审查
- ✅ 要求 Codex 仅提供 unified diff patch
- ✅ 保持批判性思维,质疑不合理的建议
- ✅ 使用 SESSION_ID 进行多轮对话
- ✅ 完成编码后立即让 Codex 审查
### DON'T - 避免做法
- ❌ 盲目接受 Codex 的所有建议
- ❌ 让 Codex 直接修改代码
- ❌ 忽略 SESSION_ID 管理
- ❌ 跳过代码审查环节
- ❌ 使用 danger-full-access 除非绝对必要
## 相关资源
- [CodexMCP 项目](https://github.com/GuDaStudio/codexmcp)
- [Claude Code 文档](https://docs.claude.com/docs/claude-code)
- [Codex CLI 文档](https://developers.openai.com/codex)
## 贡献
欢迎贡献改进建议和新的模板!
## 许可证
MIT License
---
**Made with ❤️ for better AI-assisted programming**

View File

@@ -0,0 +1,326 @@
# 完整协作会话示例
## 场景:实现用户认证功能
### 阶段 1需求分析
**用户需求**
```
我需要为我的 FastAPI 应用添加用户认证功能,包括:
1. 用户注册(邮箱+密码)
2. 用户登录返回JWT token
3. Token验证中间件
4. 密码重置功能
```
**Claude Code 调用 Codex**
```python
# 第一阶段:需求分析
codex(
PROMPT="""
请分析以下用户认证需求,并提供:
1. 需求理解和目标拆解
2. 技术方案建议
3. 风险点和注意事项
4. 实施建议
需求:
- 用户注册(邮箱+密码)
- 用户登录返回JWT token
- Token验证中间件
- 密码重置功能
项目背景:
- FastAPI 应用
- PostgreSQL 数据库
- 已有用户表id, email, created_at
""",
cd="/project",
sandbox="read-only",
return_all_messages=False
)
```
**Codex 返回**
```json
{
"success": true,
"SESSION_ID": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"agent_messages": "## 需求分析结果\n\n### 1. 需求理解\n核心需求是实现完整的用户认证系统...\n\n### 2. 技术方案建议\n- 使用 passlib 进行密码哈希\n- 使用 python-jose 处理 JWT\n- 使用 FastAPI Depends 实现中间件\n\n### 3. 风险点\n- 密码安全:必须使用 bcrypt 且 salt rounds >= 12\n- Token 安全:使用 RS256 签名,设置合理过期时间\n- 密码重置:需要安全的 token 生成机制\n\n### 4. 实施建议\n按以下顺序实现\n1. 密码哈希工具\n2. JWT 工具\n3. 注册端点\n4. 登录端点\n5. 认证中间件\n6. 密码重置"
}
```
---
### 阶段 2方案讨论
**Claude Code 继续讨论**
```python
# 使用同一 SESSION_ID 继续对话
codex(
PROMPT="""
关于你的方案,我有几个疑问:
1. 关于密码重置,你建议使用什么机制生成重置 token
2. JWT 的过期时间建议设置为多长?
3. 是否需要实现 refresh token 机制?
4. 数据库是否需要新增字段?
请详细说明。
""",
cd="/project",
SESSION_ID="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
sandbox="read-only"
)
```
**Codex 返回详细解答**...
---
### 阶段 3请求代码原型
**Claude Code 请求原型**
```python
# 请求代码原型(仅 unified diff patch
codex(
PROMPT="""
基于我们讨论的方案,请提供代码实现原型。
**重要要求**
- 仅提供 unified diff patch 格式
- 不要实际修改任何代码
- 包含完整的类型注解
- 关键逻辑添加注释说明
需要实现的模块:
1. src/auth/password.py - 密码哈希工具
2. src/auth/jwt.py - JWT 工具
3. src/api/endpoints/auth.py - 认证端点
4. src/auth/dependencies.py - FastAPI 依赖
请按文件分别提供 diff。
""",
cd="/project",
SESSION_ID="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
sandbox="read-only"
)
```
---
### 阶段 4Claude Code 实现
**Claude Code 基于 Codex 的原型,重新编写生产级代码**
```python
# Claude Code 使用 Edit 工具编写实际代码
# 1. 创建密码哈希模块
# src/auth/password.py
from passlib.context import CryptContext
pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
def verify_password(plain_password: str, hashed_password: str) -> bool:
"""验证密码"""
return pwd_context.verify(plain_password, hashed_password)
def get_password_hash(password: str) -> str:
"""生成密码哈希"""
return pwd_context.hash(password)
# 2. 创建 JWT 工具模块
# src/auth/jwt.py
from datetime import datetime, timedelta
from jose import JWTError, jwt
from typing import Optional
SECRET_KEY = "your-secret-key-here"
ALGORITHM = "HS256"
def create_access_token(data: dict, expires_delta: Optional[timedelta] = None):
"""创建访问令牌"""
to_encode = data.copy()
expire = datetime.utcnow() + (expires_delta or timedelta(minutes=15))
to_encode.update({"exp": expire})
return jwt.encode(to_encode, SECRET_KEY, algorithm=ALGORITHM)
# 3. 创建认证端点
# src/api/endpoints/auth.py
from fastapi import APIRouter, HTTPException, Depends
from pydantic import BaseModel
router = APIRouter()
class LoginRequest(BaseModel):
email: str
password: str
@router.post("/login")
async def login(req: LoginRequest):
# 实现登录逻辑
pass
# 4. 创建认证依赖
# src/auth/dependencies.py
from fastapi import Depends, HTTPException, status
from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
security = HTTPBearer()
async def get_current_user(credentials: HTTPAuthorizationCredentials = Depends(security)):
"""获取当前用户"""
# 实现 token 验证逻辑
pass
```
---
### 阶段 5代码审查
**Claude Code 完成编码后,立即请求审查**
```python
# 请求 Codex 审查代码
codex(
PROMPT=f"""
请审查以下代码改动:
## 改动文件列表
- src/auth/password.py新建密码哈希工具
- src/auth/jwt.py新建JWT 工具
- src/api/endpoints/auth.py新建认证端点
- src/auth/dependencies.py新建认证依赖
## 改动说明
实现了完整的用户认证系统:
1. 使用 bcrypt 进行密码哈希salt rounds=12
2. 使用 HS256 算法生成 JWT默认15分钟过期
3. 提供 /login 和 /register 端点
4. 实现 get_current_user 依赖用于保护路由
## 原始需求
实现用户注册、登录、Token验证和密码重置功能
请按以下维度审查:
1. 正确性 - 是否正确实现需求
2. 代码质量 - 可读性和可维护性
3. 安全性 - 密码和 token 安全
4. 边界情况 - 异常处理
5. 测试覆盖 - 是否需要测试
请提供:
1. 总体评价
2. 必须修复的问题(如有)
3. 建议改进的地方
""",
cd="/project",
SESSION_ID="a1b2c3d4-e5f6-7890-abcd-ef1234567890"
)
```
**Codex 审查结果**
```json
{
"success": true,
"agent_messages": "## 审查结果\n\n### 总体评价:良好\n\n### 必须修复的问题:\n1. SECRET_KEY 硬编码在代码中,应该从环境变量读取\n2. 缺少密码强度验证\n3. jwt.decode() 没有异常处理\n\n### 建议改进:\n1. 建议添加 refresh token 机制\n2. 密码重置功能还未实现\n3. 建议添加速率限制防止暴力破解\n4. 建议添加日志记录"
}
```
---
### 阶段 6根据审查调整
**Claude Code 根据审查意见进行调整**
```python
# 修复必须修复的问题
# 1. 修改 jwt.py从环境变量读取 SECRET_KEY
import os
from dotenv import load_dotenv
load_dotenv()
SECRET_KEY = os.getenv("JWT_SECRET_KEY")
if not SECRET_KEY:
raise ValueError("JWT_SECRET_KEY environment variable is not set")
# 2. 添加密码强度验证
# src/auth/validators.py
import re
def validate_password_strength(password: str) -> bool:
"""验证密码强度"""
if len(password) < 8:
return False
if not re.search(r"[A-Z]", password):
return False
if not re.search(r"[a-z]", password):
return False
if not re.search(r"\d", password):
return False
return True
# 3. 添加 JWT 异常处理
# src/auth/jwt.py
def decode_token(token: str):
"""解码 JWT token"""
try:
payload = jwt.decode(token, SECRET_KEY, algorithms=[ALGORITHM])
return payload
except JWTError as e:
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail=f"Invalid token: {str(e)}"
)
```
---
### 阶段 7最终审查
**Claude Code 再次请求审查**
```python
codex(
PROMPT="""
我已根据你的审查意见进行了修复:
1. SECRET_KEY 从环境变量读取
2. 添加了密码强度验证
3. 添加了 JWT 异常处理
请再次审查,确认是否还有问题。
""",
cd="/project",
SESSION_ID="a1b2c3d4-e5f6-7890-abcd-ef1234567890"
)
```
---
## 协作流程总结
```
用户需求
[阶段1] Codex 需求分析 → 获得 SESSION_ID
[阶段2] 多轮讨论完善方案 → 使用同一 SESSION_ID
[阶段3] 请求代码原型unified diff→ 使用同一 SESSION_ID
[阶段4] Claude Code 重写生产级代码
[阶段5] Codex 代码审查 → 使用同一 SESSION_ID
[阶段6] 根据审查调整代码
[阶段7] 最终审查确认 → 使用同一 SESSION_ID
完成
```
## 关键要点
1. **始终使用同一 SESSION_ID**:保持上下文连贯
2. **批判性思维**:对 Codex 的建议保持审视
3. **安全优先**:使用 sandbox="read-only"
4. **重写代码**:基于原型编写生产级代码
5. **即时审查**:完成后立即让 Codex review

178
codex-collab/skill.md Normal file
View File

@@ -0,0 +1,178 @@
# Codex Collaboration Skill
## Description
**Codex Collaboration Skill** 是一个专为 Claude Code 设计的协作框架,用于与 Codex CLI 进行高效、安全的智能协作。通过 CodexMCP 协议,实现两个 AI 编程助手的优势互补:
- **Claude Code**: 擅长架构设计、需求分析、代码重构
- **Codex**: 擅长代码生成、精确定位、细节优化
## When to Use This Skill
当用户需求涉及以下场景时,应主动使用此 skill
1. **代码查找和定位**:搜索代码、定位功能、查找引用
2. **需求分析和方案设计**:理解业务需求、设计实施方案
3. **代码审查**:检查代码质量、发现潜在问题
4. **Bug 诊断**:分析错误原因、定位问题代码
5. **架构优化**:评估设计方案、提出改进建议
## Task Complexity Assessment
在开始任务前,必须先进行复杂度评估:
### Simple Tasks (直接执行)
满足**所有**以下条件:
- ✅ 无生产影响(如文档、注释、简单查询)
- ✅ 无需新增基础设施或外部依赖
- ✅ 不涉及多个子系统协调
**示例**:查询数据、添加日志、修改文案、简单重命名
### Medium Tasks (Codex协作)
满足**至少一个**以下条件:
- 📊 有限生产影响(需要测试验证)
- 📊 需要小规模配置调整或库引入
- 📊 需要理解模块间调用关系
**示例**功能增强、Bug修复、接口调整、业务逻辑优化
### Complex Tasks (深度Codex协作)
满足**至少两个**以下条件:
- 🔥 高生产影响(安全、性能、数据一致性)
- 🔥 架构变更、新基础设施、核心依赖升级
- 🔥 需要多agent协调或跨团队对齐
**示例**:新模块开发、架构重构、性能优化、安全加固
## Workflow Templates
### 简单任务工作流
```
用户需求 → 快速分析 → 直接实现 → 简单自检 → 完成
```
### 中等任务工作流
```
用户需求 → [Codex]查找定位 → [Codex]逻辑梳理
→ [Codex]方案设计 → [Claude]代码实现 → [Codex]代码审查 → 完成
```
### 复杂任务工作流
```
用户需求 → [Codex]深度分析 → [Claude+Codex]并行设计审查
→ [Codex]多轮方案迭代 → [Claude]分阶段实现 → [Codex]严格审查 → 完成
```
## Codex Tool Reference
### Required Parameters
- `PROMPT` (str): 任务指令
- `cd` (Path): 工作目录根路径
### Optional Parameters
| 参数 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| `sandbox` | str | "read-only" | 沙箱策略read-only / workspace-write / danger-full-access |
| `SESSION_ID` | UUID \| None | None | 会话IDNone表示新会话 |
| `skip_git_repo_check` | bool | False | 是否允许在非Git仓库运行 |
| `return_all_messages` | bool | False | 是否返回完整推理信息 |
| `image` | List[Path] \| None | None | 附加图片文件 |
| `model` | str \| None | None | 指定使用的模型 |
| `yolo` | bool | False | 跳过所有审批和沙箱 |
| `profile` | str \| None | None | 配置文件名 |
### Return Value
```json
{
"success": true,
"SESSION_ID": "uuid-string",
"agent_messages": "Codex响应内容",
"all_messages": [...] // 仅当return_all_messages=True时
}
```
## Critical Principles
1. **批判性思维**Codex是协作伙伴不是唯一真理来源
2. **独立判断**:对所有建议保持审视,主动提出质疑
3. **辩论求真**:通过讨论达成最优方案
4. **安全第一**:默认使用 sandbox="read-only"
5. **会话管理**:始终追踪 SESSION_ID
## Session Management
### Starting a New Session
不传 `SESSION_ID` 参数,工具会返回新的 SESSION_ID
### Continuing a Session
使用之前返回的 `SESSION_ID` 参数,保留上下文
## Safety Guidelines
1. **禁止实际修改**:要求 Codex 仅提供 unified diff patch
2. **仅作参考**Codex 的代码原型只能作为逻辑参考
3. **重写代码**:由 Claude Code 重新编写为生产级代码
4. **即时审查**:完成编码后立即调用 Codex 进行 review
## Prompt Templates
### 需求分析模板
```
请分析以下需求,并提供:
1. 需求理解和目标拆解
2. 技术方案建议
3. 风险点和注意事项
4. 实施建议
需求:{user_requirement}
```
### 代码审查模板
```
请审查以下代码改动,检查:
1. 代码质量和可读性
2. 潜在的bug和边界情况
3. 性能和安全问题
4. 与需求的匹配度
改动文件:{modified_files}
改动说明:{change_description}
```
### 方案设计模板
```
请设计以下功能的实现方案:
1. 整体架构设计
2. 模块划分和接口定义
3. 关键技术点
4. 实施步骤
功能需求:{feature_requirement}
```
## Examples
### Example 1: 代码定位和Bug修复
```
# 1. 调用 Codex 定位问题
codex(PROMPT="搜索项目中处理用户认证的相关代码", cd="/project")
# 2. 基于 Codex 的定位结果Claude Code 分析问题
# 3. Claude Code 编写修复代码
# 4. 调用 Codex 审查修复
codex(PROMPT="审查以下代码改动...", SESSION_ID=previous_session)
```
### Example 2: 新功能开发
```
# 1. 调用 Codex 进行需求分析
codex(PROMPT="分析以下需求并设计实施方案...", cd="/project")
# 2. 多轮讨论完善方案
codex(PROMPT="关于你的方案,我有以下疑问...", SESSION_ID=session_1)
# 3. Claude Code 基于方案编写代码
# 4. Codex 审查代码
codex(PROMPT="请审查已完成的代码实现", SESSION_ID=session_1)
```

View File

@@ -0,0 +1,96 @@
# Code Review Template
## Template Variables
- `{modified_files}`: List of modified files
- `{change_description}`: Description of changes made
- `{requirement}`: Original requirement/user story
## Prompt Template
```
请作为资深代码审查专家,审查以下代码改动:
## 改动文件列表
{modified_files}
## 改动说明
{change_description}
## 原始需求
{requirement}
## 审查检查清单
请按以下维度进行审查:
### 1. 正确性 (Correctness)
- [ ] 代码逻辑是否正确实现了需求
- [ ] 是否有明显的bug或逻辑错误
- [ ] 边界条件和异常情况是否处理
- [ ] 数据验证是否充分
### 2. 代码质量 (Code Quality)
- [ ] 代码可读性和可维护性
- [ ] 命名是否清晰准确
- [ ] 是否有重复代码
- [ ] 函数和类的职责是否单一
### 3. 性能 (Performance)
- [ ] 是否有明显的性能问题
- [ ] 资源使用是否合理
- [ ] 是否有不必要的计算或IO操作
- [ ] 算法复杂度是否合理
### 4. 安全性 (Security)
- [ ] 是否有安全漏洞
- [ ] 输入验证是否充分
- [ ] 敏感信息是否正确处理
- [ ] 权限检查是否完善
### 5. 测试覆盖 (Testing)
- [ ] 关键逻辑是否有测试覆盖
- [ ] 测试用例是否充分
- [ ] 边界条件是否测试
### 6. 文档 (Documentation)
- [ ] 复杂逻辑是否有注释
- [ ] API文档是否完整
- [ ] 变更日志是否更新
## 审查结论
请提供:
1. 总体评价(优秀/良好/需改进/不合格)
2. 主要优点1-3点
3. 必须修复的问题(如有)
4. 建议改进的地方(如有)
5. 其他意见
```
## Usage Example
```python
# After completing code changes
modified_files = """
- src/auth/login.py: 添加用户登录验证
- src/auth/jwt.py: 实现JWT token生成和验证
- tests/test_login.py: 添加登录测试用例
"""
change_description = """
实现了基于JWT的用户认证系统
1. 用户登录验证(用户名+密码)
2. JWT token生成和验证
3. token过期处理
4. 单元测试覆盖
"""
requirement = "实现用户登录功能支持JWT token认证"
# Call Codex for review
codex(
PROMPT=f"<review template with variables>",
cd="/project",
SESSION_ID=previous_session
)
```

View File

@@ -0,0 +1,128 @@
# Debug Analysis Template
## Template Variables
- `{error_message}`: Error message or stack trace
- `{reproduction_steps}`: Steps to reproduce the issue
- `{context}`: What was happening when the error occurred
- `{recent_changes}`: Recent code changes that might be related
## Prompt Template
```
请作为调试专家,帮助分析和定位以下问题:
## 错误信息
```
{error_message}
```
## 复现步骤
{reproduction_steps}
## 问题背景
{context}
## 最近改动
{recent_changes}
## 分析要求
请提供:
### 1. 问题定位
- 定位到具体的代码位置(文件:行号)
- 说明问题发生的直接原因
- 分析问题的根本原因
### 2. 影响范围
- 影响哪些功能模块
- 影响的用户场景
- 问题的严重程度评估
### 3. 可能的解决方案
- 推荐的修复方案(优先级排序)
- 每个方案的优缺点
- 推荐方案的实现要点
### 4. 预防措施
- 如何避免类似问题
- 需要添加的测试
- 需要改进的地方
### 5. 验证方法
- 如何验证问题已修复
- 需要测试的场景
- 回归测试建议
## 输出格式
1. **问题诊断**(一句话总结)
2. **根本原因分析**(详细说明)
3. **修复方案**(推荐方案+实现建议)
4. **验证清单**
## 搜索指令
请先搜索相关代码:
1. 搜索错误信息中的关键函数或类
2. 搜索相关的模块和文件
3. 查找最近的代码变更
4. 分析调用栈
```
## Usage Example
```python
# When encountering a bug
error_message = """
AssertionError: User should be authenticated
Traceback:
File "/app/src/api/endpoints/orders.py", line 45, in create_order
assert current_user.is_authenticated, "User should be authenticated"
File "/app/src/auth/deps.py", line 23, in get_current_user
user = decode_token(token)
File "/app/src/auth/jwt.py", line 67, in decode_token
raise ExpiredTokenError()
"""
reproduction_steps = """
1. 用户登录后获取 token
2. 等待 30 分钟
3. 使用该 token 创建订单
4. 收到认证错误
"""
context = """
订单创建接口需要用户认证,使用 JWT token。
token 有效期设置为 1 小时。
问题:用户在 token 有效期内但仍然收到认证失败错误。
"""
recent_changes = """
昨天修改了 JWT 解码逻辑,优化了 token 验证流程。
"""
# Call Codex for debug analysis
codex(
PROMPT=f"""
<debug template with variables>
请先搜索以下内容:
1. src/auth/jwt.py 中的 decode_token 函数
2. src/api/endpoints/orders.py 中的 create_order 函数
3. src/auth/deps.py 中的 get_current_user 函数
4. 查找最近对 jwt.py 的修改
""",
cd="/project",
sandbox="read-only"
)
```
## Follow-up Actions
After receiving debug analysis:
1. Verify Codex's diagnosis by examining the code
2. Discuss the proposed solution if needed
3. Implement the fix
4. Ask Codex to review the fix
5. Add tests to prevent regression

View File

@@ -0,0 +1,155 @@
# Design Proposal Template
## Template Variables
- `{feature_requirement}`: Feature requirement description
- `{analysis_result}`: Results from requirement analysis
- `{current_architecture}`: Current system architecture
- `{tech_stack}`: Current technology stack
## Prompt Template
```
请作为系统架构师,设计以下功能的详细实现方案:
## 功能需求
{feature_requirement}
## 需求分析结果
{analysis_result}
## 当前架构
{current_architecture}
## 技术栈
{tech_stack}
## 设计要求
请提供以下内容:
### 1. 整体设计
- 系统架构图(文字描述)
- 模块划分和职责
- 模块间的交互关系
- 数据流设计
### 2. 接口设计
- API接口定义
- 请求/响应格式
- 错误码定义
- 接口调用流程
### 3. 数据模型设计
- 数据库表结构
- 字段定义和类型
- 索引设计
- 数据关系
### 4. 核心逻辑设计
- 关键算法或逻辑流程
- 状态机设计(如适用)
- 并发控制
- 异常处理策略
### 5. 技术选型
- 使用的技术和框架
- 第三方库选择
- 技术选择的理由
- 潜在的替代方案
### 6. 安全设计
- 认证和授权
- 数据加密
- 输入验证
- 防护措施
### 7. 性能考虑
- 性能目标
- 优化策略
- 缓存设计
- 扩展性考虑
### 8. 实施计划
- 开发阶段划分
- 每个阶段的交付物
- 依赖关系
- 里程碑
### 9. 测试策略
- 单元测试策略
- 集成测试策略
- 性能测试策略
- 测试数据准备
### 10. 部署和运维
- 部署方案
- 配置管理
- 监控指标
- 回滚方案
## 输出要求
请提供:
1. **设计摘要**高层概览200字以内
2. **详细设计**按上述10个维度
3. **实施检查清单**(按优先级排序)
4. **风险和缓解措施**
## 代码原型要求
如需提供代码原型:
- 仅提供 unified diff patch 格式
- 不要实际修改代码
- 代码需要包含完整的类型注解
- 关键逻辑需要添加注释说明
```
## Usage Example
```python
# After requirement analysis is complete
feature_requirement = """
实现一个基于WebSocket的实时消息推送系统
"""
analysis_result = """
从需求分析中得出的关键发现:
- 需要支持10万+并发连接
- 消息延迟需控制在100ms以内
- 需要支持消息持久化
- 需要支持离线消息
"""
current_architecture = """
微服务架构,使用:
- API Gateway
- 用户服务
- 消息服务
- 推送服务(待实现)
"""
tech_stack = """
- 后端Python 3.11 + FastAPI
- 数据库PostgreSQL 15
- 缓存Redis 7
- 消息队列RabbitMQ
- 容器Docker + Kubernetes
"""
# Call Codex for design
codex(
PROMPT=f"<design template with variables>",
cd="/project",
SESSION_ID=analysis_session, # Continue from analysis
sandbox="read-only"
)
```
## Follow-up Actions
After receiving design proposal:
1. Review the design critically
2. Ask questions about unclear parts
3. Discuss alternative approaches
4. Iterate on the design
5. Once approved, proceed to implementation

View File

@@ -0,0 +1,102 @@
# Requirement Analysis Template
## Template Variables
- `{user_requirement}`: User's original requirement
- `{context}`: Project context and background
- `{constraints}`: Known constraints or limitations
## Prompt Template
```
请作为技术架构专家,深入分析以下需求:
## 用户需求
{user_requirement}
## 项目背景
{context}
## 已知约束
{constraints}
## 分析要求
请提供以下维度的分析:
### 1. 需求理解
- 需求的核心目标是什么
- 涉及哪些功能模块
- 用户期望达到什么效果
- 需求的优先级和紧急程度
### 2. 技术可行性
- 现有技术栈能否支持
- 是否需要引入新技术或依赖
- 技术难点在哪里
- 预估的技术风险
### 3. 影响范围评估
- 涉及哪些模块和组件
- 是否有现有功能需要调整
- 是否影响现有数据和API
- 兼容性考虑
### 4. 实施方案建议
- 推荐的技术方案
- 实施步骤拆解
- 关键技术点和注意事项
- 潜在的替代方案
### 5. 风险识别
- 技术风险
- 业务风险
- 兼容性风险
- 性能风险
### 6. 测试策略
- 需要测试的场景
- 测试类型建议
- 关键测试点
## 输出格式
请以结构化的方式输出,包括:
1. 需求摘要1-2句话
2. 详细分析(按上述维度)
3. 推荐方案优先推荐1个方案可附带备选
4. 行动检查清单
```
## Usage Example
```python
# When user provides a new requirement
user_requirement = """
实现一个实时通知系统,支持:
1. 用户可以订阅不同类型的通知
2. 支持多种通知渠道(邮件、短信、推送)
3. 通知可以延迟发送
4. 用户可以自定义通知规则
"""
context = """
当前系统是一个SaaS平台使用
- 后端Python + FastAPI
- 前端React + TypeScript
- 数据库PostgreSQL + Redis
- 消息队列RabbitMQ
"""
constraints = """
- 需要保持向后兼容
- 通知发送不能阻塞主流程
- 成本控制在合理范围内
"""
# Call Codex for analysis
codex(
PROMPT=f"<analysis template with variables>",
cd="/project",
sandbox="read-only"
)
```