Public 3.0 = Product v3.0(multi-style: quirky sketch / warm storybook / product proposal + custom IP)
New window: if there is
docs/first readdocs/INDEX.md→docs/roadmap.md; execute based on this file +references/ip/_template.mdas authoritative
⚠ Routing (read first · prevent ImageGen from jumping the gun)
When triggered with 自定义 IP / 录入 IP / 上传形象 / 新建 IP(images may be attached):
- immediatelyload
references/ip/_template.md, follow Step 0;do notfirst treat it as generating images for「illustration / poster」 - This turn is prohibited fromcalling any image generation tool (
image_gen/GenerateImage/ ImageGen, etc.), until the user has answered 「Enroll according to this character design proposal?」- same for half-body/full-body: first roundonlyproduce the character design proposal + closing question;zero exceptions
- After confirmation: only for half-body is the 0.2b full-body design draft allowed; then 0.4 calibration
- Prohibitedto understand enrollment as 「generate an IP-themed poster / original illustration poster」
- Detailed rules and wording are subject to
_templateas authoritative; if this section conflicts with it,this section's routing is authoritative(intercept jumping the gun first)
If triggered only by 配图 / illustration etc., and it is not IP enrollment → go to Quick Mode / Step 1–5 below.
Input article content, generate illustrations. Default style 「quirky sketch」(quirky-sketch), switchable to enrolled styles (e.g. 「warm storybook」); IP is gimi / none / custom instance, default 16:9.
Trigger words
Illustration:配图 / 给文章配图 / 帮我配图 / illustration
Custom IP:自定义 IP / 录入 IP / 上传形象 / 新建 IP
Reference files (load as needed)
| File | When to load |
|---|---|
docs/INDEX.md |
New window document navigation (read first) |
docs/roadmap.md |
New window workbench / when rules need changing |
docs/spec.md |
Product planning (prevent drift); not an execution protocol |
references/styles/{$STYLE}.md |
When generating images / calibrating / style QA |
references/styles/_template.md |
When batch-enrolling new styles (not the illustration hot path) |
references/composition-patterns.md |
When producing strategy (not Step 0) |
references/visual-promise.md |
Step 2 judge visual promise / structure·external parameters·domain objects (SSOT; details are not copied into this file) |
references/shot-config.md |
When producing strategy (not Step 0) |
references/prompt-template.md |
When assembling prompt |
references/qa-checklist.md |
During QA |
references/ip/_template.md |
Custom IP / Step 0 (prioritized over image generation) |
references/ip/gimi/ip.md |
$IP = gimi |
references/ip/none.md |
$IP = none |
references/ip/{id}/ip.md |
$IP is an existing custom id |
Image generation capability
Call the current AI softwarebuilt-in image generation tool(e.g. Codex @Image Gen、Cursor GenerateImage , etc.). The Skill handles strategy, prompt assembly, reference image attachments, QA; image generation is executed by platform tools. Interface semantics: text prompt + optional image attachments.
During Step 0 enrollment: follow the 「routing」 at the top of the document; before the allowed conditions are met,must notcall image generation tools.
Platform adaptation priority:
- For platforms that support explicit image attachments: pass the reference image as an image reference attachment.
- Codex
image_gen:For official illustrations of an existing IP, always pass "setting image + current(IP, STYLE)calibration image"; run Step 1.5 first; if either image is missing, official illustrations must not be generated; thenimage_gen - When image input is not supported and the image cannot be placed into context, pause and explain the reason; for an existing IP, do not downgrade to an official illustration using only a text anchor.
Core variable
| Variable | Default | Description |
|---|---|---|
$STYLE |
quirky-sketch |
Default is grotesque hand-drawn; can be switched to a recorded style according to the owner's language (see Step 1) |
$RATIO |
16:9 |
Aspect ratio; the user may specify any ratio |
$IP |
gimi |
gimi / none / Other: if references/ip/{id}/(not _template) exists, load that instance |
$REF_MODE |
Derived by parsing | dual / style-single / none; when an existing IP lacks calibration for the current style, it is lazy Gating, not a deliverable reference mode |
$TITLE |
None | Handwritten title at the top when requested by the user |
$COUNT |
Automatically inferred | Illustration count |
$OUTPUT_SIZE |
None | Optional; record only when the user explicitly requests specific pixels |
Recommended pixels (not mandatory): 16:9 → 1920×1080 recommended; 3:4 → 1080×1440 recommended.
Workflow
Quick Mode
The user has provided the main text and the variables can be inferred → do not ask further, generate the image directly. Confirm only in the following situations: the user says "do not generate the image yet", variables conflict, a new IP has no ip.mdyet (run Step 0 first), or Step 1.5 judges it as lazy。
Step 0 in progress: turn off Quick Mode(do not skip the confirmation script).
When a recording trigger word appears: Quick Mode image generation does not apply.
Step 0 · Custom IP (as needed)
When the user wants to create/record an IP: load references/ip/_template.md, and strictly follow Step 0 therein to fill the slots (the user only needs to attach images + "record IP"; they do not need to write Step numbers).
Two layers: The protocol follows 0.1–0.5; for the user, use only "user-layer script" (see _template), referring to the current $STYLE 's display_name(the recording default is mostly "grotesque hand-drawn"), and do not expose Step numbers.
Hard gate (before 0.5 is completed) — consistent with the routing at the beginning of the document:
- Entry (same for half-body/full-body): In the first round, output only the character design proposal + "Record with this character design proposal?";image generation is strictly prohibited; poster-style final artwork is prohibited
- Illustration preemption is prohibited: must not enter Step 1–5; must not write
shot-config.md - After image generation, a question must be asked: append a closing question in the same round;image ≠ closure(image generation is allowed only after 0.2 confirmation)
- Half-body: after confirmation, 0.2b must be head to toe; when saving,
reference-character.pngis always full - 0.4 Standard style sample shot (read
styles/{$STYLE}.md); before "Does it look right?" is closed, must not proceed to illustrations
examples/{$STYLE}/ If empty and this style is to be used for illustrations → lazily supplement 0.4 (enabled, see _template multi-style details).
Only after completion does it proceed to illustrations; during illustration generation, $IP={id}。
Step 1 · Intent confirmation
Record:$RATIO · $IP · $STYLE · $TITLE · $COUNT · (optional)$OUTPUT_SIZE
Quick Mode inference: vertical/Xiaohongshu → 3:4; otherwise → 16:9.
$STYLE Parsing (master language, user is not required to write an id):
- Scan
references/styles/*.md(excluding_template.md) ofdisplay_name/aliases - explicit hit → lock the corresponding
id - soft hit → one-sentence confirmation (e.g., "Do you mean that kind of paper-textured warm color like 'warm-tone picture book'?")
- no hit or "change style" → humanized menu: each item
display_name+tagline(default can be marked "commonly used") - no style mentioned →
quirky-sketch;first image in this sessionappend a light hint (without interrupting):
"This time we'll use grotesque hand-drawn first. If you want to switch to warm-tone picture book (paper-textured warm color, travel journal feel), just say so." - user describes a style not entered → do not invent on the spot; explain that currently only entered styles are available, ask whether to use the default or enter it later
colloquial first;$STYLE=… advanced only. Refer to the user as display_name, do not mention paths.
Step 1.5 · Current reference parsing (IP and no IP)
Before entering Step 2, writing shot-config.md or generating the formal imagebefore, for the current (IP, STYLE) judge only once:
$IP=noneand the current style's "no IP calibration strategy" isrequired style-single→ must followreferences/ip/none.mdselectassets/none/examples/{$STYLE}/1 image from, record as$REF_MODE=style-single; missing directory / missing selected image is a release package asset issue, stop and fix, do not ask the user for images, do not downgrade to plain text.$IP=noneand the current style has no required strategy →$REF_MODE=none, keep the existing none behavior; if that style declares optional and has assets, you may follownone.mdselect 1 image as quality convergence.- already has a full-body character sheet and
assets/ip/{$IP}/examples/{$STYLE}/has at least 1 usable calibration image →$REF_MODE=dual, may proceed to Step 2. - already has a full-body character sheet but the current style's calibration directory is empty / missing files →
$REF_MODE=lazy; generate a sample only according to the current style 0.4, after QA ask "Does it look right?";forbiddenwriteshot-config.md, generate the formal image, or attach other styles' calibration images as dual reference. Do not downgrade even if the user urges for the image; should explain "the sample for this style has not been finalized yet, the formal image can only be configured after the sample is confirmed." - character sheet missing or unusable → route to the existing IP entry; must not single downgrade or generate the formal image.
only after the user confirms "looks right" should that sample be saved to the current $STYLE directory; subsequent formal requests re-parse as dual。formal image configuration for an existing IP is not allowed to be single, must be dual. IP files do not maintain a global ref_mode; the current style's directory facts are the sole basis.
Step 2 · Digest content + produce strategy
only
$REF_MODEhas been judged by Step 1.5 asdual/style-single/nonecan enter. Strategy:composition-patterns.md· Visual promise:must loadvisual-promise.md(SSOT) · Save to disk:shot-config.md。
- load composition + shot-config + visual-promise
- according to composition Step 2 decision flow(two axes → creative generation method eight steps → composition library)
- each shot fill the visual promise full set (
visual-promise.md)+ density / reading order(composition "reading flow grammar";scenicmandatory) 外参参考: Per visual-promise §B (main anchor budget + default feature lock without attached images); on failure/timeout silently degrade意象(without asking the user)- Quick Mode: by default save to disk and proceed to Step 3; when the user says "show me the strategy first", display the summary first
Step 3 · Assemble Prompt + Generate Image
- Load
styles/{$STYLE}.md、prompt-template.md, correspondingip/*.md - only consume what was already parsed in Step 1.5
$REF_MODE:dual→ character setting image +examples/{$STYLE}/1 calibration image from (both must exist to assemble)style-single→$IP=none, must passassets/none/examples/{$STYLE}/according tonone.mdthe selected 1 image; the prompt explicitly states to match only the drawing style, not to copy the composition, title, object arrangement, or business contentnone→ still follow the none rule (no character setting image, and no required style assets)- Reference images did not enter the context; must not claim that an IP process was executed
- Per
visual-promise.md/prompt-template: append the promise lock;外参参考by default do not attachlandmark image (features go into SUBJECT); attach only when "external reference attached = yes";scenicappend the reading flow implication (composition SSOT) - Fill in the variable slots, call the image generation tool (
IP_DESCbeforeSTYLE_DNA, seeprompt-template.md)
Step 4 · QA Quality Check
Load qa-checklist.md(promise → visual-promise; flow → composition "reading flow grammar").$OUTPUT_SIZE When there is a value → proportional scaling + white background padding, cropping prohibited. If it fails → retry, at most 2 times.
Step 5 · Delivery
outputs/{YYYYMMDD}-{slug}/
shot-config.md ← 配图策略 + 插入位置(与图片同时交付)
01-{slug}.png
02-{slug}.png ← 多张时继续编号
Version
Public / Product 3.0 · Three styles selectable + custom IP · visual-promise SSOT