| name | meme-maker |
| description | Создаёт мемы-картинки под идею/тезис пользователя: подбирает подходящий популярный шаблон (Drake, Distracted Boyfriend, This is Fine, Galaxy Brain, Spongebob Imagination, Two Buttons, DiCaprio Cheers и ещё 20+), формулирует конкретные русские надписи, рисует через Nano Banana 2 (Google Gemini) по MCP-серверу `nanobanana`. Поддерживает опциональный авторский голос-профиль и нейтральный режим по умолчанию. Use when пользователь пишет: «сделай мем», «мем про X», «мем для канала», «мем на тему», «нарисуй мем», «придумай мем», «хочу мем», «мем-картинка», «meme-maker», «/meme-maker». Do NOT use for обычных картинок без мем-формата, рекламных креативов с ЦА и УТП, презентаций из слайдов, PDF-гайдов, обложек постов без мем-шаблона.
|
meme-maker — конструктор мемов-картинок
Скилл превращает сырую мысль («вышел новый ChatGPT и DeepSeek, а я на Claude и спокоен») в готовую картинку в узнаваемом мем-формате с русскими надписями. Работает только с мем-шаблонами — обычные иллюстрации, обложки и баннеры не его задача.
Шаг 0 — Активация (one-time setup)
Этот шаг выполняется один раз при первом запуске скилла. Если активация уже пройдена — пропускай и переходи к Шагу 1.
0.1. Проверка MCP-сервера
Скилл рисует через MCP-сервер nanobanana (пакет @ycse/nanobanana-mcp на npm). Проверь, доступны ли в текущей сессии инструменты:
mcp__nanobanana__gemini_generate_image
mcp__nanobanana__gemini_edit_image
mcp__nanobanana__clear_conversation
Если они есть — переходи к проверке 0.3. Если их нет — иди к 0.2 (установка).
0.2. Установка MCP-сервера
Скажи пользователю буквально:
Скиллу нужен MCP-сервер nanobanana для рисования через Gemini (Nano Banana 2). Сейчас он не подключён. Чтобы его поставить, нужно:
-
Получить API-ключ Google AI Studio (бесплатный с лимитами):
-
Добавить MCP в Claude Code. Запусти в терминале:
claude mcp add nanobanana --env GOOGLE_AI_API_KEY=ВСТАВЬ_СВОЙ_КЛЮЧ -- npx -y @ycse/nanobanana-mcp@latest
Замени ВСТАВЬ_СВОЙ_КЛЮЧ на ключ из шага 1.
-
Перезапусти Claude Code (закрой и открой сессию заново), чтобы MCP подгрузился.
-
Когда вернёшься, напиши «готово» — я проверю и продолжу.
После «готово» — повторно проверь наличие инструментов mcp__nanobanana__*. Если их по-прежнему нет, попроси пользователя выполнить claude mcp list и прислать вывод — там видно ошибки запуска сервера.
0.3. Проверка папки вывода
По умолчанию мемы сохраняются в ~/Downloads/memes/. Создай папку, если её нет:
mkdir -p ~/Downloads/memes
Если пользователь хочет другую папку — спроси один раз и запомни в рамках сессии.
0.4. (Опционально) Авторский голос-профиль
Скилл по умолчанию работает в нейтральном режиме — общечеловеческий юмор, без узких отсылок.
Если у пользователя есть свой авторский голос (для блога, телеграм-канала, личного бренда), он может один раз заполнить файл references/voice_profile.example.md (скопировав в references/voice_profile.md) и сказать «используй мой голосовой профиль». Тогда скилл будет читать его перед формулировкой подписей. Если файла нет — работаем нейтрально, не дёргаем пользователя.
0.5. Готово
После прохождения 0.1–0.3 скажи: «Готов рисовать мемы. Дай идею — я соберу 5–7 шаблонов с готовыми подписями, ты выберешь, что рисовать».
Базовое правило: сначала список, потом генерация
Никогда не рисуй сразу, даже если идея кажется очевидной. Сценарий всегда двухэтапный: (1) подбор 5–7 шаблонов с готовыми русскими надписями → (2) генерация только тех, что пользователь выбрал. Причина — каждая генерация стоит времени и API-квоты; мем-шаблоны взаимозаменяемы, и пользователь хочет сравнивать варианты текстов, а не картинки постфактум.
Исключение: если пользователь явно сказал «нарисуй сразу все» или «не спрашивай, рисуй» — рисуй все подобранные.
Поток работы
Шаг 1 — Парсинг идеи
Пользователь даёт мысль. Извлеки структуру:
- Противопоставление (что vs что): старое/новое, хайп/спокойствие, усилие/лень, ожидание/реальность, чужой/свой выбор
- Количество элементов: 2 (бинарное — подходит Drake, Distracted Boyfriend, Two Buttons), 3–4 (подходят Galaxy Brain, Expanding Brain, Trade Offer), 1 спокойный vs хаос (This is Fine, Spongebob Imagination, DiCaprio Cheers)
- Эмоциональный вектор: ирония, сарказм, самоирония, торжество, усталость
- Кто герой: пользователь лично (от первого лица), абстрактный персонаж, индустрия
Если мысль непонятна — задай одно уточняющее, но без лишних переспросов. Обычно хватает одной реплики.
Шаг 2 — Подбор шаблонов
Прочитай references/meme_catalog.md и выбери 5–7 шаблонов, которые ложатся на структуру идеи. Критерий матчинга в каталоге: поле «Подходит для». Не предлагай шаблоны, которые не подходят по форме (например, не предлагай Two Buttons под идею с тремя элементами).
Для каждого выбранного шаблона сразу сформулируй конкретные русские надписи — не «подпись 1 / подпись 2», а готовый текст в нужном тоне (см. Шаг 5 про голос).
Шаг 3 — Покажи список пользователю
Формат вывода:
1. **Drake (Hotline Bling)** — три панели: отвергает, отвергает, одобряет.
- «Новый ChatGPT»
- «Новый DeepSeek»
- «Claude»
2. **Distracted Boyfriend (инверсия)** — парень с девушкой Claude не оборачивается на двух в красном.
- Девушка: «Claude»
- Две в красном: «Новая ChatGPT», «Новая DeepSeek»
...
Короткое описание композиции + готовые подписи. Не рисуй. В конце спроси: «Какие берём? Номер(а), "все", "все кроме X", или хочешь докрутить подписи?»
Шаг 4 — Ожидание выбора
Пользователь указывает: 1, 1 и 3, все, все кроме 5, второй, но текст резче. Если пользователь хочет докрутить — сформулируй новые варианты текста, покажи, и только после подтверждения — рисуй.
Шаг 5 — Голос подписей
По умолчанию — нейтральный режим. Общечеловеческий юмор, короткие фразы (2–12 слов на плашку), без узкой терминологии и привязки к конкретным брендам/продуктам. Спокойная ирония, самоирония с достоинством. Без мата, без политики, без прямых наездов на живых людей.
Авторский голос-профиль — если пользователь подключил references/voice_profile.md (см. Шаг 0.4) и просит «в моём голосе», читай этот файл и формулируй подписи в указанном тоне.
Режим определяется на Шаге 2 (до формулировки подписей), не после.
Шаг 6 — Конфигурация генерации
Модель: Nano Banana 2 через MCP (mcp__nanobanana__gemini_generate_image). Это единственный движок, который скилл использует из коробки — он хорошо тянет узнаваемые мем-шаблоны (Drake, DiCaprio, Spongebob) и кириллический текст.
conversation_id: каждый мем — в своей conversation_id, чтобы контексты не смешивались. Формат: meme-<slug>, например meme-drake, meme-boyfriend.
aspect_ratio: 1:1 по умолчанию (универсальный квадрат для соцсетей). Если пользователь просит сторис — 9:16, баннер — 16:9.
output_path: ~/Downloads/memes/meme_<slug>.png (или путь, который пользователь задал в 0.3). Slug — короткий и осмысленный.
Шаг 7 — Генерация
Читай references/prompting_rules.md — там промпт-скелеты под каждый шаблон и общие правила. Ключевое:
- Промпт всегда на английском, русский текст в двойных кавычках +
in Russian Cyrillic letters, bold sans-serif.
- Spatial-композиция литерально:
TOP PANEL, BOTTOM PANEL, LEFT SIDE, HOLDING mug WITH "Claude" ON IT.
- Все выбранные мемы рисуются параллельно — одним сообщением, несколько tool calls сразу.
Шаг 8 — Показ результата
Выведи пути к файлам и покажи картинки inline через Read-tool (в IDE с поддержкой превью рендерятся). По каждому мему — короткий комментарий: что получилось, что поплыло в тексте, нужна ли перегенерация.
Шаг 9 — Итерация
Пользователь может сказать: «первый вариант — но подпись последней панели другая», «в boyfriend поменяй платье на синее», «сгенери ещё раз — текст у второго смазался».
- Перегенерация в той же сессии: повторный
gemini_generate_image с тем же conversation_id и доработанным промптом (Nano Banana держит контекст внутри conversation, картинка останется узнаваемой).
- Полный рестарт:
mcp__nanobanana__clear_conversation с этим conversation_id, потом заново.
- Правка только текста: используй
gemini_edit_image с тем же conversation_id и инструкцией «keep composition, replace text X with Y».
Типичные ошибки
- Рисовать сразу, без списка. Пользователь хочет видеть 5–7 текстовых вариантов до того, как потрачены вызовы API.
- «Подпись 1», «Подпись 2». В списке всегда готовый русский текст, не плейсхолдеры.
- Забыл
in Russian Cyrillic letters. Результат — латиница или транслит на картинке.
- Один
conversation_id на все мемы. Контексты смешиваются, Spongebob начинает держать кружку Drake. Каждому мему — свой id.
- Предложил Drake под тему, где нет «отверг vs одобрил». Шаблон должен матчиться структурой, иначе мем разваливается.
- Пустил мем с политикой, обсценкой или прямым наездом на живых людей. Это запрещено и в нейтральном, и в авторском режиме.
- Пропустил Шаг 0 при первом запуске. Без MCP
nanobanana скилл не нарисует ничего — обязательно проверь активацию.
Справочные материалы
| Файл | Назначение |
|---|
references/meme_catalog.md | Каталог 18+ мемных шаблонов: формат, роли, под какие идеи, риски модерации. Расширяемый. |
references/prompting_rules.md | Правила промптов: английский, Russian Cyrillic, spatial-layout, промпт-скелеты под каждый шаблон. |
references/voice_profile.example.md | Шаблон для авторского голоса-профиля. Скопируй в voice_profile.md и заполни под свой бренд/канал/тон. Опционально. |