Baoyu Article Illustrator
Иллюстрации для статей: согласованность типа × стиля × палитры.
Метаданные навыка
| Источник | Опционально — установка с помощью vibeos skills install official/creative/baoyu-article-illustrator |
| Путь | optional-skills/creative/baoyu-article-illustrator |
| Версия | 1.57.0 |
| Автор | 宝玉 (JimLiu) |
| Лицензия | MIT |
| Платформы | linux, macos, windows |
| Теги | article-illustration, creative, image-generation |
Справочник: полный SKILL.md
Ниже приведено полное описание навыка, которое VibeOS загружает при его активации. Агент видит эти инструкции, когда навык активен.
Article Illustrator
Адаптировано из baoyu-article-illustrator для экосистемы инструментов VibeOS.
Анализирует статьи, определяет места для иллюстраций, генерирует изображения с согласованностью Тип × Стиль × Палитра.
Когда использовать
Активируйте этот навык, когда пользователь просит проиллюстрировать статью, добавить изображения в статью, сгенерировать иллюстрации для контента или использует фразы вроде «подобрать иллюстрации к статье», «illustrate article» или «add images». Пользователь предоставляет статью (путь к файлу или вставленный текст) и, опционально, указывает тип, стиль, палитру или плотность.
Три измерения
| Измерение | Управляет | Примеры |
|---|---|---|
| Тип | Информационная структура | infographic, scene, flowchart, comparison, framework, timeline |
| Стиль | Способ отрисовки | notion, warm, minimal, blueprint, watercolor, elegant |
| Палитра | Цветовая схема (опционально) | macaron, warm, neon — переопределяет цвета стиля по умолчанию |
Комбинируйте свободно: type=infographic, style=vector-illustration, palette=macaron.
Или используйте пресеты: edu-visual → тип + стиль + палитра одним выстрелом. См. style-presets.md.
Типы
| Тип | Для чего лучше всего подходит |
|---|---|
infographic | Данные, метрики, технические детали |
scene | Нарративы, эмоции |
flowchart | Процессы, рабочие потоки |
comparison | Сравнение, варианты |
framework | Модели, архитектура |
timeline | История, эволюция |
Стили
См. references/styles.md для ознакомления с основными стилями, полной галереей и совместимостью Тип × Стиль.
Структура вывода
{output-dir}/
├── source-{slug}.{ext} # Только для вставленного контента
├── outline.md
├── prompts/
│ └── NN-{type}-{slug}.md
└── NN-{type}-{slug}.png
Директория вывода по умолчанию:
| Ввод | Директория вывода | Путь для вставки в Markdown |
|---|---|---|
| Путь к файлу статьи | {article-dir}/imgs/ | imgs/NN-{type}-{slug}.png |
| Вставленный контент | illustrations/{topic-slug}/ (текущая рабочая директория) | illustrations/{topic-slug}/NN-{type}-{slug}.png |
Если пользователь запрашивает другую структуру (например, изображения рядом со статьей или поддиректорию illustrations/), следуйте его указаниям.
Slug: 2-4 слова, kebab-case. Конфликт: добавьте суффикс -YYYYMMDD-HHMMSS.
Основные принципы
- Визуализируйте концепции, а не метафоры — если в статье используется метафора (например, «резать арбуз бензопилой»), иллюстрируйте основную концепцию, а не буквальное изображение.
- Метки используют данные статьи — фактические числа, термины и цитаты из статьи, а не общие заполнители.
- Файлы промптов — это записи воспроизводимости — каждая иллюстрация должна иметь сохраненный файл промпта в директории
prompts/до того, как будет сгенерировано любое изображение. - Удаляйте секреты — проверяйте исходный контент на наличие ключей API, токенов или учетных данных перед записью чего-либо на диск.
Рабочий процесс
- [ ] Шаг 1: Обнаружение референсных изображений (если предоставлены)
- [ ] Шаг 2: Анализ контента
- [ ] Шаг 3: Подтверждение настроек (уточнение инструмента, по одному вопросу за раз)
- [ ] Шаг 4: Генерация плана (outline)
- [ ] Шаг 5: Генерация промптов
- [ ] Шаг 6: Генерация изображений (image_generate)
- [ ] Шаг 7: Финализация
Шаг 1: Обнаружение референсных изображений
Если пользователь предоставляет референсные изображения (пути, вставленные в текст, вложения или URL):
- Для каждого референса вызовите
vision_analyzeс путем/URL и вопросом о стиле, палитре, композиции и объекте. Запишите полученное описание в{output-dir}/references/NN-ref-{slug}.mdс помощьюwrite_file. - Не пытайтесь скопировать бинарный файл через
write_file/read_file— они работают только с текстом. Если вы хотите сохранить локальную копию для записи, используйтеterminal(cp "$src" "{output-dir}/references/NN-ref-{slug}.{ext}"). Самому навыку никогда не нужно читать бинарный файл; он работает на основе описания от vision. - Поскольку
image_generateне принимает изображения на вход, описание от vision встраивается в промпты на Шаге 5.
Полные процедуры: references/workflow.md.
Шаг 2: Анализ
| Анализ | Результат |
|---|---|
| Тип контента | Технический / Учебник / Методология / Повествование |
| Цель | информация / визуализация / воображение |
| Ключевые аргументы | 2-5 основных пунктов |
| Позиции | Где иллюстрации добавят ценности |
Прочитайте источник (путь к файлу → read_file, или вставленный текст) и запишите анализ в {output-dir}/analysis.md с помощью write_file.
Полные процедуры: references/workflow.md.
Шаг 3: Подтверждение настроек
Используйте инструмент clarify. Поскольку clarify обрабатывает по одному вопросу за раз, задайте самый важный вопрос первым. Пропустите любой вопрос, ответ на который уже присутствует в запросе пользователя.
| Порядок | Вопрос | Варианты |
|---|---|---|
| В1 | Пресет или Тип | [Рекомендуемый пресет], [альтернативный пресет], или вручную: infographic, scene, flowchart, comparison, framework, timeline, mixed |
| В2 | Плотность | minimal (1-2), balanced (3-5), per-section (Рекомендуется), rich (6+) |
| В3 | Стиль (пропустить, если выбран пресет в В1) | [Рекомендуемый], minimal-flat, sci-fi, hand-drawn, editorial, scene, poster |
| В4 | Палитра (опционально) | По умолчанию (цвета стиля), macaron, warm, neon |
| В5 | Язык (только если язык статьи неоднозначен) | язык статьи / язык пользователя |
Не задавайте более 2-3 вопросов clarify подряд. Если пользователь уже указал это в своем запросе, пропустите полностью.
Полные процедуры: references/workflow.md.
Шаг 4: Генерация плана → outline.md
Сохраните {output-dir}/outline.md с помощью write_file, включив frontmatter (тип, плотность, стиль, палитра, количество_изображений) и по одной записи на каждую иллюстрацию:
## Иллюстрация 1
**Позиция**: [раздел/абзац]
**Цель**: [почему]
**Визуальное содержание**: [что показать]
**Имя файла**: 01-infographic-concept-name.png
Полный шаблон: references/workflow.md.
Шаг 5: Генерация промптов
БЛОКИРУЮЩЕЕ: Каждая иллюстрация должна иметь сохраненный файл промпта до того, как будет сгенерировано любое изображение — файл промпта является записью воспроизводимости.
Для каждой иллюстрации:
- Создайте файл промпта в соответствии с
references/prompt-construction.md. - Сохраните в
{output-dir}/prompts/NN-{type}-{slug}.mdс помощьюwrite_file, включив YAML frontmatter. - Промпты ДОЛЖНЫ использовать шаблоны, специфичные для типа, со структурированными секциями (ZONES / LABELS / COLORS / STYLE / ASPECT).
- LABELS ДОЛЖНЫ включать данные, специфичные для статьи: фактические числа, термины, метрики, цитаты.
- Обработайте референсы (
direct/style/palette) в соответствии с frontmatter промпта — для использованияdirectвстройте текстовое описание референса в промпт (посколькуimage_generateне принимает референсные изображения на вход).
Шаг 6: Генерация изображений
Для каждого файла промпта:
- Вызовите
image_generate(prompt=..., aspect_ratio=...).image_generateвозвращает JSON-результат, содержащий URL изображения; он НЕ записывает на диск и НЕ принимает путь вывода. - Сопоставьте
ASPECTиз промпта с перечислениемimage_generate:16:9→landscape,9:16→portrait,1:1→square. Пользовательские соотношения → ближайшее именованное соотношение. - Загрузите полученный URL в
{output-dir}/NN-{type}-{slug}.pngчерезterminal(например,curl -sSL -o "{output-dir}/NN-{type}-{slug}.png" "{url}"). - В случае сбоя генерации, автоматически повторите попытку один раз.
Примечание: используемый бэкенд генерации изображений настраивается пользователем (по умолчанию: FAL FLUX 2 Klein 9B) и НЕ выбирается агентом через image_generate. Не пишите названия моделей в промпты, ожидая, что они повлияют на маршрутизацию.
Шаг 7: Финализация
Вставьте !description`` после соответствующего абзаца. Альтернативный текст: краткое описание на языке статьи.
Отчет:
Иллюстрирование статьи завершено!
Статья: [путь] | Тип: [тип] | Плотность: [уровень] | Стиль: [стиль] | Палитра: [палитра или по умолчанию]
Изображения: X/N сгенерировано
Модификация
| Действие | Шаги |
|---|---|
| Редактировать | Обновить промпт → Перегенерировать → Обновить ссылку |
| Добавить | Позиция → Промпт → Генерация → Обновить план → Вставить |
| Удалить | Удалить файлы → Удалить ссылку → Обновить план |
Справочники
| Файл | Содержание |
|---|---|
references/workflow.md | Детальные процедуры |
references/usage.md | Примеры вызова |
references/styles.md | Галерея стилей + Галерея палитр |
references/style-presets.md | Пресеты-шорткаты (тип + стиль + палитра) |
references/prompt-construction.md | Шаблоны промптов |
Подводные камни
- Целостность данных превыше всего — никогда не обобщайте, не перефразируйте и не изменяйте исходную статистику. «Увеличение на 73%» остается «Увеличением на 73%».
- Удаляйте секреты — проверяйте исходный контент на наличие ключей API, токенов или учетных данных перед включением в любой выходной файл.
- Не иллюстрируйте метафоры буквально — визуализируйте основную концепцию.
- Файлы промптов обязательны — никакой генерации изображений без сохраненного файла промпта. Файл позволяет перегенерировать или сменить бэкенд позже.
- Соотношения сторон в
image_generate— инструмент поддерживаетlandscape,portraitиsquare. Пользовательские соотношения сопоставляются с ближайшим вариантом. image_generateвозвращает URL, а не локальный файл — всегда загружайте черезterminal(curl) перед вставкой локальных путей к изображениям в статью.- Агент не выбирает бэкенд —
image_generateиспользует ту модель, которую настроил пользователь (по умолчанию: FAL FLUX 2 Klein 9B). Не пишите «используй <модель> для генерации этого» в промптах, ожидая, что это повлияет на маршрутизацию.