skills/baoyu-article-illustrator/SKILL.md
Analyzes article structure, identifies positions requiring visual aids, generates illustrations with Type × Style × Palette three-dimension approach. Use when user asks to "illustrate article", "add images", "generate images for article", or "为文章配图".
npx skillsauth add guanyang/antigravity-skills baoyu-article-illustratorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Analyze articles, identify illustration positions, generate images with Type × Style × Palette consistency.
When this skill prompts the user, follow this tool-selection rule (priority order):
AskUserQuestion, request_user_input, clarify, ask_user, or any equivalent.Concrete AskUserQuestion references below are examples — substitute the local equivalent in other runtimes.
When this skill needs to render an image, resolve the backend in this order:
EXTEND.md sets preferred_image_backend to a backend available right now, use it.auto, unset, or the pinned backend isn't available):
imagegen) — first, inspect your available-skills / tool inventory. If a skill named imagegen is listed, you are running inside Codex and MUST use it: invoke via the Skill tool with skill: "imagegen", passing the saved prompt file's content (plus output path and aspect ratio per Codex imagegen's own args). Codex imagegen is the official raster backend in that runtime and outranks any non-native skill (e.g., baoyu-image-gen) unless the user has explicitly pinned a different preferred_image_backend.codex exec (codex-imagegen) — if the current runtime exposes no native imagegen skill but the codex CLI is on PATH with an active codex login, route through baoyu-image-gen --provider codex-cli (preferred), or — if baoyu-image-gen is unavailable — invoke the bundled wrapper directly. Details, parameters, and the runtime-discovery procedure live in references/codex-imagegen.md — load that file only when this branch is selected.image_generate), use it the same way.baoyu-image-gen), use it.⛔ Never substitute SVG, HTML, canvas, or other code-based rendering for raster image generation. Codex imagegen's own description says it should be used "when the output should be a bitmap asset rather than repo-native code or vector." If you cannot resolve a raster backend via step 3, fall through to step 4 and ask the user — do not silently emit SVG, write inline <svg> markup, or produce HTML/CSS art as a substitute. This applies even if the article/section seems "diagram-like": the consumer skill calling this rule has already decided that a raster image is what it needs.
⛔ Never repair rendered text by painting over a generated bitmap. Do not use ImageMagick, Pillow, Canvas, SVG, HTML/CSS, OCR scripts, or any other programmatic overlay to cover, rewrite, erase, stroke, or replace labels, captions, or any other text inside an already generated illustration. If text is wrong or unclear, regenerate from a corrected prompt, redraw with less or no on-image text, or ask the user which imperfect candidate to keep.
Setting preferred_image_backend: ask forces the step-3 prompt every run regardless of available backends. Users change the pinned backend via the ## Changing Preferences section below.
Prompt file requirement (hard): write each image's full, final prompt to a standalone file under prompts/ (naming: NN-{type}-[slug].md) BEFORE invoking any backend. The backend receives the prompt file (or its content); the file is the reproducibility record and lets you switch backends without regenerating prompts.
Concrete tool names (imagegen, image_generate, baoyu-image-gen) above are examples — substitute the local equivalents under the same rule.
After every prompt file for the run has been saved and verified, generate images in batches by default.
Priority order:
generation_batch_size images at a time. Default: 4. An explicit user request in the current message, such as --batch-size 4 or "并行4张一起生成", overrides EXTEND.md.Rules:
Default behavior: confirm before generation.
EXTEND.md defaults as recommendation inputs only. None of them authorizes skipping confirmation.Users may supply reference images via --ref <files...> or by providing file paths / pasting images in conversation. Refs guide style, palette, composition, or subject for specific illustrations.
Full detection, storage, and processing rules are in references/workflow.md (Step 1.0 saves to references/NN-ref-{slug}.{ext}; Step 5.3 processes per-illustration usage direct | style | palette). When the chosen backend supports batch input, direct-usage entries in each prompt file's references: frontmatter should be propagated into its batch payload so backends can pass them through (e.g. baoyu-image-gen accepts ref per task).
| Dimension | Controls | Examples | |-----------|----------|----------| | Type | Information structure | infographic, scene, flowchart, comparison, framework, timeline | | Style | Rendering approach | notion, warm, minimal, blueprint, watercolor, elegant | | Palette | Color scheme (optional) | macaron, warm, neon — overrides style's default colors |
Combine freely: --type infographic --style vector-illustration --palette macaron
Or use presets: --preset edu-visual → type + style + palette in one flag. See Style Presets.
| Type | Best For |
|------|----------|
| infographic | Data, metrics, technical |
| scene | Narratives, emotional |
| flowchart | Processes, workflows |
| comparison | Side-by-side, options |
| framework | Models, architecture |
| timeline | History, evolution |
See references/styles.md for Core Styles, full gallery, and Type × Style compatibility.
- [ ] Step 1: Pre-check (EXTEND.md, references, config)
- [ ] Step 2: Analyze content
- [ ] Step 3: Confirm settings (AskUserQuestion)
- [ ] Step 4: Generate outline
- [ ] Step 5: Generate images
- [ ] Step 6: Finalize
1.5 Load Preferences (EXTEND.md) ⛔ BLOCKING
Check EXTEND.md in priority order — the first one found wins:
| Priority | Path | Scope |
|----------|------|-------|
| 1 | .baoyu-skills/baoyu-article-illustrator/EXTEND.md | Project |
| 2 | ${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-article-illustrator/EXTEND.md | XDG |
| 3 | $HOME/.baoyu-skills/baoyu-article-illustrator/EXTEND.md | User home |
| Result | Action | |--------|--------| | Found | Read, parse, display summary | | Not found | ⛔ Run first-time-setup |
Full procedures: references/workflow.md
| Analysis | Output | |----------|--------| | Content type | Technical / Tutorial / Methodology / Narrative | | Purpose | information / visualization / imagination | | Core arguments | 2-5 main points | | Positions | Where illustrations add value |
CRITICAL: Metaphors → visualize underlying concept, NOT literal image.
Full procedures: references/workflow.md
Hard gate: this step is mandatory per the Confirmation Policy — Steps 4+ cannot start until the user confirms here (or explicitly opts out with "直接生成" / equivalent wording in the current request).
ONE AskUserQuestion, max 4 Qs. Q1-Q2 REQUIRED. Q3 required unless preset chosen.
| Q | Options | |---|---------| | Q1: Preset or Type | [Recommended preset], [alt preset], or manual: infographic, scene, flowchart, comparison, framework, timeline, mixed | | Q2: Density | minimal (1-2), balanced (3-5), per-section (Recommended), rich (6+) | | Q3: Style | [Recommended], minimal-flat, sci-fi, hand-drawn, editorial, scene, poster, Other — skip if preset chosen | | Q4: Palette | Default (style colors), macaron, warm, neon — skip if preset includes palette or preferred_palette set | | Q5: Language | When article language ≠ EXTEND.md setting |
Full procedures: references/workflow.md
Save outline.md with frontmatter (type, density, style, palette, image_count) and entries:
## Illustration 1
**Position**: [section/paragraph]
**Purpose**: [why]
**Visual Content**: [what]
**Filename**: 01-infographic-concept-name.png
Full template: references/workflow.md
⛔ BLOCKING: Prompt files MUST be saved before ANY image generation. This is a hard requirement regardless of which backend is chosen — the prompt file is the reproducibility record.
prompts/NN-{type}-{slug}.md with YAML frontmatter--prompt without saving prompt files first## Image Generation Tools rule at the top: use whatever is available; if multiple, ask the user once. Do this once per session before any generation.
codex-imagegen invocation: when the rule resolves to codex-imagegen, see references/codex-imagegen.md for the invocation contract (preferred baoyu-image-gen --provider codex-cli path, runtime wrapper discovery, parameter notes, stdout schema, batch semantics).## Batch Generation Policy: backend native batch first, runtime parallel tool calls second, sequential only as fallback. Default batch size is 4 unless EXTEND.md or the current request overrides it.direct/style/palette) per prompt frontmatterFull procedures: references/workflow.md
Insert  after paragraphs. Path computed relative to article file based on output directory setting.
Article Illustration Complete!
Article: [path] | Type: [type] | Density: [level] | Style: [style] | Palette: [palette or default]
Images: X/N generated
Output directory is determined by default_output_dir in EXTEND.md (set during first-time setup):
| default_output_dir | Output Path | Markdown Insert Path |
|----------------------|-------------|----------------------|
| imgs-subdir (default) | {article-dir}/imgs/ | imgs/NN-{type}-{slug}.png |
| same-dir | {article-dir}/ | NN-{type}-{slug}.png |
| illustrations-subdir | {article-dir}/illustrations/ | illustrations/NN-{type}-{slug}.png |
| independent | illustrations/{topic-slug}/ | illustrations/{topic-slug}/NN-{type}-{slug}.png (relative to cwd) |
All auxiliary files (outline, prompts) are saved inside the output directory:
{output-dir}/
├── outline.md
├── prompts/
│ └── NN-{type}-{slug}.md
└── NN-{type}-{slug}.png
When input is pasted content (no file path), always uses illustrations/{topic-slug}/ with source-{slug}.{ext} saved alongside.
Slug: 2-4 words, kebab-case. Conflict: append -YYYYMMDD-HHMMSS.
| Action | Steps | |--------|-------| | Edit | Update prompt → Regenerate → Update reference | | Add | Position → Prompt → Generate → Update outline → Insert | | Delete | Delete files → Remove reference → Update outline |
Text correction policy:
| File | Content | |------|---------| | references/workflow.md | Detailed procedures | | references/usage.md | Command syntax | | references/styles.md | Style gallery + Palette gallery | | references/style-presets.md | Preset shortcuts (type + style + palette) | | references/prompt-construction.md | Prompt templates | | references/config/first-time-setup.md | First-time setup |
EXTEND.md lives at the first matching path listed in Step 1.5. Three ways to change it:
references/config/preferences-schema.md.preferred_image_backend: auto — default; runtime-native tool wins, falls back to the only installed backend, asks only if multiple non-native are present.preferred_image_backend: codex-imagegen — pin to Codex's built-in.preferred_image_backend: baoyu-image-gen — pin to the baoyu-image-gen skill.preferred_image_backend: ask — confirm backend every run.generation_batch_size: 4 — default number of images to render concurrently when the runtime supports parallel generation calls.preferred_type: infographic, preferred_style: notion, preferred_palette: macaron, language: zh.default_output_dir: imgs-subdir — where to write generated images relative to the article.tools
This skill should be used when the user asks to "translate", "翻译", "精翻", "translate article", "translate to Chinese", "translate to English", "改成中文", "改成英文", "convert to Chinese", "localize", "本地化", "refined translation", "精细翻译", "proofread translation", "快速翻译", "快翻", "这篇文章翻译一下", or provides a URL/file with translation intent. Supports three modes (quick/normal/refined) with custom glossary support.
tools
Posts content and articles to X (Twitter). Supports regular posts with images/videos and X Articles (long-form Markdown). In Codex, honor explicit requests for the Codex Chrome plugin/@chrome by using the Chrome Extension workflow; otherwise use Chrome Computer Use when available and fall back to real Chrome CDP scripts only when allowed. Use when user asks to "post to X", "tweet", "publish to Twitter", or "share on X".
content-media
Posts content to Weibo (微博). Supports regular posts with text, images, and videos, and headline articles (头条文章) with Markdown input via Chrome CDP. Use when user asks to "post to Weibo", "发微博", "发布微博", "publish to Weibo", "share on Weibo", "写微博", or "微博头条文章".
development
Posts content to WeChat Official Account (微信公众号) via API or Chrome CDP. Supports article posting (文章) with HTML, markdown, or plain text input, and image-text posting (贴图, formerly 图文) with multiple images. Markdown article workflows default to converting ordinary external links into bottom citations for WeChat-friendly output. Use when user mentions "发布公众号", "post to wechat", "微信公众号", or "贴图/图文/文章".