Replaces the stateless ask-once backend rule with a 4-step resolution
(current-request override > saved preference > auto-select > ask) and
adds a single `preferred_image_backend` field (auto | ask | <backend-id>)
to every image-consuming skill's EXTEND.md schema. Runtime-native tools
(Codex `imagegen`, Hermes `image_generate`, ...) win by default; absent
field equals `auto` so existing user EXTEND.md files stay valid with no
schema version bump.
Each image-consuming skill also gains a top-level `## Changing
Preferences` section as a first-class surface for pinning a backend and
editing common one-line preferences.
Applies across:
- baoyu-infographic (reverts in-progress two-field image_backend_mode design)
- baoyu-comic
- baoyu-cover-image
- baoyu-image-cards
- baoyu-article-illustrator
- baoyu-slide-deck
- baoyu-xhs-images
- docs/image-generation-tools.md (canonical author-side doc)
EXTEND.md YAML schema for baoyu-cover-image user preferences
Preferences Schema
Full Schema
---version:3watermark:enabled:falsecontent:""position:bottom-right # bottom-right|bottom-left|bottom-center|top-rightpreferred_type:null# hero|conceptual|typography|metaphor|scene|minimal or null for auto-selectpreferred_palette:null# warm|elegant|cool|dark|earth|vivid|pastel|mono|retro|duotone|macaron or null for auto-selectpreferred_rendering:null# flat-vector|hand-drawn|painterly|digital|pixel|chalk or null for auto-selectpreferred_text:title-only # none|title-only|title-subtitle|text-richpreferred_mood:balanced # subtle|balanced|bolddefault_aspect:"2.35:1"# 2.35:1|16:9|1:1quick_mode:false# Skip confirmation when truelanguage:null# zh|en|ja|ko|auto (null = auto-detect)preferred_image_backend:auto # auto|ask|<backend-id>custom_palettes:- name:my-palettedescription:"Palette description"colors:primary:["#1E3A5F","#4A90D9"]background:"#F5F7FA"accents:["#00B4D8"]decorative_hints:"Clean lines, geometric shapes"best_for:"Business, tech content"---
Field Reference
Field
Type
Default
Description
version
int
3
Schema version
watermark.enabled
bool
false
Enable watermark
watermark.content
string
""
Watermark text (@username or custom)
watermark.position
enum
bottom-right
Position on image
preferred_type
string
null
Type name or null for auto
preferred_palette
string
null
Palette name or null for auto
preferred_rendering
string
null
Rendering name or null for auto
preferred_text
string
title-only
Text density level
preferred_mood
string
balanced
Mood intensity level
default_aspect
string
"2.35:1"
Default aspect ratio
quick_mode
bool
false
Skip confirmation step
language
string
null
Output language (null = auto-detect)
preferred_image_backend
string
auto
Image backend selection. auto = prefer runtime-native tool, fall back to the only installed backend, ask if multiple non-native are present. ask = always confirm on every run. <backend-id> (e.g., codex-imagegen, baoyu-imagine, image_generate) = pin this backend when available; fall back to auto when it isn't. Absent = auto. Resolution logic is documented in SKILL.md's ## Image Generation Tools section.
custom_palettes
array
[]
User-defined palettes
Type Options
Value
Description
hero
Large visual impact, title overlay
conceptual
Concept visualization, abstract core ideas
typography
Text-focused layout, prominent title
metaphor
Visual metaphor, concrete expressing abstract
scene
Atmospheric scene, narrative feel
minimal
Minimalist composition, generous whitespace
Palette Options
Value
Description
warm
Friendly, approachable — orange, golden yellow, terracotta
elegant
Sophisticated, refined — soft coral, muted teal, dusty rose
cool
Technical, professional — engineering blue, navy, cyan
dark
Cinematic, premium — electric purple, cyan, magenta
earth
Natural, organic — forest green, sage, earth brown
vivid
Energetic, bold — bright red, neon green, electric blue