tessl install github:jimliu/baoyu-skills --skill baoyu-article-illustratorgithub.com/jimliu/baoyu-skills
Analyzes article structure, identifies positions requiring visual aids, generates illustrations with Type × Style two-dimension approach. Use when user asks to "illustrate article", "add images", "generate images for article", or "为文章配图".
Review Score
92%
Validation Score
14/16
Implementation Score
85%
Activation Score
100%
Analyze articles, identify illustration positions, generate images with Type × Style consistency.
| Dimension | Controls | Examples |
|---|---|---|
| Type | Information structure, layout | infographic, scene, flowchart, comparison, framework, timeline |
| Style | Visual aesthetics, mood | notion, warm, minimal, blueprint, watercolor, elegant |
Type × Style can be freely combined. Example: --type infographic --style blueprint
| Type | Best For |
|---|---|
infographic | Data, metrics, technical articles |
scene | Narratives, personal stories, emotional content |
flowchart | Tutorials, workflows, processes |
comparison | Side-by-side, before/after, options |
framework | Methodologies, models, architecture |
timeline | History, progress, evolution |
| Style | Best For |
|---|---|
notion (Default) | Knowledge sharing, SaaS, productivity |
elegant | Business, thought leadership |
warm | Personal growth, lifestyle, education |
minimal | Philosophy, core concepts |
blueprint | Architecture, system design |
watercolor | Lifestyle, travel, creative |
editorial | Tech explainers, journalism |
scientific | Academic, technical research |
Full styles: references/styles.md
| Content Signals | Type | Style |
|---|---|---|
| API, metrics, data, numbers | infographic | blueprint, notion |
| Story, emotion, journey | scene | warm, watercolor |
| How-to, steps, workflow | flowchart | notion, minimal |
| vs, pros/cons, before/after | comparison | notion, elegant |
| Framework, model, architecture | framework | blueprint, notion |
| History, timeline, progress | timeline | elegant, warm |
Copy this checklist and track progress:
Progress:
- [ ] Step 1: Pre-check
- [ ] Step 2: Setup & Analyze
- [ ] Step 3: Confirm Settings ⚠️ REQUIRED
- [ ] Step 4: Generate Outline
- [ ] Step 5: Generate Images
- [ ] Step 6: Finalize1.1 Determine Input Type
| Input | Output Directory | Next |
|---|---|---|
| File path | Ask user (1.2) | → 1.2 |
| Pasted content | illustrations/{topic-slug}/ | → 1.4 |
1.2 Determine Output Directory (file path input only)
Check default_output_dir in preferences:
| Preference Value | Action |
|---|---|
same-dir | Use {article-dir}/, display "Output: {path}" |
imgs-subdir | Use {article-dir}/imgs/, display "Output: {path}" |
illustrations-subdir | Use {article-dir}/illustrations/, display "Output: {path}" |
independent | Use illustrations/{topic-slug}/, display "Output: {path}" |
| Not configured | MUST ask with AskUserQuestion ↓ |
AskUserQuestion (when no preference):
{article-dir}/ - Same directory as article{article-dir}/imgs/ - Images subdirectory{article-dir}/illustrations/ - Illustrations subdirectory (Recommended)illustrations/{topic-slug}/ - Independent directory1.3 Check Existing Images
Scan target directory for .png/.jpg/.webp files.
If images exist → AskUserQuestion: How to handle?
supplement - Keep existing, generate only new positionsoverwrite - Overwrite same-name filesregenerate - Clear all and regenerate1.4 Confirm Article Update Method (file path input only)
AskUserQuestion: How to update article?
update - Modify original file directlycopy - Create {name}-illustrated.md copy1.5 Load Preferences (EXTEND.md)
test -f .baoyu-skills/baoyu-article-illustrator/EXTEND.md && echo "project"
test -f "$HOME/.baoyu-skills/baoyu-article-illustrator/EXTEND.md" && echo "user"| Result | Action |
|---|---|
| Found | Read, parse, display summary |
| Not found | Ask with AskUserQuestion (see references/config/first-time-setup.md) |
Supports: Watermark | Preferred type/style | Custom styles | Language | Output directory
2.1 Analyze Content
| Analysis | Description |
|---|---|
| Content type | Technical / Tutorial / Methodology / Narrative |
| Core arguments | 2-5 main points to visualize |
| Visual opportunities | Positions where illustrations add value |
| Recommended type | Based on content signals |
| Recommended density | Based on length and complexity |
2.2 Extract Core Arguments
CRITICAL: If article uses metaphors (e.g., "电锯切西瓜"), do NOT illustrate literally. Visualize the underlying concept.
2.3 Identify Positions
Illustrate:
Do NOT Illustrate:
Do NOT skip. Use AskUserQuestion with 3-4 questions in ONE call.
Q1: Illustration Type
Q2: Density
Q3: Style (ALWAYS ask, even with preferred_style in EXTEND.md)
If EXTEND.md has preferred_style:
If no preferred_style:
Style selection based on Type × Style compatibility matrix (references/styles.md).
Full specs: references/styles/<style>.md
Q4 (only if source ≠ user language):
Save as outline.md:
---
type: infographic
density: balanced
style: blueprint
image_count: 4
---
## Illustration 1
**Position**: [section] / [paragraph]
**Purpose**: [why this helps]
**Visual Content**: [what to show]
**Type Application**: [how type applies]
**Filename**: 01-infographic-concept-name.png
## Illustration 2
...Requirements:
5.1 Create Prompts
Follow references/prompt-construction.md. Save to prompts/illustration-{slug}.md.
5.2 Select Generation Skill
Check available skills. If multiple, ask user.
5.3 Apply Watermark (if enabled)
Add: Include a subtle watermark "[content]" at [position].
5.4 Generate
6.1 Update Article
Insert after corresponding paragraph:
Alt text: concise description in article's language.
6.2 Output Summary
Article Illustration Complete!
Article: [path]
Type: [type] | Density: [level] | Style: [style]
Location: [directory]
Images: X/N generated
Positions:
- 01-xxx.png → After "[Section]"
- 02-yyy.png → After "[Section]"
[If failures]
Failed:
- NN-zzz.png: [reason]illustrations/{topic-slug}/
├── source-{slug}.{ext}
├── outline.md
├── prompts/
│ └── illustration-{slug}.md
└── NN-{type}-{slug}.pngSlug: 2-4 word topic in kebab-case.
Conflict: Append -YYYYMMDD-HHMMSS if exists.
| Action | Steps |
|---|---|
| Edit | Update prompt file FIRST → Regenerate → Update reference |
| Add | Identify position → Create prompt → Generate → Update outline → Insert |
| Delete | Delete files → Remove reference → Update outline |
IMPORTANT: When updating illustrations, ALWAYS update the prompt file (prompts/illustration-{slug}.md) FIRST before regenerating. This ensures:
| File | Content |
|---|---|
| references/usage.md | Command syntax and options |
| references/styles.md | Style gallery & compatibility |
| references/prompt-construction.md | Prompt templates |
references/styles/<style>.md | Full style specifications |
references/config/preferences-schema.md | EXTEND.md schema |
references/config/first-time-setup.md | First-time setup flow |
Custom configurations via EXTEND.md. See Step 1.5 for paths and supported options.