article-to-cover
Overview
Art-director-level poster design skill. Analyzes text input, anchors style direction, plans visual hierarchy, and outputs structured AI generation instructions. Two modes: creative direction from scratch (no reference image), or reference-image-based reconstruction/mimicry.
Dependencies
- engine: meitu-ai
- user data: ~/.openclaw/visual/
Core Workflow
Step 1: Load Context
- Analyze user input — Read the provided text (article, chat transcript, or design brief). Synthesize core message into headline + subtitle candidates.
- User preferences — If
~/.openclaw/visual/memory/global.md exists, read for style preferences. If contexts/poster.md exists, read for poster-specific preferences.
- Experience log — If
~/.openclaw/visual/journal/knowledge.yaml exists, scan for entries related to this industry or similar tasks.
- Brand assets — If user specifies a brand, read
~/.openclaw/visual/assets/brands/{brand}/:
- Brand tone, personality, market positioning
- Color system (primary 60–70%, secondary 20–30%, accent 5–10%)
- Logo file and usage specs
- Derivative graphics if available
Step 2: Route — Determine Scenario
- User provides reference image → go to Step 3B: Poster Analyse
- No reference image (text/brief only) → go to Step 3A: Creative Direction
Step 3A: Creative Direction (No Reference Image)
Read references/design-constraints.md for hard rules (logo, human diversity, negative lexicon, medium-type). These apply to all output.
3A.1: Classify Brand Information Level
| Level |
User provides |
Action |
| B1 |
Brand tone + color system |
Anchor on tone and colors |
| B2 |
Tone + colors + logo |
Additionally analyze logo for visual linkage opportunities |
| Basic |
No brand assets |
Extract temperament from text, use industry mapping for color |
| Franchise |
References a well-known IP (Harry Potter, Marvel, etc.) |
Lock franchise visual DNA as style anchor, skip industry mapping |
3A.2: Identify Industry + Market
Industry identification — Read references/industry-styles.md for the mapping table:
- Match industry keywords from text content (food, fitness, finance, etc.)
- Validate via semantic analysis: core nouns, core verbs, usage scenarios
- If brand info exists, infer industry from brand attributes
- Output: primary industry + core semantic features (B2B/B2C, audience, emotional tone, scenario)
- If industry not in library → follow Unknown Industry Handling in same file
Market identification — Based on input language, cultural cues (currency, date format, festivals), brand origin:
- Output: target market (North America / Europe / Latin America / Asia Pacific) + cultural sensitivity requirements
3A.3: Determine Medium Type
Follow illustration trigger rules strictly from references/design-constraints.md:
- Illustration allowed ONLY if: user explicitly requests it, reference images are illustration-style, or user specifies illustration keywords
- Otherwise: must use Photography / Vector Graphic / 3D Rendering
- Apply negative lexicon: ban watercolor, line art, etching, hand-drawn terms
- Record medium type internally (do not show user)
3A.4: Anchor Style
- User provided brand logo → anchor on logo temperament, explore adjacent aesthetics within same visual school
- User specified style keywords → anchor on that style, explore adjacent range
- No style guidance → use industry auto-mapping from references/industry-styles.md, select highest-matching style
- For the 6 special industries (primary school, university, medical, nonprofit, finance, rental) → apply mandatory layout rules from industry-styles.md
Validate: visual clarity, emotional resonance, brand fit, execution feasibility, style–visual binding.
3A.5: Creative Ideation + Deepening
Read references/creative-framework.md for the full creative methodology. Execute in order:
- Deconstruct brief — Identify core assets and constraints (text, brand, imagery, layout)
- Style + element matching — Combine industry core subjects (coffee → machine/cup; beauty → products/brushes) with style signature elements to build visual scene
- Concept expansion — Avoid clichés; seek metaphorical visual expressions; balance metaphor with clarity; apply contrast, white space, rhythm, hierarchy, visual metaphor
- World-building — Typography as design protagonist or deep graphic interaction; scene construction from classic style scenarios
- If Franchise — Lock franchise visual DNA, label directions as "IP Name + Core Style – Variant", include franchise signature elements in core visual
- Deepen — If logo exists → deep graphic analysis (shape derivation: literalization / negative space / repetitive composition). Elaborate visual intention (composition + color + lighting → narrative + emotion). Apply Swiss International Style for layout system.
- Translate to AI instructions — Convert all artistic concepts to production instructions with style catalysts (era / medium texture / emotional aesthetics keywords)
3A.6: Output
Generate structured output following Scenario 1 format in references/output-formats.md:
- Design Direction with style name
- Core Visual (must include: style signature elements + industry core subject + stylized scene)
- Visual Elements (subject & environment, lighting & atmosphere, color language, composition & camera)
- Layout & Typography (typography concept, layout strategy with information hierarchy, text–image relationship)
- Overview (style + one-sentence summary of strongest visual scene)
- AI Production Instructions (JSON with project_manifest, visual_style_system, scene_elements, typography_layout, ai_generation_prompts)
Quality check before output:
- Output language matches user input language
- Strong binding between style name and all visual/layout/typography modules
- Core visual contains all three required elements
- Total colors ≤ 3 (excluding grayscale), body text contrast ≥ 4.5:1
Step 3B: Poster Analyse (With Reference Image)
Read references/design-constraints.md for hard rules. Read references/poster-analyse.md for the full analysis methodology.
3B.1: Intent Routing (Priority 1 > 2 > 3)
- Explicit commands — "like this image" / "keep layout" / "series" → Mimicry; "redesign" / "refer to vibe" / "optimize" → Washing
- Implicit scenarios — Content swap only ("replace person with cat", "change title") → Mimicry; Extract attribute for new carrier ("use this color scheme for something else") → Washing
- Ambiguity default — Reference image + simple keywords only → Washing (provide upgraded scheme, not copy-paste)
3B.2: Reverse-Engineer Reference Image
Extract comprehensive visual DNA:
- Style/medium — Physical texture only (e.g., "3D render", "Risograph"). Strictly forbidden to describe specific objects.
- Layout — Grid structure, composition logic, reading path
- Font form — Case (ALL CAPS / Title Case / lowercase), arrangement (stacked / curved / scattered)
- Brush stroke — Precise medium description (chalk texture, gouache dry brush, vector gradient), never generic "illustration"
- Detail insight — If no facial features → add "faceless character, blank face" to prompt and "eyes, nose, mouth" to negative
- Vector/stroke — Distinguish "flat vector, lineless, clean edges" vs "outlined, ink stroke"; if no strokes → emphasize "no outlines"
3B.3: Extract Soul Anchor (Washing mode only)
Identify the single most irreplaceable, highest-design-value element:
| Anchor type |
Trigger |
Action |
| Typography |
Font is highly distinctive (liquid, 3D inflated) |
Lock font style → reconstruct layout + color |
| Layout |
Grid is highly distinctive (deconstructionism, special segmentation) |
Lock layout framework → reconstruct font + color |
| Vibe |
Light/shadow or medium is highly distinctive (film grain, acid light) |
Lock physical texture → reconstruct layout + font |
3B.4: Deep Thinking
- Image-text layout — Brainstorm 6 options, select 1 distinctly different from reference
- Main visual — Use user description if provided; otherwise deduce from theme
- Text — Use user copy verbatim (modification strictly forbidden); if none, deduce from theme
- Color:
- Mimicry → follow reference colors
- Washing → execute Hue Cleansing: forbidden to reuse reference main hue; retain color relationship but replace hue (black+gold → white+chrome; high-sat red+blue → high-sat purple+green)
3B.5: Reconstruct
Mimicry mode: Style 100% locked. Redraw composition for new content. For text changes: identify original title A, confirm user's new copy B, output instruction "change text '[A]' to text '[B]'".
Washing mode:
- Coordinate Reset — Detect reference composition logic, select opposing logic:
- Symmetrical → negative space / diagonal / scattered
- Flat/front view → top-down / bottom-up / 3D / fisheye
- Real-scene photo → macro close-up / partial crop / out-of-focus
- Hue Cleansing — New colors must differ ≥ 90° on color wheel from reference
- Abandon reference grid completely. Build new reading path from user copy hierarchy.
3B.6: Self-Correction Protocol
Before outputting, verify:
- Color check — Does new palette overlap reference main hue? If yes + no user brand color specified → enforce color inversion or complementary color
- Layout check (Washing only) — Has layout been re-planned? If not → re-plan
- If any check fails → roll back and re-plan. Do not output failed result.
3B.7: Output
Generate JSON following Scenario 2 format in references/output-formats.md:
mission_logic — intent + soul extraction reasoning
design_blueprint — reconstructed concept, style, color, layout, typography, composition, detected mode
content_firewall — discarded reference objects + unlocked features
prompt — Final English prompt: [New Color]::3 + [concept]::2 + [anchor] + [mutations]. --no [ignored] --iw 0.5
Step 4: Generate Image via meitu-ai tool skill
- Extract prompt from Step 3A JSON (
ai_generation_prompts.primary_prompt) or Step 3B JSON (prompt)
- Determine dimensions from design spec or user requirements (default: 1080×1350 portrait poster)
- Run:
python3 "{baseDir}/../meitu-ai/scripts/run_command.py" \
--command "image-generate" \
--input-json '{"prompt":"{prompt}","size":"{width}x{height}"}'
- If generation fails → adjust prompt and retry through the same meitu-ai command runner
Step 5: Compliance Check
- Brand — Logo placement matches rules, colors accurate, tone consistent
- Platform — If target platform specified, read
~/.openclaw/visual/rules/platforms/{platform}.yaml for size/format requirements
- Content safety — Human diversity rules, no incomplete bodies, max 3 people in scene
- Readability — Body text contrast ≥ 4.5:1, total colors ≤ 3 (excluding grayscale)
Step 6: Record to Journal
- Append task entry to
~/.openclaw/visual/journal/entries/ with: date, input summary, style direction chosen, output path, key decisions
- Ask user: "要不要记录这次设计经验到知识库?" If yes → update
~/.openclaw/visual/journal/knowledge.yaml
Output
- Structured design specification (markdown + JSON)
- Generated poster image(s) via meitu-ai
- Journal entry (if user opts in)
1---2name: article-to-cover3description: 将长文、对话或设计简报转化为结构化海报设计方案与 AI 生成指令(JSON)。支持两种场景:无参考图时从零进行创意规划,有参考图时进行风格洗稿(Washing)或模仿重构(Mimicry)。Generates structured poster design specs and AI-ready prompts from text, conversations, or design briefs. Triggers: 海报设计, poster design, 文章转海报, article-to-cover, 设计方案, design brief, cover image, 信息图, 做张海报.4---56# article-to-cover78## Overview910Art-director-level poster design skill. Analyzes text input, anchors style direction, plans visual hierarchy, and outputs structured AI generation instructions. Two modes: creative direction from scratch (no reference image), or reference-image-based reconstruction/mimicry.1112## Dependencies1314- engine: meitu-ai15- user data: ~/.openclaw/visual/1617## Core Workflow1819### Step 1: Load Context20211. **Analyze user input** — Read the provided text (article, chat transcript, or design brief). Synthesize core message into headline + subtitle candidates.222. **User preferences** — If `~/.openclaw/visual/memory/global.md` exists, read for style preferences. If `contexts/poster.md` exists, read for poster-specific preferences.233. **Experience log** — If `~/.openclaw/visual/journal/knowledge.yaml` exists, scan for entries related to this industry or similar tasks.244. **Brand assets** — If user specifies a brand, read `~/.openclaw/visual/assets/brands/{brand}/`:25 - Brand tone, personality, market positioning26 - Color system (primary 60–70%, secondary 20–30%, accent 5–10%)27 - Logo file and usage specs28 - Derivative graphics if available2930### Step 2: Route — Determine Scenario3132- **User provides reference image** → go to **Step 3B: Poster Analyse**33- **No reference image** (text/brief only) → go to **Step 3A: Creative Direction**3435---3637### Step 3A: Creative Direction (No Reference Image)3839Read [references/design-constraints.md](references/design-constraints.md) for hard rules (logo, human diversity, negative lexicon, medium-type). These apply to all output.4041#### 3A.1: Classify Brand Information Level4243| Level | User provides | Action |44|-------|--------------|--------|45| B1 | Brand tone + color system | Anchor on tone and colors |46| B2 | Tone + colors + logo | Additionally analyze logo for visual linkage opportunities |47| Basic | No brand assets | Extract temperament from text, use industry mapping for color |48| Franchise | References a well-known IP (Harry Potter, Marvel, etc.) | Lock franchise visual DNA as style anchor, skip industry mapping |4950#### 3A.2: Identify Industry + Market5152**Industry identification** — Read [references/industry-styles.md](references/industry-styles.md) for the mapping table:531. Match industry keywords from text content (food, fitness, finance, etc.)542. Validate via semantic analysis: core nouns, core verbs, usage scenarios553. If brand info exists, infer industry from brand attributes564. Output: primary industry + core semantic features (B2B/B2C, audience, emotional tone, scenario)575. If industry not in library → follow Unknown Industry Handling in same file5859**Market identification** — Based on input language, cultural cues (currency, date format, festivals), brand origin:60- Output: target market (North America / Europe / Latin America / Asia Pacific) + cultural sensitivity requirements6162#### 3A.3: Determine Medium Type6364Follow illustration trigger rules strictly from [references/design-constraints.md](references/design-constraints.md):65- **Illustration allowed ONLY if**: user explicitly requests it, reference images are illustration-style, or user specifies illustration keywords66- **Otherwise**: must use Photography / Vector Graphic / 3D Rendering67- Apply negative lexicon: ban watercolor, line art, etching, hand-drawn terms68- Record medium type internally (do not show user)6970#### 3A.4: Anchor Style71721. User provided brand logo → anchor on logo temperament, explore adjacent aesthetics within same visual school732. User specified style keywords → anchor on that style, explore adjacent range743. No style guidance → use industry auto-mapping from [references/industry-styles.md](references/industry-styles.md), select highest-matching style754. For the 6 special industries (primary school, university, medical, nonprofit, finance, rental) → apply mandatory layout rules from industry-styles.md7677Validate: visual clarity, emotional resonance, brand fit, execution feasibility, style–visual binding.7879#### 3A.5: Creative Ideation + Deepening8081Read [references/creative-framework.md](references/creative-framework.md) for the full creative methodology. Execute in order:82831. **Deconstruct brief** — Identify core assets and constraints (text, brand, imagery, layout)842. **Style + element matching** — Combine industry core subjects (coffee → machine/cup; beauty → products/brushes) with style signature elements to build visual scene853. **Concept expansion** — Avoid clichés; seek metaphorical visual expressions; balance metaphor with clarity; apply contrast, white space, rhythm, hierarchy, visual metaphor864. **World-building** — Typography as design protagonist or deep graphic interaction; scene construction from classic style scenarios875. **If Franchise** — Lock franchise visual DNA, label directions as "IP Name + Core Style – Variant", include franchise signature elements in core visual886. **Deepen** — If logo exists → deep graphic analysis (shape derivation: literalization / negative space / repetitive composition). Elaborate visual intention (composition + color + lighting → narrative + emotion). Apply Swiss International Style for layout system.897. **Translate to AI instructions** — Convert all artistic concepts to production instructions with style catalysts (era / medium texture / emotional aesthetics keywords)9091#### 3A.6: Output9293Generate structured output following Scenario 1 format in [references/output-formats.md](references/output-formats.md):94- Design Direction with style name95- Core Visual (must include: style signature elements + industry core subject + stylized scene)96- Visual Elements (subject & environment, lighting & atmosphere, color language, composition & camera)97- Layout & Typography (typography concept, layout strategy with information hierarchy, text–image relationship)98- Overview (style + one-sentence summary of strongest visual scene)99- AI Production Instructions (JSON with project_manifest, visual_style_system, scene_elements, typography_layout, ai_generation_prompts)100101**Quality check before output:**102- Output language matches user input language103- Strong binding between style name and all visual/layout/typography modules104- Core visual contains all three required elements105- Total colors ≤ 3 (excluding grayscale), body text contrast ≥ 4.5:1106107---108109### Step 3B: Poster Analyse (With Reference Image)110111Read [references/design-constraints.md](references/design-constraints.md) for hard rules. Read [references/poster-analyse.md](references/poster-analyse.md) for the full analysis methodology.112113#### 3B.1: Intent Routing (Priority 1 > 2 > 3)1141151. **Explicit commands** — "like this image" / "keep layout" / "series" → **Mimicry**; "redesign" / "refer to vibe" / "optimize" → **Washing**1162. **Implicit scenarios** — Content swap only ("replace person with cat", "change title") → **Mimicry**; Extract attribute for new carrier ("use this color scheme for something else") → **Washing**1173. **Ambiguity default** — Reference image + simple keywords only → **Washing** (provide upgraded scheme, not copy-paste)118119#### 3B.2: Reverse-Engineer Reference Image120121Extract comprehensive visual DNA:122- **Style/medium** — Physical texture only (e.g., "3D render", "Risograph"). Strictly forbidden to describe specific objects.123- **Layout** — Grid structure, composition logic, reading path124- **Font form** — Case (ALL CAPS / Title Case / lowercase), arrangement (stacked / curved / scattered)125- **Brush stroke** — Precise medium description (chalk texture, gouache dry brush, vector gradient), never generic "illustration"126- **Detail insight** — If no facial features → add "faceless character, blank face" to prompt and "eyes, nose, mouth" to negative127- **Vector/stroke** — Distinguish "flat vector, lineless, clean edges" vs "outlined, ink stroke"; if no strokes → emphasize "no outlines"128129#### 3B.3: Extract Soul Anchor (Washing mode only)130131Identify the single most irreplaceable, highest-design-value element:132133| Anchor type | Trigger | Action |134|-------------|---------|--------|135| Typography | Font is highly distinctive (liquid, 3D inflated) | Lock font style → reconstruct layout + color |136| Layout | Grid is highly distinctive (deconstructionism, special segmentation) | Lock layout framework → reconstruct font + color |137| Vibe | Light/shadow or medium is highly distinctive (film grain, acid light) | Lock physical texture → reconstruct layout + font |138139#### 3B.4: Deep Thinking1401411. **Image-text layout** — Brainstorm 6 options, select 1 distinctly different from reference1422. **Main visual** — Use user description if provided; otherwise deduce from theme1433. **Text** — Use user copy verbatim (modification strictly forbidden); if none, deduce from theme1444. **Color**:145 - **Mimicry** → follow reference colors146 - **Washing** → execute Hue Cleansing: forbidden to reuse reference main hue; retain color relationship but replace hue (black+gold → white+chrome; high-sat red+blue → high-sat purple+green)147148#### 3B.5: Reconstruct149150**Mimicry mode**: Style 100% locked. Redraw composition for new content. For text changes: identify original title A, confirm user's new copy B, output instruction "change text '[A]' to text '[B]'".151152**Washing mode**:153- **Coordinate Reset** — Detect reference composition logic, select opposing logic:154 - Symmetrical → negative space / diagonal / scattered155 - Flat/front view → top-down / bottom-up / 3D / fisheye156 - Real-scene photo → macro close-up / partial crop / out-of-focus157- **Hue Cleansing** — New colors must differ ≥ 90° on color wheel from reference158- Abandon reference grid completely. Build new reading path from user copy hierarchy.159160#### 3B.6: Self-Correction Protocol161162Before outputting, verify:1631. **Color check** — Does new palette overlap reference main hue? If yes + no user brand color specified → enforce color inversion or complementary color1642. **Layout check** (Washing only) — Has layout been re-planned? If not → re-plan1653. If any check fails → roll back and re-plan. Do not output failed result.166167#### 3B.7: Output168169Generate JSON following Scenario 2 format in [references/output-formats.md](references/output-formats.md):170- `mission_logic` — intent + soul extraction reasoning171- `design_blueprint` — reconstructed concept, style, color, layout, typography, composition, detected mode172- `content_firewall` — discarded reference objects + unlocked features173- `prompt` — Final English prompt: `[New Color]::3 + [concept]::2 + [anchor] + [mutations]. --no [ignored] --iw 0.5`174175---176177### Step 4: Generate Image via meitu-ai tool skill1781791. Extract prompt from Step 3A JSON (`ai_generation_prompts.primary_prompt`) or Step 3B JSON (`prompt`)1802. Determine dimensions from design spec or user requirements (default: 1080×1350 portrait poster)1813. Run:182 ```bash183 python3 "{baseDir}/../meitu-ai/scripts/run_command.py" \184 --command "image-generate" \185 --input-json '{"prompt":"{prompt}","size":"{width}x{height}"}'186 ```1874. If generation fails → adjust prompt and retry through the same meitu-ai command runner188189### Step 5: Compliance Check1901911. **Brand** — Logo placement matches rules, colors accurate, tone consistent1922. **Platform** — If target platform specified, read `~/.openclaw/visual/rules/platforms/{platform}.yaml` for size/format requirements1933. **Content safety** — Human diversity rules, no incomplete bodies, max 3 people in scene1944. **Readability** — Body text contrast ≥ 4.5:1, total colors ≤ 3 (excluding grayscale)195196### Step 6: Record to Journal1971981. Append task entry to `~/.openclaw/visual/journal/entries/` with: date, input summary, style direction chosen, output path, key decisions1992. Ask user: "要不要记录这次设计经验到知识库?" If yes → update `~/.openclaw/visual/journal/knowledge.yaml`200201## Output202203- Structured design specification (markdown + JSON)204- Generated poster image(s) via meitu-ai205- Journal entry (if user opts in)