slack-gif-creator
Навык slack-gif-creator предназначен для создания анимированных GIF, оптимизированных под Slack. Он объединяет ограничения формата, практические приёмы рисования и небольшие Python-утилиты для сборки, оптимизации и проверки результата. Для emoji GIF источник рекомендует размер 128×128 пикселей, для message GIF — 480×480. Рабочий диапазон частоты кадров составляет 10–30 FPS, а уменьшение FPS помогает контролировать размер файла. Для палитры указан диапазон 48–128 цветов: меньшее число цветов обычно уменьшает размер, но его нужно сопоставлять с нужным качеством изображения. Продолжительность emoji GIF следует удерживать менее трёх секунд. Основной пример использует Python, Pillow, Image и ImageDraw. GIFBuilder создаётся с width, height и fps, затем в него последовательно добавляются кадры PIL Image. Для каждого кадра можно рисовать примитивами ImageDraw: ellipse, polygon, line и rectangle с явно заданным цветом, контуром и толщиной. После добавления кадров builder.save сохраняет итоговый GIF; параметры num_colors и optimize_for_emoji помогают подстроить экспорт под Slack, а remove_duplicates позволяет убрать повторяющиеся кадры. Для более сложной графики источник предлагает использовать градиентный фон, несколько слоёв фигур, контраст, подсветку и аккуратные детали, но итог всё равно должен оставаться проверяемым и пригодным к передаче в Slack. Навык поддерживает два сценария работы с пользовательскими изображениями: использовать загруженный файл напрямую, например для анимации или разбиения на кадры, либо использовать его как визуальный reference для цветов и стиля. Изображение открывается через PIL.Image.open, после чего его можно включить в кадры или обработать как исходный материал. Для графики с нуля рекомендуется ImageDraw. Emoji fonts использовать нельзя, потому что их отображение ненадёжно между платформами; также нельзя молча предполагать наличие готовых packaged graphics. Сложные формы строятся из комбинаций примитивов, а не из необъяснимого внешнего ассета. В составе источника перечислены GIFBuilder, validators и easing. validate_gif даёт подробную проверку с параметром is_emoji, is_slack_ready выполняет быстрый readiness-check, а easing.interpolate помогает заменить резкое линейное движение на linear, ease_in, ease_out, ease_in_out, bounce_out, elastic_out или back_out. Перед передачей GIF нужно проверить размер, длительность, FPS, палитру и читаемость движения в целевом Slack-сценарии. Навык не обещает, что любая картинка автоматически станет хорошей анимацией: форму, контраст, скорость и количество деталей нужно выбирать по назначению emoji или message GIF.
Для чего подходит
- Создание emoji GIF для Slack
- Оптимизация размера и палитры анимации
- Подготовка GIF из пользовательских изображений
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/anthropics/skills/tree/main/skills/slack-gif-creator