https://github.com/cskwork/claude-codex-skill
Image gen via Codex CLI without an OPENAI_API_KEY — plus code review & implementation. A Claude Code skill.
https://github.com/cskwork/claude-codex-skill
ai-tools claude-code claude-code-skill code-review codex codex-cli developer-tools image-generation llm-tools openai
Last synced: 21 days ago
JSON representation
Image gen via Codex CLI without an OPENAI_API_KEY — plus code review & implementation. A Claude Code skill.
- Host: GitHub
- URL: https://github.com/cskwork/claude-codex-skill
- Owner: cskwork
- License: mit
- Created: 2026-05-03T08:46:36.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-03T10:09:47.000Z (about 2 months ago)
- Last Synced: 2026-05-03T11:22:22.214Z (about 2 months ago)
- Topics: ai-tools, claude-code, claude-code-skill, code-review, codex, codex-cli, developer-tools, image-generation, llm-tools, openai
- Language: Python
- Size: 2.6 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# claude-codex-skill
> **Generate images with the OpenAI Codex CLI without an `OPENAI_API_KEY` — plus second-opinion code review and implementation, all from inside Claude Code.**
↑ Generated by codex exec in 12 seconds. No OPENAI_API_KEY. Just codex login with ChatGPT.
---
## The hook
**`codex` CLI ships with a built-in image generation tool (`image_gen.imagegen`) that nobody talks about.**
It's gated behind a feature flag that is **already on by default** (`codex features list | grep image_generation`). It uses your ChatGPT subscription auth — no separate OpenAI API key, no separate billing.
The catch: in `codex exec` mode, the model only picks this tool if you don't tell it to "use the OpenAI API" or "use curl/python". Most users never discover it.
This skill teaches Claude Code the right prompt shape to unlock it — plus wires up two more modes for the things `codex` is actually built for: **review** and **impl**.
## Three modes
The skill exposes one slash command, `/codex-cli`, with a subcommand as the first argument:
| Invocation | What it does | Example |
|---|---|---|
| `/codex-cli review` | Hands the diff to Codex for a second-opinion review | `/codex-cli review --base main` |
| `/codex-cli impl ` | Hands a coding task to Codex non-interactively | `/codex-cli impl "add JWT refresh to api/auth.ts"` |
| `/codex-cli image ` | Generates an image via Codex's built-in tool — no API key | `/codex-cli image "isometric CPU diagram, neon"` |
You can also just describe what you want in natural language ("ask codex to review my diff", "have codex generate an isometric CPU diagram"). The skill's `when_to_use` field tells Claude to load it on those phrasings.
## Install
### One-liner (Windows / PowerShell)
```powershell
iwr -useb https://raw.githubusercontent.com/cskwork/claude-codex-skill/main/install.ps1 | iex
```
### One-liner (macOS / Linux)
```bash
curl -fsSL https://raw.githubusercontent.com/cskwork/claude-codex-skill/main/install.sh | bash
```
### Manual
Drop `SKILL.md` into your Claude Code skills directory:
| OS | Path |
|---|---|
| Windows | `%USERPROFILE%\.claude\skills\codex-cli\SKILL.md` |
| macOS / Linux | `~/.claude/skills/codex-cli/SKILL.md` |
Restart Claude Code. The skill auto-registers — type `/codex-cli` to confirm.
## Prerequisites
- [Claude Code](https://docs.claude.com/en/docs/claude-code) installed
- [Codex CLI](https://github.com/openai/codex) ≥ 0.128.0 (`codex --version`)
- `codex login status` shows "Logged in" (ChatGPT login is enough; API key login also works)
## Usage examples
### 1. Code review on uncommitted changes
```
/codex-cli review
```
Claude takes Codex's findings, regroups them by **CRITICAL / HIGH / MEDIUM / LOW**, and writes them back as a structured review with `file:line` citations — instead of dumping raw output. If Codex contradicts something Claude already verified, it flags the conflict instead of silently siding with Codex.
### 2. Hand off a coding task
```
/codex-cli impl "add a /healthz endpoint to api/server.ts that returns 200 if redis is reachable"
```
Runs `codex exec -s workspace-write -C `, sandboxed to your workspace. Network access on, writes outside the repo blocked.
### 3. Generate an image
```
/codex-cli image "isometric data center, glowing fiber, dark background, 1024x1024"
```
→ Claude tells Codex to generate it (without naming an API).
→ Codex picks `image_gen.imagegen` automatically.
→ PNG lands at `~/.codex/generated_images//ig_*.png`.
→ Claude copies it to your workspace and prints the absolute path.
## Why this skill exists
Three pain points it removes:
1. **The image-generation discovery problem.** Codex CLI's image tool works through ChatGPT login alone, but the docs barely mention it. Most people end up trying to set `OPENAI_API_KEY` and giving up. This skill encodes the right invocation.
2. **The Windows sandbox copy bug.** On Windows, `codex-cli 0.128.0` generates the image fine but fails to copy it into your workspace (`CreateProcessAsUserW failed: 5`). Most users see the failure message and assume nothing was generated. The skill knows to look in `~/.codex/generated_images/` and copy the file itself.
3. **Sandbox safety.** The skill never escalates to `-s danger-full-access` or `--dangerously-bypass-approvals-and-sandbox` without explicit per-run approval. You get Codex's power without bypassing its guardrails.
## How it actually works
```
┌─────────────────┐ /codex-cli image "..." ┌──────────────────┐
│ Claude Code │ ────────────────────────▶ │ Skill (this) │
└─────────────────┘ └────────┬─────────┘
│
▼
codex exec -s workspace-write -C
"Generate an image of ..."
│
▼
┌──────────────────────────────────────┐
│ Codex CLI agent (gpt-5.5) │
│ picks built-in image_gen.imagegen │
│ → uses ChatGPT auth from auth.json │
└──────────────────────────────────────┘
│
▼
~/.codex/generated_images//
ig_.png
│
▼
Claude copies → workspace/output.png
```
## Verified — trust record
This skill ships with a reproducible test suite. The last verified run is committed at [`tests/RESULTS.md`](tests/RESULTS.md), so you can see exactly what was checked, when, and on which platform without running anything.
```bash
# Run the full suite (requires `codex login` with ChatGPT)
python tests/run.py
# Skip the E2E image-gen step (still validates metadata, URLs, codex install)
python tests/run.py --skip-image
```
The suite covers metadata correctness (frontmatter spec compliance, no fictitious slash aliases), URL availability (install one-liners actually resolve), codex prerequisites (installed + logged in), and an end-to-end image generation that proves the no-API-key path works through the documented Windows copy-workaround. See [`tests/README.md`](tests/README.md) for the full list of checks and how to add new ones.
## Compatibility matrix
| Codex CLI | Image gen | Code review | Code impl | Notes |
|---|---|---|---|---|
| 0.128.x (Windows) | ✅ via skill workaround | ✅ | ✅ | Sandbox copy bug — skill handles it |
| 0.128.x (macOS / Linux) | ✅ | ✅ | ✅ | Should work without the copy workaround |
| < 0.128 | ❓ untested | ✅ | ✅ | `image_generation` feature flag may differ |
## Contributing
PRs welcome. The skill is one Markdown file (`SKILL.md`) + frontmatter — no build step, no JS, no dependencies. Test by editing locally and restarting Claude Code.
## License
MIT — see [LICENSE](LICENSE).
## Credits
Built and verified using Claude Code itself. The first generated image (the red panda above) was the moment we confirmed the `image_gen.imagegen` tool works through ChatGPT auth alone — no API key required.