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

Настройка

Модуль 00-setup — точка входа движка: без зависимостей, первый в цепочке. Наполняет identity/ аккаунта (кто ты, голос, аудитория, продукт, каналы, бренд) и индексирует фотобанк — всё, что дальше читают остальные модули цикла.

Наполняет 7 файлов «второго мозга» аккаунта (about-me.md, voice.md, audience.md, product.md, memory.md, channels.yaml, brand.yaml) через один из трёх режимов интейка.

Когда использовать. Запускай первым при настройке нового аккаунта — до того, как трогать любой другой модуль. Если у тебя уже есть разрозненные файлы (голос, оффер, ЦА) — есть режим, который их сведёт, а не заставит вводить всё заново вручную.

Как вызвать

/onboard <slug> [--mode interview|consolidate|extract]
  • <slug> — id аккаунта (например max-tors). Не передан — агент спросит одним вопросом.
  • --mode — режим интейка. Не передан — агент определит и подтвердит одним вопросом на старте.

Три режима:

Режим Кто Как наполняем
interview новичок с нуля (студент буткемпа) агент спрашивает по одному вопросу, секция за секцией
consolidate уже есть разбросанные файлы (миграция) агент читает source-файлы и разносит по 7 файлам
extract DFY-клиент (done-for-you — контент делают за него) агент читает транскрипт звонка / экспорт чата и заполняет за клиента

Что на входе / на выходе

  • Вход: шаблоны + gap-detect контракт из modules/00-setup/schemas/identity/* (включая _required.yaml — список обязательных/опциональных секций).
  • Выход: accounts/<slug>/identity/* (все 7 файлов) + accounts/<slug>/_meta.yaml.

Пример

/onboard max-tors --mode interview

Агент по одному вопросу проходит секции about-me → voice → audience → product → channels → brand (memory.md пропускает — он append-only и наполняется со временем), после каждого ответа сразу пишет его в файл, в конце показывает сводную таблицу и просит апрув.

Гейты/апрувы

  • Петля SETUP → GAP-DETECT → COLLECT → FILL → REVIEW крутится, пока все REQUIRED-секции не закрыты или явно не помечены <!-- TODO --> с твоего согласия.
  • В consolidate — на REVIEW агент проходится по перенесённому и спрашивает «всё ещё актуально?», не перезаписывает существующее молча; конфликты между source-файлами поднимает явно, не выбирает сам.
  • Финальный REVIEW всегда заканчивается сводной таблицей (какие файлы/секции закрыты, что осталось TODO) и явным апрувом перед записью _meta.yaml.

Связанные: downstream-модули читают заполненный identity — /plan-week, /carousel, /post, /reel.

Индексирует фотобанк аккаунта (identity/photos/) в _index.yaml, чтобы карусели подбирали фото под слайды без повторного анализа при каждом запуске.

Когда использовать. Запускай после того как закинул свои фото в identity/photos/ — один раз после первой загрузки, и снова каждый раз, когда добавил новые фото. Уже размеченные фото повторно не анализируются.

Как вызвать

/photos <slug>

Аргумент <slug> обязателен — без него команда остановится с просьбой указать аккаунт.

Что на входе / на выходе

  • Вход: файлы фото (JPEG/PNG) в accounts/<slug>/identity/photos/. (webp/heic не парсятся — сохрани как JPEG/PNG.)
  • Выход: accounts/<slug>/identity/photos/_index.yaml — для каждого фото размеры, ориентация (детерминированно, из EXIF) + описание/теги/suitable_for (семантика от агента, vision).

Пример

/photos max-tors

Python-часть сканирует папку и находит новые фото без разметки; агент смотрит каждое новое фото (vision) и даёт короткое фактическое описание, 2-4 тега и список подходящих фото-паттернов (hero/statement); python перезаписывает индекс, подчищая записи для удалённых с диска файлов (orphans).

Гейты/апрувы

Не интерактивна — не спрашивает апрув. Останавливается честно (STOP), если фотобанк пуст или все фото уже размечены — с понятным сообщением, что делать дальше.

Связанные: индекс читает /carousel при подборе фото под слайды.