canva-creator — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited canva-creator (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<!-- Производное от Anthropic knowledge-work-plugins / small-business (Apache-2.0, (c) Anthropic). Локализовано под РФ, файл изменён. См. /NOTICE и /LICENSE. -->
Согласованный бриф — это ещё не кампания: посты сами себя не нарисуют и в очередь не встанут. Скилл доводит бриф до готовых креативов под VK, Telegram, Дзен и Одноклассники, пишет подписи и тексты писем и ставит публикации в очередь — пошагово, с твоим согласием на каждом гейте, без сюрпризов с лимитами и пустыми заглушками.
Сервис дизайна: Canva заблокирована в РФ. Основной путь —~~дизайн: VistaCreate (быв. Crello), Supa, Поликрафт, Сберографика. Имена Canva-конкретные команды в этом файле — обобщённые шаблоны API~~дизайна. Если у владельца есть доступ к Canva (VPN/зарубежный аккаунт) — те же шаги применимы к Canva Connect API напрямую.
Скилл ведёт кампанию через пять последовательных стадий, каждая — за гейтом согласования владельца:
бриф → календарь → инвентаризация ассетов → макеты (~~дизайн) → тексты → постановка в очередь (~~crm)| Путь | Каналы | Что производит скилл |
|---|---|---|
| Макет (соцсети) | Telegram, VK, Яндекс Дзен, Одноклассники, RuTube | Макет ~~дизайна + подпись + запланированная публикация в ~~crm |
| Только текст | Email-рассылка (новостная, маркетинговая, цепочка) | Тема + прехедер + тело письма, выдаётся владельцу инлайн для отправки |
Если клиент явно работает на зарубежную аудиторию, к списку каналов можно добавить Instagram/Facebook/X — но по умолчанию в РФ это не основные площадки (Meta признана экстремистской и запрещена в РФ). ⚠️
`~~дизайн` не используется для писем ни при каких обстоятельствах — никаких шаблонов, автозаполнения, копий дизайнов, загрузки ассетов, экспортов. Владелец явно вывел письма из дизайн-пути, потому что автозаполнение email-шаблонов даёт заглушки-картинки, когда слотов под изображения больше, чем фото, а превью вариантов не рендерятся в чате. Если владелец просит email-макет — см. reference/gotchas.md, текст для перенаправления.
Перед Стадией 1 подтвердите:
«Мне нужен контент-бриф, прежде чем собирать кампанию. У вас есть бриф из скилла content-strategy, или составим сейчас?»
шаблона из библиотеки владельца (без API-автозаполнения). Платный/командный тариф (где есть API) может автозаполнять из брендовых шаблонов.
~~crmс модулем планирования публикаций (например, CRM-маркетинг в Битрикс24). Если модуля нет → пропустите Стадию 5 и выгрузите CSV (см. reference/hubspot-staging.md).
бренд-кит загружен в ~~дизайн.
Стадии 1. По умолчанию — 3 кандидата на каждую строку под макет; каждый макет стоит ~5 вызовов API (автозаполнение + экспорт + опрос статуса).
Бюджет генерации для этой кампании:
Строк под макет (соцсети): 8
Кандидатов на строку: 3 (по умолчанию — скажите «один кандидат» для 1)
Всего макетов: 24
Вызовов API (примерно): ~120 (автозаполнение + экспорт + опрос)
Лимит ~~дизайна: см. тариф. Генерация займёт ~2–3 минуты, в пределах
лимитов вашего тарифа. Продолжаем?Если расчётное число макетов превышает 30, сразу рекомендуйте режим одного кандидата — большие кампании быстро упираются в лимит. Владелец может переопределить значение на 1, 2 или 3 кандидата на строку до старта Стадии 1. Зафиксируйте выбранное значение на всю сессию.
Возьмите из брифа: контент-темы, каналы, частоту, жёсткие даты (запуски, акции, праздники).
Постройте таблицу-календарь со столбцом Путь, который направляет каждую строку либо в ~~дизайн, либо в текстовый набор:
| Дата | Канал | Путь | Тема | Тип ассета | Угол подписи/темы |
|---|---|---|---|---|---|
| 02.06 | Telegram | Макет (соцсети) | Запуск льняной линии | Квадратный пост | «наконец-то платье…» |
| 05.06 | Только текст | Запуск льняной линии | Тело письма | «Лён, который дышит» |
Помечайте каждую строку email-канала как Только текст до показа. Ограничьте 30 днями, если бриф не указывает иное. Заранее отметьте конфликты расписания (два поста в один день про один товар).
Контрольная точка 1. Покажите календарь. Спросите: «Совпадает с планом? Какие даты сдвинуть, каналы добавить, темы поменять?» Дорабатывайте до согласования, затем вслух повторите разбивку — «N строк идёт через ~~дизайн, M строк через текстовый набор» — прежде чем двигаться дальше. Поймать неверную категоризацию здесь — бесплатно; после генерации макетов — уже нет.
Email-строки пропускают эту стадию целиком. Для каждой строки Макет (соцсети) соберите манифест: что нужно шаблону и что уже есть.
обычно имеют 1–2 слота; карусели и товарные сетки — 5+. Перечисляйте поимённо (Header_Image, Product1_Image, Product2_Image, …), никогда не сворачивайте в «фото товаров».
тексты акций, слоганы, цены в ₽), фото товаров, уже загруженные в ~~дизайн, или на диске владельца, цвета и шрифты бренд-кита.
| Дата | Имя слота | Тип слота | Доступный ассет | Статус |
|---|---|---|---|---|
| 02.06 | Hero_Image | изображение | bloom_summer.jpg → asset_id ожидается | загрузить |
| 02.06 | Headline | текст | «Лён, наконец-то» | готово |
| 09.06 | Product1_Image | изображение | — | ОТСУТСТВУЕТ |
изображения больше, чем фото в брифе, остановитесь и спросите:
В шаблоне «Летняя карусель» 5 слотов под изображения. Бриф дал мне 1 фото
(bloom_summer.jpg). Чем заполнить остальные 4?
1. Повторить то же фото во всех 5 слотах
2. Вы пришлёте ещё 4 фото (пути к файлам)
3. Выбрать шаблон попроще с меньшим числом слотовНикаких вызовов генерации, пока владелец не выберет. Генерация с пустыми слотами даёт макеты с дефолтными заглушками-пейзажами ~~дизайна.
Загрузите файл, дождитесь статуса success задачи загрузки. Запишите asset.id из ответа — только это значение работает в поле изображения при автозаполнении. Пустая строка, URL, путь к файлу или устаревший ID молча отрендерят дефолтную картинку-пейзаж вместо фото.
каждый слот разрешён, каждый asset.id изображения подтверждён. Это последняя остановка перед вызовами API ~~дизайна.
Перед любым вызовом API ~~дизайна перечитайте календарь и отбросьте каждую строку, чей Путь не Макет (соцсети). Email-строки эту стадию не проходят.
Генерируйте макеты по одной строке календаря за раз, по 3 кандидата на строку (или по значению, выбранному на предполёте). Каждая строка идёт по одному циклу: сгенерировать кандидатов → проверить → экспортировать → визуально проверить → перегенерировать сбойные → показать → дождаться выбора владельца → следующая строка. Пауза 30 секунд между строками. Это держит всплеск на уровне 3 генераций + 3 экспортов за ~30 с — с запасом под лимит частоты запросов ~~дизайна. Не распараллеливайте несколько строк; одна строка за раз — это защита, которая не даёт владельцу упереться в квоту посреди кампании.
Частота опроса. Опрашивайте статус задачи каждые 3–5 секунд, не чаще. Более частый опрос жжёт квоту, не ускоряя завершение.
URL превью — встраивать безопасно только один тип. Ответы автозаполнения возвращают временные превью, которые истекают за минуты; встраивание их как markdown-картинок даёт битые заглушки «Показать изображение». Постоянные URL экспорта не истекают. Нативные карусели Cowork рендерят результат автозаполнения напрямую через аутентифицированную сессию коннектора — дайте им отрендериться самим, не встраивайте повторно.
#### Цикл по строке
если календарь не смешивает типы ассетов.)
~~дизайне; соберите обратно ID дизайнов.вернула status == "success" и присутствует ID готового дизайна. Ошибки — по каждому дизайну:
JOB_FAILED → прочтите сообщение об ошибке, поправьте значения полей или ID ассетов, повторите один раз.RATE_LIMIT_EXCEEDED (первый раз за сессию) → подождите 60 с, повторите этого одного кандидата один раз. Это покрывает временные всплески.RATE_LIMIT_EXCEEDED (второй раз за сессию) или любая ошибка quota_exceeded / дневного лимита → остановите генерацию немедленно.Не повторяйте. Покажите прогресс и спросите:
~~дизайн ограничивает кампанию по частоте запросов. Статус:
✓ Сгенерировано: посты 1–4 (12 макетов)
⏸ Осталось: посты 5–8 (12 макетов не сгенерированы)
Как продолжить?
1. Перейти на 1 кандидата на оставшуюся строку (4 макета) — закончим сейчас
2. Пауза — продолжим через 60 минут, когда квота восстановится
3. Остановить генерацию — работаем с тем, что есть, переходим к текстамДождитесь выбора владельца. Не зацикливайтесь на повторах.
png, опрос задачи до успеха, захват постоянного URL.~~crm позже. Превью из ответа автозаполнения ниже по конвейеру не используется.Если кандидат не прошёл проверку: перепроверьте манифест по сбойному слоту, поправьте asset.id, перегенерируйте только этого кандидата, переэкспортируйте, перепроверьте.
Третий кандидат для поста 09.06 продолжает сбоить — ~~дизайн вернул
[ошибка / отрендерил заглушку]. Как продолжить?
1. Пропустить — показать остальные 2 и идти дальше
2. Сменить на шаблон попроще для этого кандидата
3. Попробовать ещё раз с другим фото Кандидаты на 09.06 готовы — пролистайте карусель выше.
Какой использовать для поста 09.06?Если карусель не рендерится или одна позиция битая, встройте постоянные PNG-URL экспорта из Шага 4. Финальный запасной вариант: ссылка на URL редактирования дизайна. Никогда не встраивайте повторно временные URL превью.
Контрольная точка 2. Готово, когда владелец выбрал один макет на каждую строку календаря. Если просит перегенерацию — перегенерируйте только этого кандидата.
Для каждой строки календаря напишите текст. Соцсети получают подпись; email-строки — полное письмо.
Подписи для соцсетей — Telegram, VK, Дзен, Одноклассники:
Письма — Claude пишет всё письмо целиком; без ~~дизайна:
Покажите подписи инлайн под каждой строкой соцсетей. Покажите письма целиком инлайн под каждой email-строкой:
Тема: <тема письма>
Прехедер: <текст прехедера>
<тело письма>Разобранные примеры — reference/examples/boutique-brief-campaign.md.
Контрольная точка 3. «Какие подписи или письма переписать? Укажите дату и что поменять.» Дорабатывайте до согласования.
Маркировка рекламы: подписи и креативы для платного размещения (Яндекс Директ, VK Реклама, Telegram Ads, посевы в чужих каналах за деньги) требуют маркировки — токен ОРД и передача данных в ЕРИР (обязательно в РФ с 2022 г.). Органические посты в собственных каналах владельца маркировки не требуют. Уточните статус размещения у владельца. ⚠️
~~crm + передача писемПоставьте посты для соцсетей в очередь через ~~crm (Битрикс24, amoCRM). Письма не ставятся в очередь — они выдаются владельцу инлайн для копирования в его сервис рассылки. Справку по полям API см. в reference/hubspot-staging.md.
~~crm с названием и датами начала/окончания из календаря.Макет (соцсети):~~crmЗАПЛАНИРОВАНО (никогда не ОПУБЛИКОВАНО)~~crm.~~почта, Unisender, Sendsay, DashaMail).Финальная контрольная точка.
Ваши посты для соцсетей поставлены в очередь в ~~crm: [ссылка]
Они выйдут по расписанию — любой пост можно отменить или отредактировать в ~~crm.
Письма готовы ниже — скопируйте каждое в свой сервис рассылки, когда будете
готовы отправить:
05.06 — «Места на весну заканчиваются»
15.07 — «Окна летнего обслуживания заполняются»
Что поправить, прежде чем закончим?Путь перед каждым вызовом API.~~crm ставится как ЗАПЛАНИРОВАНО; владелец контролирует выход вживую.~~дизайна (VistaCreate/Supa): эндпоинты, загрузка ассетов, форматы экспорта~~crm и CSV-запасной вариант для тарифов без планировщика~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.