About codex-image-gallery
Codex Image Gallery is a skill that serves Codex image outputs in a local browser gallery. It supports a configurable image folder and tries subsequent ports when the default port is occupied.
Key features
- 01View Codex images in a local browser
- 02Choose a custom image folder
- 03Try later ports if the default is occupied
- 04Provide an image-list API
Use cases
- 01Browse images generated by Codex
- 02View images from another folder
- 03Reuse an existing local gallery server
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ daymade/ claude-code-skills --skill codex-image-galleryAfter installing, type/codex-image-galleryin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
agents/openai.yamlassets/index.htmlscripts/server.mjsDetails
From the project READMECodex Image Gallery
Start a local browser gallery for Codex image outputs. This skill is self-contained: the server lives in scripts/server.mjs, and the UI template lives in assets/index.html.
Quick Start
Run commands from this skill directory, the directory containing this SKILL.md.
node scripts/server.mjs
The server prints the actual URL. It starts at http://127.0.0.1:8765/ and tries later ports if the default is occupied.
Workflow
-
Check the default URL first:
node -e 'fetch("http://127.0.0.1:8765/api/images").then(r => r.json()).then(j => console.log(j.rootPath, j.items.length)).catch(() => process.exit(1))'If this succeeds, reuse the running server at
http://127.0.0.1:8765/. -
If the API check fails, check for a running server process:
pgrep -fl 'node .*server\.mjs' || trueWhen a process exists but the default URL fails, inspect its stdout or try likely later ports because the server auto-increments when a port is occupied.
-
Verify any reused URL before reporting success:
node -e 'fetch("http://127.0.0.1:8765/api/images").then(r => r.json()).then(j => console.log(j.rootPath, j.items.length))'If the server chose another port, use that port.
-
Start the server if none is running:
node scripts/server.mjsKeep the process running for the user and read stdout for the URL.
-
Open the browser unless the user asks for URL-only:
open http://127.0.0.1:8765/
Image Root
Default image root:
~/.codex/generated_images
Use a different folder with:
GALLERY_ROOT=/path/to/images node scripts/server.mjs
Validation
Before declaring the skill healthy after edits, run:
node --check scripts/server.mjs
Then start the server and verify:
GET /api/imagesreturns JSON withrootPathanditems/images/<relative-path>returns image content for at least one listed item- The page loads from the bundled
assets/index.html
Response
Report the URL, image root, whether the server was reused or newly started, and any verification failure. Keep the answer short.