diff --git a/skills/creative/baoyu-article-illustrator/PORT_NOTES.md b/skills/creative/baoyu-article-illustrator/PORT_NOTES.md new file mode 100644 index 00000000000..cba424387c2 --- /dev/null +++ b/skills/creative/baoyu-article-illustrator/PORT_NOTES.md @@ -0,0 +1,47 @@ +# Port Notes — baoyu-article-illustrator + +Ported from [JimLiu/baoyu-skills](https://github.com/JimLiu/baoyu-skills) v1.57.0. + +## Changes from upstream + +`SKILL.md`, `references/workflow.md`, `references/usage.md`, `references/style-presets.md`, `references/styles.md`, and `references/prompt-construction.md` were adapted. The 21 style files, 4 palette files, and `prompts/system.md` are verbatim copies. The `references/config/` directory was removed entirely. + +### Adaptations + +| Change | Upstream | Hermes | +|--------|----------|--------| +| Metadata namespace | `openclaw` | `hermes` | +| Trigger | `/baoyu-article-illustrator` slash command + CLI flags | Natural language skill matching | +| User config | EXTEND.md (project/user/XDG paths) + first-time-setup | Removed — not part of Hermes infra | +| User prompts | `AskUserQuestion` (batched, multi-question) | `clarify` tool (one question at a time) | +| Image generation | `baoyu-imagine` (Bun/TypeScript, multi-provider, accepts `--ref`) | `image_generate` tool (describes references in prompt text) | +| Platform support | Linux/macOS/Windows/WSL/PowerShell | Linux/macOS only | +| File operations | Bash commands | Hermes file tools (`write_file`, `read_file`) | +| Watermark | Driven by EXTEND.md `watermark.enabled` | Optional — user asks for it per-article | +| Output directory | EXTEND.md `default_output_dir` (imgs-subdir / same-dir / illustrations-subdir / independent) | Defaults based on input type; user overrides in request | + +### What was preserved + +- Type × Style × Palette three-dimension framework +- All style definitions (23 files) +- All palette definitions (4 files) +- Core reference files (workflow, prompt-construction, styles, style-presets) +- `prompts/system.md` (generation prompt template) +- Core principles and workflow structure (analyze → confirm → outline → prompts → generate) +- Prompt-file-as-reproducibility-record discipline +- Author, version, homepage attribution + +## Syncing with upstream + +To pull upstream updates: + +```bash +# Compare versions +curl -sL https://raw.githubusercontent.com/JimLiu/baoyu-skills/main/skills/baoyu-article-illustrator/SKILL.md | head -5 +# Look for version: line + +# Diff style/palette files (safe to overwrite — unchanged from upstream) +diff <(curl -sL https://raw.githubusercontent.com/JimLiu/baoyu-skills/main/skills/baoyu-article-illustrator/references/styles/blueprint.md) references/styles/blueprint.md +``` + +`references/styles/*`, `references/palettes/*`, and `prompts/system.md` can be overwritten directly. `SKILL.md`, `references/workflow.md`, `references/usage.md`, `references/style-presets.md`, `references/styles.md`, and `references/prompt-construction.md` must be manually merged since they contain Hermes-specific adaptations. diff --git a/skills/creative/baoyu-article-illustrator/SKILL.md b/skills/creative/baoyu-article-illustrator/SKILL.md index 977015f87c3..23771708f5e 100644 --- a/skills/creative/baoyu-article-illustrator/SKILL.md +++ b/skills/creative/baoyu-article-illustrator/SKILL.md @@ -2,42 +2,24 @@ name: baoyu-article-illustrator description: 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 "为文章配图". version: 1.57.0 +author: 宝玉 (JimLiu) +license: MIT metadata: - openclaw: + hermes: + tags: [article-illustration, creative, image-generation] + category: creative homepage: https://github.com/JimLiu/baoyu-skills#baoyu-article-illustrator --- # Article Illustrator -Analyze articles, identify illustration positions, generate images with Type × Style × Palette consistency. +Adapted from [baoyu-article-illustrator](https://github.com/JimLiu/baoyu-skills) for Hermes Agent's tool ecosystem. -## User Input Tools +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): +## When to Use -1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent. -2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question. -3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order. - -Concrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes. - -## Image Generation Tools - -When this skill needs to render an image: - -- **Use whatever image-generation tool or skill is available** in the current runtime — e.g., Codex `imagegen`, Hermes `image_generate`, `baoyu-imagine`, or any equivalent the user has installed. -- **If multiple are available**, ask the user **once** at the start which to use (batch with any other initial questions). -- **If none are available**, tell the user and ask how to proceed. - -**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-imagine`) above are examples — substitute the local equivalents under the same rule. - -## Reference Images - -Users may supply reference images via `--ref ` 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](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-imagine` accepts `ref` per task). +Trigger this skill when the user asks to illustrate an article, add images to an article, generate illustrations for content, or uses phrases like "为文章配图", "illustrate article", or "add images". The user provides an article (file path or pasted content) and optionally specifies type, style, palette, or density. ## Three Dimensions @@ -47,9 +29,9 @@ Full detection, storage, and processing rules are in [references/workflow.md](re | **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` +Combine freely: `type=infographic, style=vector-illustration, palette=macaron`. -Or use presets: `--preset edu-visual` → type + style + palette in one flag. See [Style Presets](references/style-presets.md). +Or use presets: `edu-visual` → type + style + palette in one shot. See [style-presets.md](references/style-presets.md). ## Types @@ -64,37 +46,58 @@ Or use presets: `--preset edu-visual` → type + style + palette in one flag. Se ## Styles -See [references/styles.md](references/styles.md) for Core Styles, full gallery, and Type × Style compatibility. +See [references/styles.md](references/styles.md) for Core Styles, the full gallery, and Type × Style compatibility. + +## Output Structure + +``` +{output-dir}/ +├── source-{slug}.{ext} # Only for pasted content +├── outline.md +├── prompts/ +│ └── NN-{type}-{slug}.md +└── NN-{type}-{slug}.png +``` + +**Default output directory**: + +| Input | Output Directory | Markdown Insert Path | +|-------|------------------|----------------------| +| Article file path | `{article-dir}/imgs/` | `imgs/NN-{type}-{slug}.png` | +| Pasted content | `illustrations/{topic-slug}/` (cwd) | `illustrations/{topic-slug}/NN-{type}-{slug}.png` | + +If the user asks for a different layout (e.g., images alongside the article, or a `illustrations/` subdirectory), honor that. + +**Slug**: 2-4 words, kebab-case. **Conflict**: append `-YYYYMMDD-HHMMSS`. + +## Core Principles + +- **Visualize concepts, not metaphors** — if the article uses a metaphor (e.g., "电锯切西瓜"), illustrate the underlying concept, not the literal image. +- **Labels use article data** — actual numbers, terms, and quotes from the article, not generic placeholders. +- **Prompt files are reproducibility records** — every illustration must have a saved prompt file under `prompts/` before any image is generated. +- **Strip secrets** — scan source content for API keys, tokens, or credentials before writing anything to disk. ## Workflow ``` -- [ ] Step 1: Pre-check (EXTEND.md, references, config) +- [ ] Step 1: Detect reference images (if provided) - [ ] Step 2: Analyze content -- [ ] Step 3: Confirm settings (AskUserQuestion) +- [ ] Step 3: Confirm settings (clarify tool, one question at a time) - [ ] Step 4: Generate outline -- [ ] Step 5: Generate images -- [ ] Step 6: Finalize +- [ ] Step 5: Generate prompts +- [ ] Step 6: Generate images (image_generate) +- [ ] Step 7: Finalize ``` -### Step 1: Pre-check +### Step 1: Detect Reference Images -**1.5 Load Preferences (EXTEND.md) ⛔ BLOCKING** +If the user supplies reference images (paths pasted inline, attachments, or a list of files): -Check EXTEND.md in priority order — the first one found wins: +1. Copy each reference to `{output-dir}/references/NN-ref-{slug}.{ext}` using `write_file`. +2. Create a sidecar `NN-ref-{slug}.md` describing the reference. +3. If the user described a reference but can't provide a file path, extract style/palette verbally and record under `references/extracted-style.md` — do NOT add a `references:` field to prompt frontmatter in that case. -| 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](references/config/first-time-setup.md) | - -Full procedures: [references/workflow.md](references/workflow.md#step-1-pre-check) +Full procedures: [references/workflow.md](references/workflow.md#step-1-detect-reference-images). ### Step 2: Analyze @@ -105,58 +108,65 @@ Full procedures: [references/workflow.md](references/workflow.md#step-1-pre-chec | Core arguments | 2-5 main points | | Positions | Where illustrations add value | -**CRITICAL**: Metaphors → visualize underlying concept, NOT literal image. +Read source (file path → `read_file`, or pasted text) and write the analysis to `{output-dir}/analysis.md` using `write_file`. -Full procedures: [references/workflow.md](references/workflow.md#step-2-setup--analyze) +Full procedures: [references/workflow.md](references/workflow.md#step-2-analyze). -### Step 3: Confirm Settings ⚠️ +### Step 3: Confirm Settings -**ONE AskUserQuestion, max 4 Qs. Q1-Q2 REQUIRED. Q3 required unless preset chosen.** +Use the `clarify` tool. Since `clarify` handles one question at a time, ask the most important question first. Skip any question whose answer is already present in the user's request. -| 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 | +| Order | Question | 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** *(skip if preset chosen in Q1)* | [Recommended], minimal-flat, sci-fi, hand-drawn, editorial, scene, poster | +| Q4 | **Palette** *(optional)* | Default (style colors), macaron, warm, neon | +| Q5 | **Language** *(only if article language is ambiguous)* | article language / user language | -Full procedures: [references/workflow.md](references/workflow.md#step-3-confirm-settings-) +Don't ask more than 2-3 `clarify` questions in a row. If the user already specified these in their request, skip entirely. -### Step 4: Generate Outline +Full procedures: [references/workflow.md](references/workflow.md#step-3-confirm-settings). -Save `outline.md` with frontmatter (type, density, style, palette, image_count) and entries: +### Step 4: Generate Outline → `outline.md` + +Save `{output-dir}/outline.md` using `write_file` with frontmatter (type, density, style, palette, image_count) and one entry per illustration: ```yaml ## Illustration 1 **Position**: [section/paragraph] **Purpose**: [why] -**Visual Content**: [what] +**Visual Content**: [what to show] **Filename**: 01-infographic-concept-name.png ``` -Full template: [references/workflow.md](references/workflow.md#step-4-generate-outline) +Full template: [references/workflow.md](references/workflow.md#step-4-generate-outline). -### Step 5: Generate Images +### Step 5: Generate Prompts -⛔ **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. +**BLOCKING**: Every illustration must have a saved prompt file before any image is generated — the prompt file is the reproducibility record. -1. For each illustration, create a prompt file per [references/prompt-construction.md](references/prompt-construction.md) -2. Save to `prompts/NN-{type}-{slug}.md` with YAML frontmatter -3. Prompts **MUST** use type-specific templates with structured sections (ZONES / LABELS / COLORS / STYLE / ASPECT) -4. LABELS **MUST** include article-specific data: actual numbers, terms, metrics, quotes -5. **DO NOT** pass ad-hoc inline prompts to `--prompt` without saving prompt files first -6. Select the backend via the `## 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. -7. **Execution strategy**: When multiple illustrations have saved prompt files and the task is now plain generation, prefer the chosen backend's batch interface (if it offers one) over spawning subagents. Use subagents only when each image still needs separate prompt iteration or creative exploration. If the backend has no batch interface, generate sequentially. -8. Process references (`direct`/`style`/`palette`) per prompt frontmatter -9. Apply watermark if EXTEND.md enabled -10. Generate from saved prompt files; retry once on failure +For each illustration: -Full procedures: [references/workflow.md](references/workflow.md#step-5-generate-images) +1. Create a prompt file per [references/prompt-construction.md](references/prompt-construction.md). +2. Save to `{output-dir}/prompts/NN-{type}-{slug}.md` using `write_file` with YAML frontmatter. +3. Prompts MUST use type-specific templates with structured sections (ZONES / LABELS / COLORS / STYLE / ASPECT). +4. LABELS MUST include article-specific data: actual numbers, terms, metrics, quotes. +5. Process references (`direct`/`style`/`palette`) per prompt frontmatter — for `direct` usage, embed a textual description of the reference in the prompt (since `image_generate` doesn't take reference-image inputs). -### Step 6: Finalize +### Step 6: Generate Images -Insert `![description]({relative-path}/NN-{type}-{slug}.png)` after paragraphs. Path computed relative to article file based on output directory setting. +Use the `image_generate` tool with the assembled prompt from each prompt file. + +- Map aspect ratio to `image_generate` format: `16:9` → `landscape`, `9:16` → `portrait`, `1:1` → `square`. For custom ratios, pick the closest named aspect. +- Generate sequentially through the outline. On failure, auto-retry once. +- Save each image to `{output-dir}/NN-{type}-{slug}.png`. + +### Step 7: Finalize + +Insert `![description]({relative-path}/NN-{type}-{slug}.png)` after the corresponding paragraph. Alt text: concise description in the article's language. + +Report: ``` Article Illustration Complete! @@ -164,31 +174,6 @@ Article: [path] | Type: [type] | Density: [level] | Style: [style] | Palette: [p Images: X/N generated ``` -## Output Directory - -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`. - ## Modification | Action | Steps | @@ -202,8 +187,15 @@ When input is **pasted content** (no file path), always uses `illustrations/{top | File | Content | |------|---------| | [references/workflow.md](references/workflow.md) | Detailed procedures | -| [references/usage.md](references/usage.md) | Command syntax | +| [references/usage.md](references/usage.md) | Invocation examples | | [references/styles.md](references/styles.md) | Style gallery + Palette gallery | | [references/style-presets.md](references/style-presets.md) | Preset shortcuts (type + style + palette) | | [references/prompt-construction.md](references/prompt-construction.md) | Prompt templates | -| [references/config/first-time-setup.md](references/config/first-time-setup.md) | First-time setup | + +## Pitfalls + +1. **Data integrity is paramount** — never summarize, paraphrase, or alter source statistics. "73% increase" stays "73% increase". +2. **Strip secrets** — scan source content for API keys, tokens, or credentials before including in any output file. +3. **Don't illustrate metaphors literally** — visualize the underlying concept. +4. **Prompt files are mandatory** — no image generation without a saved prompt file. The file is what lets you regenerate or switch backends later. +5. **`image_generate` aspect ratios** — the tool supports `landscape`, `portrait`, and `square`. Custom ratios map to the nearest option. diff --git a/skills/creative/baoyu-article-illustrator/references/config/first-time-setup.md b/skills/creative/baoyu-article-illustrator/references/config/first-time-setup.md deleted file mode 100644 index bc2d79c0054..00000000000 --- a/skills/creative/baoyu-article-illustrator/references/config/first-time-setup.md +++ /dev/null @@ -1,138 +0,0 @@ ---- -name: first-time-setup -description: First-time setup flow for baoyu-article-illustrator preferences ---- - -# First-Time Setup - -## Overview - -When no EXTEND.md is found, guide user through preference setup. - -**⛔ BLOCKING OPERATION**: This setup MUST complete before ANY other workflow steps. Do NOT: -- Ask about reference images -- Ask about content/article -- Ask about type or style preferences -- Proceed to content analysis - -ONLY ask the questions in this setup flow, save EXTEND.md, then continue. - -## Setup Flow - -``` -No EXTEND.md found - │ - ▼ -┌─────────────────────┐ -│ AskUserQuestion │ -│ (all questions) │ -└─────────────────────┘ - │ - ▼ -┌─────────────────────┐ -│ Create EXTEND.md │ -└─────────────────────┘ - │ - ▼ - Continue to Step 1 -``` - -## Questions - -**Language**: Use user's input language or preferred language for all questions. Do not always use English. - -Use single AskUserQuestion with multiple questions (AskUserQuestion auto-adds "Other" option): - -### Question 1: Watermark - -``` -header: "Watermark" -question: "Watermark text for generated illustrations? Type your watermark content (e.g., name, @handle)" -options: - - label: "No watermark (Recommended)" - description: "No watermark, can enable later in EXTEND.md" -``` - -Position defaults to bottom-right. - -### Question 2: Preferred Style - -``` -header: "Style" -question: "Default illustration style preference? Or type another style name or your custom style" -options: - - label: "None (Recommended)" - description: "Auto-select based on content analysis" - - label: "notion" - description: "Minimalist hand-drawn line art" - - label: "warm" - description: "Friendly, approachable, personal" -``` - -### Question 3: Output Directory - -``` -header: "Output Directory" -question: "Where to save generated illustrations when illustrating a file?" -options: - - label: "imgs-subdir (Recommended)" - description: "{article-dir}/imgs/ — images in a subdirectory next to the article" - - label: "same-dir" - description: "{article-dir}/ — images alongside the article file" - - label: "illustrations-subdir" - description: "{article-dir}/illustrations/ — separate illustrations subdirectory" - - label: "independent" - description: "illustrations/{topic-slug}/ — standalone directory in cwd" -``` - -### Question 4: Save Location - -``` -header: "Save" -question: "Where to save preferences?" -options: - - label: "Project" - description: ".baoyu-skills/ (this project only)" - - label: "User" - description: "~/.baoyu-skills/ (all projects)" -``` - -## Save Locations - -| Choice | Path | Scope | -|--------|------|-------| -| Project | `.baoyu-skills/baoyu-article-illustrator/EXTEND.md` | Current project | -| User | `~/.baoyu-skills/baoyu-article-illustrator/EXTEND.md` | All projects | - -## After Setup - -1. Create directory if needed -2. Write EXTEND.md with frontmatter -3. Confirm: "Preferences saved to [path]" -4. Continue to Step 1 - -## EXTEND.md Template - -```yaml ---- -version: 1 -watermark: - enabled: [true/false] - content: "[user input or empty]" - position: bottom-right - opacity: 0.7 -preferred_style: - name: [selected style or null] - description: "" -default_output_dir: imgs-subdir # same-dir | imgs-subdir | illustrations-subdir | independent -language: null -custom_styles: [] ---- -``` - -## Modifying Preferences Later - -Users can edit EXTEND.md directly or run setup again: -- Delete EXTEND.md to trigger setup -- Edit YAML frontmatter for quick changes -- Full schema: `config/preferences-schema.md` diff --git a/skills/creative/baoyu-article-illustrator/references/config/preferences-schema.md b/skills/creative/baoyu-article-illustrator/references/config/preferences-schema.md deleted file mode 100644 index 6b37faa0607..00000000000 --- a/skills/creative/baoyu-article-illustrator/references/config/preferences-schema.md +++ /dev/null @@ -1,127 +0,0 @@ ---- -name: preferences-schema -description: EXTEND.md YAML schema for baoyu-article-illustrator user preferences ---- - -# Preferences Schema - -## Full Schema - -```yaml ---- -version: 1 - -watermark: - enabled: false - content: "" - position: bottom-right # bottom-right|bottom-left|bottom-center|top-right - -preferred_style: - name: null # Built-in or custom style name - description: "" # Override/notes - -preferred_palette: null # Built-in palette name (macaron|warm|neon) or null - -language: null # zh|en|ja|ko|auto - -default_output_dir: null # same-dir|illustrations-subdir|independent - -custom_styles: - - name: my-style - description: "Style description" - color_palette: - primary: ["#1E3A5F", "#4A90D9"] - background: "#F5F7FA" - accents: ["#00B4D8", "#48CAE4"] - visual_elements: "Clean lines, geometric shapes" - typography: "Modern sans-serif" - best_for: "Business, education" ---- -``` - -## Field Reference - -| Field | Type | Default | Description | -|-------|------|---------|-------------| -| `version` | int | 1 | 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_style.name` | string | null | Style name or null | -| `preferred_style.description` | string | "" | Custom notes/override | -| `preferred_palette` | string | null | Palette override (macaron, warm, neon, or null) | -| `language` | string | null | Output language (null = auto-detect) | -| `default_output_dir` | enum | null | Output directory preference (null = ask each time) | -| `custom_styles` | array | [] | User-defined styles | - -## Position Options - -| Value | Description | -|-------|-------------| -| `bottom-right` | Lower right corner (default, most common) | -| `bottom-left` | Lower left corner | -| `bottom-center` | Bottom center | -| `top-right` | Upper right corner | - -## Output Directory Options - -| Value | Description | -|-------|-------------| -| `same-dir` | Same directory as article | -| `illustrations-subdir` | `{article-dir}/illustrations/` subdirectory | -| `independent` | `illustrations/{topic-slug}/` in working directory | - -## Custom Style Fields - -| Field | Required | Description | -|-------|----------|-------------| -| `name` | Yes | Unique style identifier (kebab-case) | -| `description` | Yes | What the style conveys | -| `color_palette.primary` | No | Main colors (array) | -| `color_palette.background` | No | Background color | -| `color_palette.accents` | No | Accent colors (array) | -| `visual_elements` | No | Decorative elements | -| `typography` | No | Font/lettering style | -| `best_for` | No | Recommended content types | - -## Example: Minimal Preferences - -```yaml ---- -version: 1 -watermark: - enabled: true - content: "@myusername" -preferred_style: - name: notion ---- -``` - -## Example: Full Preferences - -```yaml ---- -version: 1 -watermark: - enabled: true - content: "@myaccount" - position: bottom-right - -preferred_style: - name: notion - description: "Clean illustrations for tech articles" - -language: zh - -custom_styles: - - name: corporate - description: "Professional B2B style" - color_palette: - primary: ["#1E3A5F", "#4A90D9"] - background: "#F5F7FA" - accents: ["#00B4D8", "#48CAE4"] - visual_elements: "Clean lines, subtle gradients, geometric shapes" - typography: "Modern sans-serif, professional" - best_for: "Business, SaaS, enterprise" ---- -``` diff --git a/skills/creative/baoyu-article-illustrator/references/prompt-construction.md b/skills/creative/baoyu-article-illustrator/references/prompt-construction.md index ee855016484..611359eb168 100644 --- a/skills/creative/baoyu-article-illustrator/references/prompt-construction.md +++ b/skills/creative/baoyu-article-illustrator/references/prompt-construction.md @@ -30,7 +30,7 @@ references: # ⚠️ ONLY if files EXIST in references/ direc | Usage | Description | Generation Action | |-------|-------------|-------------------| -| `direct` | Primary visual reference | Pass to `--ref` parameter | +| `direct` | Primary visual reference | Describe the reference (composition, subject, style, palette) in prompt text — `image_generate` does not accept reference-image inputs | | `style` | Style characteristics only | Describe style in prompt text | | `palette` | Color palette extraction | Include colors in prompt | @@ -417,9 +417,9 @@ When no palette is specified, use the style's built-in Color Palette as before. - Missing concrete labels/annotations - Generic decorative elements -## Watermark Integration +## Watermark Integration (optional) -If watermark enabled in preferences, append: +If the user asks for a watermark, append: ``` Include a subtle watermark "[content]" positioned at [position]. diff --git a/skills/creative/baoyu-article-illustrator/references/style-presets.md b/skills/creative/baoyu-article-illustrator/references/style-presets.md index 56544005526..5e0777f5ae1 100644 --- a/skills/creative/baoyu-article-illustrator/references/style-presets.md +++ b/skills/creative/baoyu-article-illustrator/references/style-presets.md @@ -1,12 +1,12 @@ # Style Presets -`--preset X` expands to a type + style + optional palette combination. Users can override any dimension. +A preset expands to a type + style + optional palette combination. Users can override any dimension in their request. ## By Category ### Technical & Engineering -| --preset | Type | Style | Palette | Best For | +| Preset | Type | Style | Palette | Best For | |----------|------|-------|---------|----------| | `tech-explainer` | `infographic` | `blueprint` | — | API docs, system metrics, technical deep-dives | | `system-design` | `framework` | `blueprint` | — | Architecture diagrams, system design | @@ -15,7 +15,7 @@ ### Knowledge & Education -| --preset | Type | Style | Palette | Best For | +| Preset | Type | Style | Palette | Best For | |----------|------|-------|---------|----------| | `knowledge-base` | `infographic` | `vector-illustration` | — | Concept explainers, tutorials, how-to | | `saas-guide` | `infographic` | `notion` | — | Product guides, SaaS docs, tool walkthroughs | @@ -30,7 +30,7 @@ ### Data & Analysis -| --preset | Type | Style | Palette | Best For | +| Preset | Type | Style | Palette | Best For | |----------|------|-------|---------|----------| | `data-report` | `infographic` | `editorial` | — | Data journalism, metrics reports, dashboards | | `versus` | `comparison` | `vector-illustration` | — | Tech comparisons, framework shootouts | @@ -38,7 +38,7 @@ ### Narrative & Creative -| --preset | Type | Style | Palette | Best For | +| Preset | Type | Style | Palette | Best For | |----------|------|-------|---------|----------| | `storytelling` | `scene` | `warm` | — | Personal essays, reflections, growth stories | | `lifestyle` | `scene` | `watercolor` | — | Travel, wellness, lifestyle, creative | @@ -47,7 +47,7 @@ ### Editorial & Opinion -| --preset | Type | Style | Palette | Best For | +| Preset | Type | Style | Palette | Best For | |----------|------|-------|---------|----------| | `opinion-piece` | `scene` | `screen-print` | — | Op-eds, commentary, critical essays | | `editorial-poster` | `comparison` | `screen-print` | — | Debate, contrasting viewpoints | @@ -74,7 +74,7 @@ Use this table during Step 3 to recommend presets based on Step 2 content analys ## Override Examples -- `--preset tech-explainer --style notion` = infographic type with notion style -- `--preset storytelling --type timeline` = timeline type with warm style +- "use the tech-explainer preset but swap the style for notion" = infographic type with notion style +- "storytelling preset with timeline type" = timeline type with warm style -Explicit `--type`/`--style` flags always override preset values. +Explicit type/style/palette mentions in the user's request always override preset values. diff --git a/skills/creative/baoyu-article-illustrator/references/styles.md b/skills/creative/baoyu-article-illustrator/references/styles.md index 5d90d3b7289..75631e98c8c 100644 --- a/skills/creative/baoyu-article-illustrator/references/styles.md +++ b/skills/creative/baoyu-article-illustrator/references/styles.md @@ -201,7 +201,7 @@ Full specifications: `references/styles/