← Search

Qiaomu Codex ImageGen
Creative and media 📌 Pinned version: commit c03a1cc
⚙ Needs: Before you start: read this whole install prompt…

Qiaomu Codex ImageGen

Generate or edit images with Codex's built-in image generation from any agent, through an MCP tool or a plain CLI: for every request it first proposes at least four divergent style directions (24...

At a glance
What
Generate or edit images with Codex's built-in image generation from any agent, through an MCP tool or a plain CLI: for every request it first proposes at least four divergent style directions (24...
Cost
Free
Needs
Before you start: read this whole install prompt, tell me in a few lines what this skill does and what installing it involves, and wait for my go-ahead before you do anything else.
Install
Copy the installer prompt below into your Muse — your agent does the rest.

Version:

⌁

Install

Copy the install package below, then paste it into Muse📌 Pinned version: commit c03a1cc
Wanna be extra careful?

The install prompt below already includes the vetting steps: your agent follows the community checklist before installing anything with executable code. Want more?

How to check a build before installing →

🔒 Security and provenance
📌 Pinned version: commit c03a1cc · 2026-10-19
Skill Harbor never reviews the code of a listed skill. These are dated facts about the install prompt and our install test, not a safety certification. Review a skill yourself before you install it. How we verify

Before you start: read this whole install prompt, tell me in a few lines what this skill does and what installing it involves, and wait for my go-ahead before you do anything else. Prerequisites (read first — generation is impossible without them): the skill itself is free (MIT), but using it requires the Codex CLI installed and logged in (`codex --version` must run) on an account that can use Codex's built-in image generation, plus Node.js 18 or later. Every generated image spends my Codex / OpenAI account quota (one generation takes about 30–180 seconds; up to four variants in parallel spend it several times over). There is no API key and no other paid service: the skill deliberately excludes API-key image services. If Codex is missing, not logged in, or my account has no image generation, stop and tell me — never fake an image with code. Install "qiaomu-codex-imagegen" for me. It relays image requests to Codex's built-in image generator, from any agent, through an MCP server or a plain CLI that both launch the local Codex CLI, and it adds the craft that makes the pictures usable: for every request it first proposes at least four divergent style directions (24 templates, 48 presets, 20 Mondo poster artists, 66 styles, 13 scenario presets), lets me pick, expands the prompt, generates, and checks the result against acceptance checks. Repository: https://github.com/joeseesun/qiaomu-codex-imagegen (the skill is at the repository root: SKILL.md at the root, and the install copies the whole repository folder, 79 files) Pinned version: install the code at commit c03a1ccaf77938257bb93f64e09afa9cd08efe29 exactly. Do not substitute a newer version. If this commit is unreachable, stop and tell me. 1. Clone https://github.com/joeseesun/qiaomu-codex-imagegen into a temporary folder, check out commit c03a1ccaf77938257bb93f64e09afa9cd08efe29, and copy the whole repository folder (every tracked file, without the .git folder) from that checkout. Then compare every file in the folder with the fingerprints recorded for this listing on 2026-10-19: [FINGERPRINTS] - .gitignore: SHA-256 3b88fdb4bcfe07fc30234b654be8e808ab4293418fa35737cb691820f9a5fb99 - LICENSE: SHA-256 6d48a0e65735f2672fc914bab66632af172e08eb499e6fc34fb6fadbeab567e4 - README.md: SHA-256 6332e682a4b1851acd4270607939eb1433d37226ac8cd710c63cb98ac99cfda1 - SKILL.md: SHA-256 6a2a57557e8120f1474312d1fb3173e22fceca9bfb4d1416374a4f49b7182c86 - agents/interface.yaml: SHA-256 23165f6a5290141afefb2e30be59df00cd121bf39b09509e0ebd8af43fd32b4b - assets/qiaomu-profile/qiaomu_avatar.jpeg: SHA-256 c27edb4075ba702cc99db8aea12b34d2e0dcb1e222e8e0bc5204cd0d5c1f9e5f - assets/qiaomu-profile/qiaomu_reward_qr.png: SHA-256 0e76b5be7b1b0c20e0cb61d025a7153bd035f97667ee6a813d1dd95fc0033798 - assets/qiaomu-profile/qiaomu_wechat_public_account_qr.jpg: SHA-256 ab363670f736ba50309205b3c3e3e955be70cefb64c982988962ccec90381403 - docs/samples/T01-giant-type.webp: SHA-256 ff7196e7399805384f94a77ac3d9c0c036d6a2b0f4d739e89b8eebfc0666c7aa - docs/samples/T02-breaking-frame.webp: SHA-256 3b9321502264be87fedc69311bd0dded5e57be6faeb354231be484daa4d180ed - docs/samples/T03-center-light.webp: SHA-256 efb1cf49d3a5d5bd974a65915ff8a358e84e1623d7d457034244ab5c63fb6255 - docs/samples/T04-ink-editorial.webp: SHA-256 a7dc2060abb992a766544c4383decd290376a7f9bf4924290dd42d1fecb8d7b0 - docs/samples/T05-paper-terrain.webp: SHA-256 dd7c116e02606db92a1327b357d8bf4945a6d9bcd8c92e8015089ee5c29c3c4a - docs/samples/T06-folk-poster.webp: SHA-256 bad4fba1ede8af103aa87baa24bbb98a79ed8054bd6c89614ae08bb23faed143 - docs/samples/T07-child-drawing.webp: SHA-256 214ea5dce8be41c549a238579a4bcaf19acd14d342a46d79503b41a952ea6c5c - docs/samples/T08-photo-floral.webp: SHA-256 c42b3e9679c5598a92e42b666f9ca29c49aa5869de5c232e9e67039b4d46c595 - docs/samples/T09-studio-portrait.webp: SHA-256 f6e0e0dc8681b4bfb16f8823ae0d3b9e1d8c5af5daeb62b67fdd9c1fc5904d45 - docs/samples/T10-environment-portrait.webp: SHA-256 ab59eb584ea2f68f584d6c34b73ef7145bdd29e9a9f5d49574825b4b069214bb - docs/samples/T11-wedding-portrait.webp: SHA-256 412e2135ffa93ceea6ff6e036ec1f59c461cc10836345d5a88e0a45b14ab4337 - docs/samples/T12-food-macro.webp: SHA-256 851c76086d0f176b749445abba5b6c0b95db1b29b7e33eacc8953ac79adbd959 - docs/samples/T13-drink-macro.webp: SHA-256 030e9f3553cb67f05b43ad39cd55628e56b92eb2930cf088551c482a98645063 - docs/samples/T14-botanical-product.webp: SHA-256 98b08271f79076a788b2e4870f765c3e344c17349c6275814515df63be88b1b4 - docs/samples/T15-tech-orbit.webp: SHA-256 29f45fe77663c650cb2a9ed7837bb8afcdede2522f2553223e8e2b273ef91e58 - docs/samples/T16-giant-miniature.webp: SHA-256 acafb2f950ed7002c6dc0e712d394a89008fe8fbcc2f31b1d34b35e3a77e52a1 - docs/samples/T17-architectural-drawing.webp: SHA-256 bfc3a1375e9d7761c47bd4bfef3b5e650f52879db5f34a234429d3d35a6fd035 - docs/samples/T18-framed-view.webp: SHA-256 d48df77e1865c8511deb20eb41ab5defe4eeee474d47d3a3ca412c8fbcf080cf - docs/samples/T19-museum-material.webp: SHA-256 9d7817b4963a96bfe05d5da7883e69ab178f8d5f3b3fb7226005ab5764b9b04f - docs/samples/T20-lineup-system.webp: SHA-256 acff923fb5a3b36f13bf6cd32a3a6987dbde6e12e78b59dff60477bd663a177f - docs/samples/T21-nine-grid.webp: SHA-256 7f0abb4ad8a36e6f8f448575aec076d057c975dfff92c192711afd6058c14a71 - docs/samples/T22-slide.webp: SHA-256 a58b97eb464bf9d0b5369006a1b239cfc7b3d62aaa651f456bdae69c2d47953b - docs/samples/T23-info-card.webp: SHA-256 b951aa5dc208b08d079a79470237df9236be2a6a7483f15e134e8d2d70c4f72e - docs/samples/T24-daily-card.webp: SHA-256 faa1b63a158025efee0d5b9f83f0c40cf9878d237713ee742a6d2a837d05a773 - docs/samples/categories-24.webp: SHA-256 29f9a51204a5d570ebbaaf4fdf2de57e6c8118e91c46d9e71920247a3cb7bf9b - docs/samples/dir-mondo-olly-moss.webp: SHA-256 b51bf1d04b5d01bccf131067d4d3dc31b1a7634bb0d6b25755c35767039e6f7f - docs/samples/directions-strip.webp: SHA-256 8b4889d0cd9bc675de76369bc1ad29541138b6d82136df89372f6e70233070a4 - docs/samples/edit-after.webp: SHA-256 3c288d6bfceee1f803a5c63ee812bdf24c860caa7887bd254578283335105d33 - docs/samples/edit-before.webp: SHA-256 9da33482e31b5daa4c3a97bc8970853dcf917073353b3f02775cabd598bc514f - docs/samples/prompts.json: SHA-256 7cc19aa76baf3484cf23fcdfafc02382de237bbfd257eae835fedb59ce8a275a - docs/samples/scene-video-cover-16x9.webp: SHA-256 e03b85567b2c5bb14bd5be554902606a6de2c306c555911b79e4460c6ca5901e - docs/samples/scene-video-vertical-9x16.webp: SHA-256 64c20aa45589ee8c83d36afd6b3c4230df861237d77ad857cf95c4ca34866e36 - docs/samples/scene-wechat-cover-2.35.webp: SHA-256 e999d9a71e6a45c86f4c9ceccdfc88d62c30b60dd4483757f93b9e739c5f010c - evals/trigger_cases.json: SHA-256 f56924c4cc448f5d0c98ce24c7387db925738d1eebf9e6ec1b1b4959f2937d9e - manifest.json: SHA-256 483ed1560909fc96fd869f28209329654bcc3b02009ce4a4858ee27980b9865e - package.json: SHA-256 8343b2d32c9106b32b91f4114813a72309253b276dfc111b048d204f23ad0597 - references/design-system/agent-guide.md: SHA-256 163607365e24a59379a0f04a0cc2079d87cebccde206fa555b6fc5e5102946a6 - references/design-system/corpus-analysis.json: SHA-256 da1a37728a7edc40f237c9611fc5083583c5e8e3d89e6bcddf5d9f7f28749db0 - references/design-system/examples.json: SHA-256 ffb40402364f6811a593bf6dfb4cd300e57c6fb7687ded05c7e405ff7bb75d3e - references/design-system/filled-examples.md: SHA-256 785bc06e440df7b07f63a263feb3541095e02680321dda12ec3f0cfd2f0db273 - references/design-system/routing.json: SHA-256 dba2b0835140299640e9c472ed99e24fd67ec73122964e87145f2e4b4eea32e2 - references/design-system/template-library.md: SHA-256 ebe5faaf2291a07f2441332e2d85e05625264f7fc3806513d4c02ebe4e0dbee4 - references/design-system/templates.json: SHA-256 074441a86fe5a6833f72ed8f822a6e28418d87bb82d88d90bd06045c6cdd2a26 - references/mondo-artists.json: SHA-256 b1d4b8541a42fcf2b33c9b0d66c0e5c81bd9581549bf2e31a7c4150e561a6819 - references/mondo-poster.md: SHA-256 b0af0213894abae137d2c8e167bca690f19b982a34f190df06d5712cf7150410 - references/mondo/artist-styles.md: SHA-256 3808dc88c5267d6b51ea87d182050143d53636815795f1c3d9726c7459f88ea2 - references/mondo/book-covers.md: SHA-256 0290b7dc852ce271689ceb8155926d9e1d50bff1b14322705f247b9577092f94 - references/mondo/composition-patterns.md: SHA-256 2185b7ee4b9812bcdb7030b06c1565160dfa8d3701782950a56b3021201498cb - references/mondo/genre-templates.md: SHA-256 a4370246192fbfafbd9d5679d9f4d4b6d28ea5ea3982b478f6a847ab1f933a21 - references/presets.json: SHA-256 daadfa2aee6dc637cd49816a7f151604fad53716f45c7357028d4165e0e0b90c - references/prompt-craft.md: SHA-256 75c8f33c757a09861f596bbf3cb3ead224e6e1e36214ff7a06d132b3b944778d - references/scenarios.md: SHA-256 a4f2fe7b711a2960c6e60250386e06e3092288312f051eb9abe65d2fec5480f9 - references/styles.json: SHA-256 2f585fdb25274dd4156eec622ec5b3eda0986da94d52528e901ece8bd84142d1 - reports/creation-handoff.md: SHA-256 ce03c14da2e546ed3f40985942933a841e73cb1955649a44103c85d1994d0d4f - reports/prior-art-candidates.json: SHA-256 b3e0861729c6310dda0ffa1c2fee9d774a8fb278051c4f5c1e8ac7c1e1edfc0d - reports/prior-art-research.md: SHA-256 e06c608e0c8b28dfbe68cb0d8aad0964de8c3f7b8a1acfa46b9174540af2b312 - reports/skill-ir.json: SHA-256 97cb5d0f4065748ba7616354825f88db2e08d3d1364386b41b80235542ebe910 - reports/trigger-eval.json: SHA-256 ef3414bd8f3cc162b6f582b1ea4f5322f7726874157ccc279bbab86896294bae - scripts/build-corpus.mjs: SHA-256 c2bfdc4a1ef7088bc00ff4a104aabff2b899ff4733743c9fef7ec207257c5308 - scripts/cli.mjs: SHA-256 c2a8cb4b78efc0fce76006e54c4c8f98965f6c3cbeb6256d151657386954a061 - scripts/lib/codex.mjs: SHA-256 66ce688ca0dbb8ceb34404894b4c89a0c454da7eda5e2137660eec2b54004ea1 - scripts/lib/corpus.mjs: SHA-256 b5d7570d5553f63cb32de6d2df0d3e8b31b95ad5f90d8f48fc5744566d641fdc - scripts/lib/png.mjs: SHA-256 da630ffa8771c776d9a2b250f43ee8af24fbe5d0c23b14ddce9d66ee5911b76c - scripts/lib/prompt.mjs: SHA-256 0846f872235fc39fdb0d00b491256b80781228177d00bbc1a0acb62e294efbd4 - scripts/lib/suggest.mjs: SHA-256 c9dba723eee0265e18bd0412aff15d185885d609ae7f3b815245f80887eef6ea - scripts/lib/templates.mjs: SHA-256 ea4b5ea19c68d96b7cc52362c2c4c4679a0a2c38b4be04dfd64f93a124c7c4b0 - scripts/lib/tools.mjs: SHA-256 44e21d4f92e87490257e2a84b6c483b60614155f6ca4414284d4168317210f99 - scripts/mcp-server.mjs: SHA-256 f6f86ef2e624ceb092f7d441acc5e06153df7c2aabb52ad163f3c301f22a32c7 - tests/fake-codex.mjs: SHA-256 cc6849bc1ca80a1c9e1a783ec1b5bdb8c7f46ebdf986bab88b9c348b1c30fc26 - tests/imagegen.test.mjs: SHA-256 48daecaf2ac51fb7b57f0c8c47369bf28315e6749c96dbf7c3173a022547cdf3 - tests/test_node_suite.py: SHA-256 2ac295805882af1e740e347480e09e53854d8e3abf8182defc5b0c97f8974668 If a file does not match, it changed since the listing was prepared: do not install it yet, tell me what you found and let me decide. 2. Read SKILL.md in full, and read the code in scripts/ (cli.mjs, mcp-server.mjs and lib/codex.mjs, lib/tools.mjs, lib/prompt.mjs, lib/templates.mjs, lib/suggest.mjs, lib/corpus.mjs, lib/png.mjs, plus build-corpus.mjs) and agents/interface.yaml, and tell me in plain words: what the skill does when used, which services it connects to, whether it reads or sends any personal information or keys, and anything that seems unusual. Stop on any red flag and tell me before going further. Confirm these points from the files: - The installed folder holds 79 files (10,286,667 bytes in total). The runtime is only: SKILL.md (9,525 bytes), the zero-dependency Node code in scripts/ (10 .mjs files, Node built-ins only, no dependency list to install — package.json declares no dependencies), the data and craft files in references/ (17 files: 24 templates / 48 presets, styles, Mondo material, scenarios, prompt craft and the agent guide), and agents/interface.yaml. The rest of the copy is non-runtime content that the root install carries along: README.md and LICENSE, package.json, manifest.json and .gitignore, docs/samples/ (33 files: 32 sample images and a prompts.json gallery), assets/qiaomu-profile/ (the author's profile picture and QR codes, referenced only by the README author section), evals/, reports/ and tests/ (the author's QA and release reports). None of that content is loaded or executed by the tools. - Nothing is sent anywhere during installation itself; the only download at install time is the repository from GitHub at the pinned commit. The code contains no fetch, HTTP, curl or telemetry call at all: the only processes the runtime spawns are the local Codex CLI (`codex app-server --listen stdio://`, in scripts/lib/codex.mjs, which inherits the environment like any child process and reads QIAOMU_CODEX_BIN only as an optional Codex path) and, only in the separate build-corpus.mjs helper, the local cwebp or sips image tools. The only other environment variable read is QIAOMU_CORPUS_DIR (where the optional local corpus pack lives). - What leaves this machine at use time, disclosed here before it ever happens: only when I ask for an image and a generation actually runs. The skill starts the local Codex CLI, and the Codex CLI — not this skill's own code (agents/interface.yaml states it exactly: "network: none directly; the Codex CLI it launches contacts the user's Codex account") — contacts my Codex / OpenAI account service and sends it the final expanded prompt text and, when I supply them, the reference images I name (identity photo, product shot, style reference or the image to edit, passed by absolute path), and each generation spends my Codex quota. The direction, compose, search, catalog and show-prompt steps (suggest_directions, compose_prompt, search_prompts, get_prompt, build_prompt, list_catalog) run entirely locally and spend no quota; search reads only the optional local corpus pack on my machine (689 reference prompts, built locally by scripts/build-corpus.mjs from my own archive, never shipped with the repository). Inside the Codex turn the session is ephemeral, sandboxed workspace-write to the output folder only, with approval policy "never" and no network access for tools; generated images are saved locally (default ~/Pictures/qiaomu-codex-imagegen/<date>/) with a .json sidecar holding the exact prompt next to each image. - The workflow and its guardrails, from SKILL.md: intake first (topic, deliverable, ratio, text mode none / exact_short / typeset_later, exact facts, the role of each reference), then at least four divergent directions for me to choose from (skipped only when I already fixed the style or said to go ahead), then prompt composition, one generate_image call per chosen direction, then a visual check against the acceptance checks, regenerating once by changing only the failed relation's sentence. Facts and numbers come only from me — never invent prices, dates, names, statistics, quotes, QR codes or logos — and poster-type deliverables need a complete short copy set in exact_short mode. People: prefer silhouettes, back views, hands or symbols unless a face is asked for; identity consistency needs an identity reference photo, without one the person is stated to be fictional, and never make deceptive material with a real person's likeness. - Do not register the MCP server and do not install anything else during this install: the README's `claude mcp add ... scripts/mcp-server.mjs` registration, any `npx skills add` route, and building the optional local corpus pack are separate steps for later, only if I ask. No test generation either: every generation spends quota. 3. When I say "yes, install", install it as a skill: copy the whole repository folder from the pinned checkout into the agent's skills directory, in a folder named "qiaomu-codex-imagegen", keeping all 79 files. The upstream route, npx skills add joeseesun/qiaomu-codex-imagegen, installs the same repository; either route is fine as long as every file matches its fingerprint. 4. Verify with no network calls: frontmatter valid (name: qiaomu-codex-imagegen), all 79 files in place with matching fingerprints, and `node --version` reported. Do not start the MCP server, do not run the CLI, and do not call Codex to verify. 5. Report what was installed, where, and what I still need to do myself (for example: have the Codex CLI installed and logged in with an account that can generate images, and Node.js 18+, before any use; register the MCP server myself or ask in a separate step if I want the tools inside an MCP client, otherwise use the CLI from the skill folder; build the optional local corpus pack myself if I want corpus search; and provide the topic, exact copy and any reference images myself — using the skill is a separate step that only starts when I ask for an image, and the use-time send to my Codex account disclosed above, and its quota cost, happen only then). GitHub is optional: if I have a GitHub account or the gh CLI, you may use it; otherwise public access is fine. Never require it unless it's in the prerequisites above. Rules: don't touch anything outside the temp folder and the install target. If anything looks off, stop and ask me.

?

Questions

How do I install a build?

Every product page includes a copy-paste install prompt. Paste it into your Muse and it sets the build up for you — no manual configuration.

Where does my money go?

Straight to the seller. Skill Harbor never processes payments: checkout happens on the seller’s own page, usually Stripe.

What does the ✓ next to a creator’s name mean?

It means we confirmed the identity of the person behind the listing. It says nothing about the code itself — always check a build before installing it.