Перейти к содержимому

Контент-календарь

Инструмент планирования для контент-команды: авторов, редакторов и руководителей каналов. Он отвечает на вопросы «что и когда выходит», «на каком этапе каждый материал» и «кто за него отвечает». Результаты уже опубликованных материалов здесь не анализируют — календарь заканчивается на публикации.

Без такого сервиса статусы живут в нескольких местах: авторы отмечают прогресс в заметках, менеджеры — в таблице, а ни то ни другое не совпадает с тем, что реально опубликовано. Планёрка начинается с выяснения, где какой материал, черновики неделями висят без внимания, а даты публикации срываются, потому что никто вовремя не увидел материал, застрявший на вычитке.

Чаще всего такой календарь нужен командам, которые ведут блог, рассылки и соцсети одновременно и работают с внештатными авторами. Для них важны не только даты, но и понятные этапы: кто пишет, кто вычитывает, кто ставит материал в график.

  • Показывает план на календаре. Каждый материал виден с датой публикации, каналом, автором и статусом; есть вид на месяц и скользящий вид на четыре недели вперёд.
  • Ведёт материал по этапам. Статусы — идея, черновик, вычитка, согласован, запланирован, опубликован — задаёт команда, переходы между ними фиксируются.
  • Не даёт запланировать непроверенное. Материал нельзя поставить в график публикации, пока редактор не отметил вычитку.
  • Находит зависшие материалы. Черновики, которые больше недели не меняли статус или остались без автора, попадают в отдельный список, а ответственный получает напоминание.
  • Даёт каждому свой срез. Руководитель канала видит только свой поток, автор — свои задачи, редактор — всё, что ждёт вычитки.
  • Один источник правды о статусе. Если часть команды продолжает вести статусы в таблице или заметках, календарь быстро устаревает. Либо переносите работу целиком, либо синхронизируйте статусы из старого инструмента в фоне.
  • Публикацию подтверждает CMS. Если CMS отдаёт статус через API или доступна для чтения из базы, календарь сверяет «запланировано» с «опубликовано» и показывает расхождения. Для сайта на WordPress это решается чтением REST API без переноса контента.
  • Статусы и типы — справочники. Набор статусов и типов контента (статья, рассылка, пост в соцсетях) хранят в настройках, чтобы добавить новый можно было без доработки.
  • Планирование важнее учёта. Главная ценность — заметить пустые недели заранее. Представление на четыре недели вперёд нужно с первой версии.
  • Доступ ограничивают на сервере. Внештатный автор видит только свои материалы, даже если откроет прямую ссылку на чужую карточку.
  • Когда хватит готового продукта. Для небольшой команды с одним каналом календаря в трекере задач или редакционного плагина CMS достаточно. Отдельное приложение оправдано при нескольких каналах, согласованиях и внешних авторах.

Промпты рассчитаны на AI-агента (Claude Code, Cursor и аналоги) в Laravel-проекте с установленным Filament 4.x. Отправляйте их по одному: каждый шаг даёт результат, который можно проверить до перехода к следующему.

Создай модели и миграции для контент-календаря: ContentItem (название,
тип, канал, автор, редактор, статус, плановая дата публикации, фактическая
дата публикации, ссылка, отметка о вычитке, дата последней смены статуса),
ContentStatus и ContentType как справочники, StatusChange (материал,
из какого статуса, в какой, кто, когда). Добавь фабрики с демо-данными.
Сгенерируй Filament-ресурс для ContentItem с таблицей и карточкой.
Смену статуса сделай действием, которое пишет StatusChange. Переход
в «Запланирован» запрещён без отметки о вычитке и без плановой даты.
В карточке покажи историю статусов.

Проверьте, что обойти запрет нельзя через массовое действие.

Добавь страницу календаря с видом на месяц и скользящим видом на четыре
недели вперёд, фильтрами по каналу, типу и автору. Добавь в таблицу
вкладки «Мои материалы», «Ждут вычитки» и «Зависли»: статус не менялся
дольше порога из конфига или нет автора.
Сделай ежедневную фоновую задачу: для зависших материалов отправляй
уведомление автору и редактору. Вторая задача читает опубликованные
записи из REST API CMS, проставляет фактическую дату публикации
и помечает материалы, которые запланированы, но не вышли.

Проверьте, что материал, который есть в CMS, но отсутствует в календаре, тоже попадает в отчёт о расхождениях.

Настрой роли: автор видит и меняет только свои материалы, руководитель
канала — материалы своего канала, редактор — всё. Ограничение действует
в таблице, календаре и выгрузке. Добавь виджеты: материалы по статусам
и недели без запланированных публикаций.