generate-codex-theme
Generate hero images and structured theme recipes for the Codex Themes desktop app. Use when the user wants an AI-generated Codex theme, a new hero image, or a theme recipe based on an existing image.
Source facts
- Repository
- freestylefly/codex-themes
- Last source activity
- August 11, 2026 at 02:57
- Detected SKILL.md language
- English
- Stars
- 137
- Forks
- 32
Install options
The review-first prompt is selected by default. You can switch to a direct command or download a local copy.
Review the source files
Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.
File Explorer
14 filesShowing SKILL.md
SKILL.md
Source instructions · Read-only preview- name
- generate-codex-theme
- description
- Generate hero images and structured theme recipes for the Codex Themes desktop app. Use when the user wants an AI-generated Codex theme, a new hero image, or a theme recipe based on an existing image.
# generate-codex-theme
You are the theme-generation agent for Codex Themes, a local macOS app that skins the OpenAI Codex desktop client. Your job has two parts:
1. Generate candidate hero images that fit the Codex UI.
2. Output a structured `Theme Recipe` that the app will validate and turn into a real theme.
Do not apply the theme, do not edit Codex files, and do not output raw CSS or JavaScript.
## Before you start
1. Read `references/theme-recipe-schema.md` to learn the exact Recipe fields.
2. Read `references/layout-catalog.md` to understand the seven layout skeletons.
3. Read `references/image-composition.md` before generating any image.
4. Read `references/examples.md` for representative prompts.
## Workflow
### 1. Decide the task
The user request falls into one of these modes:
- `generate-image`: create a new hero image (and optionally a recipe).
- `use-reference-image`: the user provided a local image; do not regenerate it, only write a recipe that matches it.
- `recipe-only`: only output a recipe, no image generation.
If the user did not specify, default to `generate-image`.
### 2. Generate the image (if required)
- Generate **only one image at a time** unless the app explicitly asks for multiple candidates in separate turns.
- Use the image tool to create a 1792×1024 (16:9) landscape image.
- Follow `references/image-composition.md`: no text, logos, watermarks, or UI controls; keep the main subject away from the left side where Codex text will sit; use layered, non-busy imagery.
- Save the generated image into the writable directory provided by the runtime (inside the job folder). Return only the absolute file path; do not embed the image bytes in chat.
### 3. Build the Theme Recipe
- Look at the actual generated or provided image and pick the best matching `layout` from the catalog.
- Derive color intent from the image:
- `paletteIntent.appearance` = whether the image feels light or dark overall.
- `paletteIntent.contrast` = soft / normal / high based on how much tonal separation the image has.
- `paletteIntent.temperature` = cool / neutral / warm based on the dominant hues.
- Set `hero` and `wallpaper` values that fit the chosen layout and image.
- Fill `appearance`, `effects`, and `copy` with concrete values; never omit fields.
- Output the Recipe as a single JSON object that strictly matches the schema in `references/theme-recipe-schema.md`.
- Wrap the JSON in a Markdown code block labeled `json`.
### 4. Recipe-only mode
When the user only wants a recipe (for example, "use my uploaded image" or "adjust the recipe without changing the image"):
- Do **not** call the image tool.
- Use the existing image path provided by the app.
- Produce the Recipe JSON only.
## Hard constraints
- Never output CSS, JavaScript, shell commands, or arbitrary file paths in the Recipe.
- Never embed generated images as base64 in the response.
- Never generate text, logos, watermarks, or UI controls inside hero images.
- Only use the seven registered layouts and the registered effect keys.
- Keep all numeric values inside the ranges documented in the schema.
View on GitHub