by axtonliu
AI-powered article illustrations with intelligent position detection and cover learning system. Claude Code Skill.
# Add to your Claude Code skills
git clone https://github.com/axtonliu/smart-illustratorGuides for using api integration skills like smart-illustrator.
Last scanned: 5/17/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-17T06:46:44.162Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}smart-illustrator is an open-source api integration skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by axtonliu. AI-powered article illustrations with intelligent position detection and cover learning system. Claude Code Skill. It has 518 GitHub stars.
Yes. smart-illustrator passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/axtonliu/smart-illustrator" and add it to your Claude Code skills directory (see the Installation section above). smart-illustrator ships a SKILL.md manifest, so compatible agents can discover and load it automatically.
smart-illustrator is primarily written in TypeScript. It is open-source under axtonliu on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other API Integration skills you can browse and compare side by side. Open the API Integration category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh smart-illustrator against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Based on votes and bookmarks from developers who liked this skill
--prompt-only 只输出 prompt。支持 Bento Grid 功能展示图风格(--style bento)。触发词:配图、插图、PPT、slides、封面图、thumbnail、cover、bento grid、功能展示图、feature showcase。/smart-illustrator SKILL_05.md → SKILL_05.md 是文章,为它配图
/smart-illustrator README.md → README.md 是文章,为它配图
/smart-illustrator whatever.md → whatever.md 是文章,为它配图
无论文件名叫什么,都是要配图的文章,不是 Skill 配置。
生成任何图片 prompt 前,必须读取对应的 style 文件:
| 模式 | 必须读取的文件 |
|---|---|
| 文章配图(默认) | styles/style-light.md |
| Cover 封面图 | styles/style-cover.md |
--style dark |
styles/style-dark.md |
--style bento |
styles/style-bento.md |
禁止自己编写 System Prompt。
❌ 错误:"你是一个专业的信息图设计师..."(自己编的)
✅ 正确:从 style 文件的代码块中提取 System Prompt
/smart-illustrator path/to/article.md
/smart-illustrator path/to/article.md --prompt-only # 只输出 prompt
/smart-illustrator path/to/article.md --style dark # 深色风格
/smart-illustrator path/to/article.md --no-cover # 不生成封面图
# 默认:直接生成图片
/smart-illustrator path/to/script.md --mode slides
# 只输出 JSON prompt(不调用 API)
/smart-illustrator path/to/script.md --mode slides --prompt-only
默认行为:调用 Gemini API 生成批量信息图。
--prompt-only:输出 JSON prompt 并自动复制到剪贴板,可直接粘贴到 Gemini Web 手动生成。
PPT JSON 格式(--prompt-only 时输出):
{
"instruction": "请逐条生成以下 N 张独立信息图。",
"batch_rules": { "total": "N", "one_item_one_image": true, "aspect_ratio": "16:9" },
"style": "[从 styles/style-light.md 读取完整内容]",
"pictures": [
{ "id": 1, "topic": "封面", "content": "系列名称\n\n第N节:标题" },
{ "id": 2, "topic": "主题", "content": "原始内容" }
]
}
/smart-illustrator path/to/article.md --mode cover --platform youtube
/smart-illustrator --mode cover --platform youtube --topic "Claude 4 深度评测"
平台尺寸(输出均为 2K 分辨率):
| 平台 | 代码 | 宽高比 |
|---|---|---|
| YouTube | youtube |
16:9 |
| 公众号 | wechat |
2.35:1 |
twitter |
1.91:1 | |
| 小红书 | xiaohongshu |
3:4 |
| 参数 | 默认值 | 说明 |
|---|---|---|
--mode |
article |
article / slides / cover |
--platform |
youtube |
封面图平台(仅 cover 模式) |
--topic |
- | 封面图主题(仅 cover 模式) |
--prompt-only |
false |
输出 prompt 到剪贴板,不调用 API(适用于所有模式) |
--style |
light |
风格:light / dark / minimal / bento |
--no-cover |
false |
不生成封面图 |
--ref |
- | 参考图路径(可多次使用) |
-c, --candidates |
1 |
候选图数量(最多 4) |
-a, --aspect-ratio |
- | 宽高比:16:9(正文配图/封面图默认)、3:2(备选横版)、3:4(仅竖屏平台) |
--engine |
auto |
引擎选择:auto(自动)/ mermaid / gemini / excalidraw |
--mermaid-embed |
false |
Mermaid 输出为代码块而非 PNG(旧行为) |
--save-config |
- | 保存到项目配置 |
--no-config |
false |
禁用 config.json |
--no-config范围:只禁用config.json,不影响styles/style-*.md。
优先级:CLI 参数 > 项目级 > 用户级
| 位置 | 路径 |
|---|---|
| 项目级 | .smart-illustrator/config.json |
| 用户级 | ~/.smart-illustrator/config.json |
{ "references": ["./refs/style-ref-01.png"] }
| 优先级 | 引擎 | 适用场景 | 输出 |
|---|---|---|---|
| 1 | Gemini | 隐喻图、创意图、封面图、无法用图表表达的概念 | PNG |
| 2 | Excalidraw | 概念图、对比图、简单流程(≤ 8 节点)、关系图、手绘风格示意图 | PNG |
| 3 | Mermaid | 仅限:复杂流程(> 8 节点)、多层架构图、多角色时序图、多分支决策树 | PNG |
选择逻辑:
生成 Excalidraw 前必须读取 references/excalidraw-guide.md。
每种颜色有固定含义,必须使用 classDef + class 应用:
| 语义 | 填充色 | 边框色 | 用于 |
|---|---|---|---|
| input | #d3f9d8 | #2f9e44 | 输入、起点、数据源 |
| process | #e5dbff | #5f3dc4 | 处理、推理、核心逻辑 |
| decision | #ffe3e3 | #c92a2a | 决策点、分支判断 |
| action | #ffe8cc | #d9480f | 执行动作、工具调用 |
| output | #c5f6fa | #0c8599 | 输出、结果、终点 |
| storage | #fff4e6 | #e67700 | 存储、记忆、数据库 |
| meta | #e7f5ff | #1971c2 | 标题、分组、元信息 |
classDef 写法(放在图表末尾):
classDef input fill:#d3f9d8,stroke:#2f9e44,color:#1a1a1a
classDef process fill:#e5dbff,stroke:#5f3dc4,color:#1a1a1a
classDef decision fill:#ffe3e3,stroke:#c92a2a,color:#1a1a1a
classDef action fill:#ffe8cc,stroke:#d9480f,color:#1a1a1a
classDef output fill:#c5f6fa,stroke:#0c8599,color:#1a1a1a
class A input
class B,C process
class D output
TB(上到下),横向流程用 LR--> 主流程 / -.-> 可选/辅助路径 / ==> 重点强调subgraph 对相关节点分组,标题简洁1. 格式(用 ① 或 Step 1:)--engine 参数:
auto(默认):根据内容类型自动选择(优先级 Gemini > Excalidraw > Mermaid)gemini:强制只使用 Gemini(适合创意内容)excalidraw:强制只使用 Excalidraw(适合手绘概念图)mermaid:强制只使用 Mermaid(适合技术文档).mmd 文件npx -y bun ~/.claude/skills/smart-illustrator/scripts/mermaid-export.ts \
-i {图表名}.mmd -o {图表名}.png -w 2400
使用 --mermaid-embed 参数时,改为直接嵌入 Mermaid 代码块(旧行为)。
references/excalidraw-guide.md 获取 JSON 规范.excalidraw 文件npx -y bun ~/.claude/skills/smart-illustrator/scripts/excalidraw-export.ts \
-i {图表名}.excalidraw -o {图表名}.png -s 2
依赖未安装时的降级:提示手动打开 excalidraw.com 导出。
命令模板(必须使用 HEREDOC + prompt-file):
# Step 1: 写入 prompt
cat > /tmp/image-prompt.txt <<'EOF'
{从 style 文件提取的 System Prompt}
**内容**:{配图内容}
EOF
# Step 2: 调用脚本
GEMINI_API_KEY=$GEMINI_API_KEY npx -y bun ~/.claude/skills/smart-illustrator/scripts/generate-image.ts \
--prompt-file /tmp/image-prompt.txt \
--output {输出路径}.png \
--aspect-ratio 16:9
封面图(16:9):
cat > /tmp/cover-prompt.txt <<'EOF'
{从 style-cover.md 提取的 System Prompt}
**内容**:
- 核心概念:{主题}
- 视觉隐喻:{设计}
EOF
GEMINI_API_KEY=$GEMINI_API_KEY npx -y bun ~/.claude/skills/smart-illustrator/scripts/generate-image.ts \
--prompt-file /tmp/cover-prompt.txt \
--output {文章名}-cover.png \
--aspect-ratio 16:9
参数传递:用户指定的 --no-config、--ref、-c 必须传递给脚本。
保存为 {文章名}-image.md,包含:
报告:生成了几张图片、输出文件列表。
--prompt-only 模式当使用 --prompt-only 时,不调用 API,而是:
pbcopy)# 执行方式
echo '{生成的 JSON}' | pbcopy
echo "✓ JSON prompt 已复制到剪贴板"
# 同时保存备份
echo '{生成的 JSON}' > /tmp/smart-illustrator-prompt.json
echo "✓ 备份已保存到 /tmp/smart-illustrator-prompt.json"
用户可直接粘贴到 Gemini Web 手动生成图片。
article.md # 原文(不修改)
article-image.md # 带配图的文章
article-cover.png # 封面图(16:9)
article-image-01.png # Gemini 配图
🆕 v1.4.0 — Tri-Engine System (Feb 2026)
New Excalidraw engine for hand-drawn concept diagrams. Three-tier priority: Gemini → Excalidraw → Mermaid. All diagram engines now output PNG by default. Details →

