omega-codex-cli

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Codex CLI Skill

Codex CLI 技能

Headless wrapper for OpenAI Codex CLI. Passes prompt as positional arg to
codex exec "PROMPT"
. Optimized for code generation and analysis. Requires OPENAI_API_KEY.
OpenAI Codex CLI的无界面封装工具,将提示词作为位置参数传递给
codex exec "PROMPT"
。 针对代码生成和分析做了优化,需要配置OPENAI_API_KEY。

When to Use

适用场景

  • Code generation tasks needing OpenAI/GPT model perspective
  • Cross-validation of code solutions with a non-Claude model
  • Tasks benefiting from Codex's code optimization focus
  • Multi-LLM consultation workflows
  • 需要从OpenAI/GPT模型视角处理的代码生成任务
  • 使用非Claude模型对代码解决方案进行交叉验证
  • 可受益于Codex代码优化能力的任务
  • 多LLM咨询工作流

Usage

使用方法

Ask a question

提问

bash
node .claude/skills/omega-codex-cli/scripts/ask-codex.mjs "Implement a Redis caching layer for Express"
bash
node .claude/skills/omega-codex-cli/scripts/ask-codex.mjs "Implement a Redis caching layer for Express"

With timeout

带超时设置

bash
node .claude/skills/omega-codex-cli/scripts/ask-codex.mjs "Refactor this module" --timeout-ms 120000
bash
node .claude/skills/omega-codex-cli/scripts/ask-codex.mjs "Refactor this module" --timeout-ms 120000

JSONL streaming output

JSONL流式输出

bash
node .claude/skills/omega-codex-cli/scripts/ask-codex.mjs "Generate unit tests" --json
bash
node .claude/skills/omega-codex-cli/scripts/ask-codex.mjs "Generate unit tests" --json

Sandbox mode

沙箱模式

bash
node .claude/skills/omega-codex-cli/scripts/ask-codex.mjs "Write and test a sort algorithm" --sandbox
bash
node .claude/skills/omega-codex-cli/scripts/ask-codex.mjs "Write and test a sort algorithm" --sandbox

Availability Check

可用性检查

bash
node .claude/skills/omega-codex-cli/scripts/verify-setup.mjs
bash
node .claude/skills/omega-codex-cli/scripts/verify-setup.mjs

Exit 0 = available (CLI found + OPENAI_API_KEY set)

退出码 0 = 可用(已找到CLI + 已设置OPENAI_API_KEY)

Exit 1 = not available

退出码 1 = 不可用

undefined
undefined

Scripts

脚本

ScriptPurpose
ask-codex.mjs
Core headless wrapper — prompt as positional arg
parse-args.mjs
Argument parser (--model, --json, --sandbox, --timeout-ms)
verify-setup.mjs
Availability check (CLI + OPENAI_API_KEY)
format-output.mjs
JSONL event stream normalization
脚本用途
ask-codex.mjs
核心无界面封装工具 — 接收提示词作为位置参数
parse-args.mjs
参数解析器(支持--model、--json、--sandbox、--timeout-ms参数)
verify-setup.mjs
可用性检查(检查CLI是否存在 + OPENAI_API_KEY是否配置)
format-output.mjs
JSONL事件流标准化输出

Flags

参数说明

FlagDescription
--model MODEL
Codex model to use
--json
JSONL event stream output
--sandbox
Workspace-write sandbox mode
--timeout-ms N
Timeout in milliseconds (exit code 124 on expiry)
参数描述
--model MODEL
要使用的Codex模型
--json
输出JSONL事件流
--sandbox
工作区可写沙箱模式
--timeout-ms N
超时时间(单位为毫秒,超时后退出码为124)

Exit Codes

退出码说明

CodeMeaning
0Success
1Error (CLI failure, auth issue, API error)
124Timeout (--timeout-ms exceeded)
码值含义
0执行成功
1错误(CLI执行失败、认证问题、API错误)
124超时(超出--timeout-ms设置的时长)

Anti-Patterns & Iron Laws

反模式与铁律

  1. ALWAYS verify OPENAI_API_KEY is set before invocation
  2. NEVER use stdin for prompt delivery — Codex uses positional arg
  3. ALWAYS include --skip-git-repo-check (built into wrapper)
  4. ALWAYS set --timeout-ms for production usage
  5. NEVER assume --json output is standard JSON — it produces JSONL event stream
  1. 调用前务必验证OPENAI_API_KEY已配置
  2. 禁止使用标准输入传递提示词 — Codex使用位置参数接收
  3. 务必携带--skip-git-repo-check参数(已内置到封装工具中)
  4. 生产环境使用时务必设置--timeout-ms参数
  5. 不要认为--json输出是标准JSON格式 — 它输出的是JSONL事件流

Integration Notes

集成说明

  • API key:
    OPENAI_API_KEY
    env var required
  • Rate limits: OpenAI API rate limits apply
  • Platform: Full cross-platform (Windows uses cmd.exe /d /s /c wrapper)
  • API密钥: 需要配置
    OPENAI_API_KEY
    环境变量
  • 速率限制: 遵循OpenAI API的速率限制规则
  • 平台支持: 完全跨平台(Windows下使用cmd.exe /d /s /c封装运行)

Memory Protocol (MANDATORY)

存储协议(强制要求)

Before starting: Read
.claude/context/memory/learnings.md
After completing:
  • New pattern ->
    .claude/context/memory/learnings.md
  • Issue found ->
    .claude/context/memory/issues.md
  • Decision made ->
    .claude/context/memory/decisions.md
ASSUME INTERRUPTION: If it's not in memory, it didn't happen.
Note: Use
pnpm search:code
to discover references to this skill codebase-wide.
执行前: 读取
.claude/context/memory/learnings.md
执行完成后:
  • 新的模式 -> 写入
    .claude/context/memory/learnings.md
  • 发现的问题 -> 写入
    .claude/context/memory/issues.md
  • 做出的决策 -> 写入
    .claude/context/memory/decisions.md
假设存在中断风险:如果内容没有写入存储,就等于没有发生过。
注意:使用
pnpm search:code
可以检索整个代码库中对该技能的引用。