Intelligent article illustration Skill for Claude Code with tri-engine system: automatically selects Gemini (for creative visuals), Excalidraw (for hand-drawn diagrams), or Mermaid (for structured diagrams) based on content type.
Status: Experimental
- This is a public prototype that works for my demos, but does not yet cover all input scales and edge cases.
- Output quality varies based on model version and input structure; results may fluctuate.
- My primary focus is demonstrating how tools and systems work together, not maintaining this codebase.
- If you encounter issues, please submit a reproducible case (input + output file + steps to reproduce).
Creating illustrations for articles is time-consuming: manual design takes hours, stock photos lack context, and generic AI tools don't understand article structure. Smart Illustrator combines intelligent position detection, tri-engine system (Gemini + Excalidraw + Mermaid), and cover learning to generate contextual illustrations in minutes.
Who it's for: Newsletter writers, YouTube creators, technical bloggers, course instructors.
When to use: When you need high-quality illustrations for articles, YouTube thumbnails with best practices, or consistent visual style across content series.
Before packaging this into a Skill, I had already built an end-to-end Make workflow: search → write → auto-illustrate → format/publish (WeChat Official Account).
Full walkthrough (workflow logic & design trade-offs): https://youtu.be/TbyJ3imLuXQ
styles/ to apply your brand styleSkills are prompt-based extensions for Claude Code that give Claude specialized capabilities. Unlike MCP servers that require complex setup, skills are simple markdown files that Claude loads on demand.
npm install -g @mermaid-js/mermaid-clicd ~/.claude/skills/smart-illustrator/scripts && npm install && npx playwright install firefox# Clone to Claude Code Skills directory
git clone https://github.com/axtonliu/smart-illustrator.git ~/.claude/skills/smart-illustrator
# If you only want the skill without scripts
cp -r smart-illustrator/SKILL.md ~/.claude/skills/smart-illustrator/
cp -r smart-illustrator/styles ~/.claude/skills/smart-illustrator/
# Analyze article and auto-generate illustrations (default)
/smart-illustrator path/to/article.md
# Output prompts only, don't auto-generate images
/smart-illustrator path/to/article.md --prompt-only
# Specify style (loads from styles/ directory)
/smart-illustrator path/to/article.md --style light # Light style (default)
/smart-illustrator path/to/article.md --style dark # Dark tech style
/smart-illustrator path/to/article.md --style minimal # Minimal style
# List available styles
/smart-illustrator --list-styles
# Without cover image
/smart-illustrator path/to/article.md --no-cover
# Specify number of illustrations
/smart-illustrator path/to/article.md --count 5
| Parameter | Default | Description |
|---|---|---|
--mode |
article |
Mode: article, slides, or cover |
--engine |
auto |
Engine: auto, gemini, excalidraw, or mermaid |
--mermaid-embed |
false |
Embed Mermaid code blocks instead of exporting PNG |
--platform |
youtube |
Cover platform: youtube/wechat/twitter/xiaohongshu/landscape/square |
--topic |
- | Cover topic (alternative to article path, cover mode only) |
--description |
- | Cover visual direction (cover mode only) |
--prompt-only |
false |
Output prompts only, don't call API to generate images |
--style |
light |
Style name, loads styles/style-{name}.md |
--list-styles |
- | List all available styles in styles/ directory |
--no-cover |
false |
Skip cover image generation (article mode) |
--count |
auto | Number of illustrations (auto-determined by article length) |
| Article Length | Suggested Count |
|---|---|
| Short (< 1000 words) | 1-2 images |
| Medium (1000-3000 words) | 2-4 images |
| Long (> 3000 words) | 4-6 images |
| Tutorials/Guides | 1 per major step |
article.md # Original
article-image.md # Article with illustrations (main output)
article-cover.png # Cover image (16:9)
article-image-01.png # Content illustration (3:4)
article-image-02.png
article-image-03.png
export GEMINI_API_KEY=your_key
# From prompt text
npx -y bun ~/.claude/skills/smart-illustrator/scripts/generate-image.ts \
--prompt "A concept diagram showing..." \
--output image.png
# From prompt file
npx -y bun ~/.claude/skills/smart-illustrator/scripts/generate-image.ts \
--prompt-file prompt.md \
--output image.png
| Option | Description |
|---|---|
-p, --prompt |
Image description text |
-f, --prompt-file |
Read prompt from file |
-o, --output |
Output path (default: generated.png) |
-m, --model |
Model (default: gemini-3-pro-image-preview) |
export GEMINI_API_KEY=your_key
npx -y bun ~/.claude/skills/smart-illustrator/scripts/batch-generate.ts \
--config slides.json \
--output-dir ./images \
--prefix SKILL_01
| Option | Description |
|---|---|
-c, --config |
JSON config file (required) |
-o, --output-dir |
Output directory (default: ./illustrations) |
-m, --model |
Model (default: gemini-3-pro-image-preview) |
-d, --delay |
Delay between requests in ms (default: 2000) |
-p, --prefix |
Filename prefix (default: from config filename) |
-r, --regenerate |
Regenerate specific images (e.g., "3" or "3,5,7") |
-f, --force |
Force regenerate all images (ignore existing) |
Resume Generation: By default, the script skips images that already exist in the output directory. This allows resuming interrupted generation without re-generating completed images.
Output: {prefix}-01.png, {prefix}-02.png, etc.
# From .mmd file
npx -y bun ~/.claude/skills/smart-illustrator/scripts/mermaid-export.ts \
--input diagram.mmd \
--output diagram.png
# From inline content
npx -y bun ~/.claude/skills/smart-illustrator/scripts/mermaid-export.ts \
--content "flowchart LR
A[Start] --> B[End]" \
--output simple.png \
--theme dark
| Option | Description |
|---|---|
-i, --input |
Input .mmd file path |
-c, --content |
Mermaid diagram content (alternative) |
-o, --output |
Output path (default: output.png) |
-t, --theme |
Theme: light (default) or dark |
-w, --width |
Image width in pixels |
-H, --height |
Image height in pixels |
Beyond article illustrations, this skill can generate batch infographics for PPT/Keynote slides.
| Mode | Use Case | Output |
|---|---|---|
| Article Mode | Blog posts, newsletters | 3-5 illustrations inserted in article |
| Slides Mode | Video B-roll, presentations | 8-15 standalone infographics |
Use pictures[] array format with explicit batch rules:
{
"instruction": "请为我绘制 7 张图片(generate 7 images)。你是一位「信息图绘制者」。请逐条执行 pictures 数组:每个 id 对应 1 张独立的 16:9 信息图,严禁合并,严禁只输出文字描述。",
"batch_rules": {
"total": 7,
"one_item_one_image": true,
"aspect_ratio": "16:9",
"do_not_merge": true
},
"fallback": "如果无法一次生成全部图片:请输出 7 条独立的单图绘图指令...",
"style": "[Complete style prompt - see styles/style-light.md]",
"pictures": [
{ "id": 1, "topic": "封面", "content": "Course Name\n\nSection Title\n\nLearning objectives..." },
{ "id": 2, "topic": "核心概念", "content": "[Raw content]" }
]
}