запуск · Local · сессии · откат · таймлайн · сущности · гейты
Demo воспроизводит подготовленный сценарий. Публичные примеры учебные. Запуск агента доступен после локальной установки и использует ваш AI-аккаунт.
маркетинг-харнесс – рабочая папка маркетинг-спринта AI Mindset (n25, сентябрь–октябрь 2026), три недели практики маркетинга с AI-агентами на своём продукте. в папке собраны механики спикеров спринта – Ромы Кумара, Витали Урбана, Сергея Булаева, Даши Воронкиной и Игоря Озерова – и контент-машина команды: контекст продукта, правила, роли, скиллы, проверки, гейты и агенты. инструмент рисует папку графом: из пустой папки за десять фаз вырастает машина, которая пишет, проверяет и учится на своих ошибках.
харнесс собран для дополнительного воркшопа спринта 01.10 «маркетинг-харнесс из пустой папки» (ведут Алекс Поваляев, Миша Яценко, Анка Ставенски, Саша Васильев). спринт: marketing.aimindset.org · занятия и записи участников: learn.aimindset.org/marketing · сообщество и другие лаборатории: aimindset.org.
сначала Demo: пять минут сборки с карточками фаз. потом разделы 01–02: как поднять свою папку. разделы 05–13 – устройство: таймлайн, ресёрч, роли, онтология, гейты, скиллы, кейсы, дизайн. ⌘K ищет по разделам и файлам набора, клик по файлу открывает его здесь же.
| что взять | где | зачем |
|---|---|---|
| шаблон-репозиторий: движок, набор, гайд | github.com/ai-mindset-org/marketing-harness | клонировать и развернуть свою папку: bin/new.sh ~/harness/my-product b2b-consultant |
| набор одним архивом | marketing-harness-kit.zip | без git и терминала: распаковать, открыть папку kit/files в Obsidian или в Local на этом сайте |
| любой файл набора | Demo → клик по файлу → «скачать» или «GitHub ↗» | взять одно правило, скилл или гейт в свою папку |
| три пресета продукта | b2b-consultant · b2c-shop · saas-founder | анкета уже заполнена под тип бизнеса, дальше правишь под себя |
| скиллы для агента | skills/ в наборе, 18 рецептов | контент-фабрика, нуклеусы, ресёрч через Exa, критик, LinkedIn, карусель, трендвотчинг |
| что подключить | About | Claude Code или Codex, Obsidian, ключи Exa, LMS, Apify – где взять и как проверить одной командой |
три режима в шапке: Demo – сборка по сценарию, без папки · Local – локальное хранение: твоя папка на этом компьютере · Team – рабочая папка спринта из git, видна всей команде.
| что | команда | когда |
|---|---|---|
| Demo без папки | bin/replay.sh или страница инструмента | показать сборку за 5 минут; пробел – пауза, ← → – фазы, s – остановки |
| сборка с остановками | bin/demo.sh ~/Demos/mh-0110 --pace 1 --stops | эфир: после каждой фазы карточка с объяснением, дальше по кнопке «продолжить» |
| мгновенная папка | bin/new.sh ~/harness/my-product b2b-consultant | свой харнесс за секунды; пресеты b2b-consultant · b2c-shop · saas-founder; гейты включены сразу |
| Local в браузере | Local → «выбрать папку» или перетащить папку из Finder | без установки: граф, поиск, правка файлов прямо в папке; Chrome, Arc, Edge, с компьютера |
| Local полный | bin/open.sh ~/harness/my-product | работа каждый день: граф, редактор, роли агентов, сессии, откат, форк, Obsidian, коммиты |
| копия с историей | bin/fork.sh ~/harness/my-product ~/harness/my-try | пробовать без риска; --at <коммит> – копия со старой версии |
| живые агенты в демо | EXA_API_KEY=… bin/demo.sh ~/Demos/mh-live --agents | фазы 08–09 делают настоящие агенты claude, модель по умолчанию opus |
| остановить | bin/stop.sh [порт] | сервер на 4747 или на указанном порту; вкладки браузера не трогает |
обычная папка на своём компьютере под git: ~/harness/<продукт>. копия уходит в приватный репозиторий GitHub. Dropbox и iCloud для неё не подходят: синк ломает git.
ключи в папку не попадают, только имена переменных: git и GitHub.
сервер читает папку раз в 0,7 секунды. правка в Obsidian, в редакторе или агентом появляется на графе через секунду: новый файл – новый узел с красным кольцом, переименование – узел переезжает, удаление – узел исчезает, коммит – строка в ленте. порт: 4747 или следующий свободный, open.sh пишет адрес.
клик по узлу или файлу в дереве → панель: свойства из frontmatter отдельным блоком, ссылки по типам, «вид · исходник · править · история». в режиме «править» слева текст, справа живое превью; ⌘S сохраняет и делает коммит edit(human) от твоего имени из git config user.name. если гейт остановил коммит, панель так и скажет.
кнопки панели: «Obsidian» открывает файл в хранилище, «приложение» – в программе по умолчанию, «Finder» показывает файл. «Obsidian ↗» в строке папки открывает всю папку; в первый раз Obsidian попросит «Open folder as vault», путь уже в буфере.
клик по слою в легенде графа прячет его вместе со связями: например, убрать план (◌) и код (×), оставить контекст, правила и скиллы. alt-клик – только этот слой.
вкладка «консоль»: исполнитель claude (opus по умолчанию), codex или сотник на сервере команды, задача своими словами. claude запускается только с настройками папки: твой личный CLAUDE.md и хуки в запуск не попадают.
панель «05 · агенты» в Local: шесть ролей – загрузчик, исследователь, экстрактор, автор, дизайнер, критик. ▶ запускает роль с готовой задачей по её скиллу, ✎ кладёт задачу в консоль, чтобы поправить. исполнитель и модель – из консоли.
пока агент работает, строка роли показывает текущий шаг, токены и время; клик открывает сессию в боковой панели: каждый шаг (прочитал, записал, команда, ошибка), токены вход · кэш · выход, стоп. на графе – красный узел агента со связями к файлам, которые он трогает.
запуск заканчивается файлом sessions/{session} <исполнитель> <скилл> <время> – <дата>.md: задача, итог, токены, ответ агента, тронутые файлы ссылками, ход работы. ключи замаскированы. файл уходит в git вместе с коммитом, поэтому Team видит сессии всех, кто запускал.
коммит agent(claude): автор · content-factory забирает только файлы этого запуска: два агента параллельно не смешивают правки, настройки Obsidian в коммит не попадают. упал или остановлен – коммитится только конспект сессии, правки остаются для разбора.
| что нужно | где в Local | что происходит | в терминале |
|---|---|---|---|
| отменить запуск агента | сессия → «откатить запуск» | новый коммит отменяет коммит агента; история остаётся, откат тоже можно откатить | git revert <коммит> |
| отменить любой коммит | клик по коммиту в «02 · коммиты» → «откатить» | то же; карточка сначала показывает файлы и изменения, подтверждение – «да · нет» в самой карточке | git revert <коммит> |
| вернуть один файл | файл → «история» → версия → «вернуть эту версию» | файл становится таким, как был в том коммите, отдельным коммитом restore(human); остальные файлы не трогаются | git checkout <коммит> -- <файл> |
| посмотреть, как было | файл → «история» → версия · «изменения» | текст той версии и разница с предыдущей, ничего не меняется | git show <коммит>:<файл> |
| попробовать без риска | «форк» в строке папки или «форк с этого коммита» в карточке | рядом появляется копия папки с историей; с коммита – копия той версии; можно сразу открыть | bin/fork.sh <откуда> <куда> [--at <коммит>] |
| Team, у себя в клоне | Local полный на клоне | откат или возврат версии, затем git push; Team обновится через 5 минут | git revert … · git push |
коммиты в общей папке уже видели другие. откат добавляет коммит сверху, история у всех совпадает, и ничего не теряется. git reset переписывает историю, для общей папки он не подходит.
если файлы коммита потом правили, откат остановится и назовёт их: откати сначала более поздние коммиты или верни версию отдельного файла через «историю». пока работает агент, откат ждёт конца запуска.
каждая задача начинается словами «Прочитай AGENTS.md». роутер знает карту веток и какой скилл когда: AGENTS.md.
исследователь пишет в research/, экстрактор в nuclei/, автор в outputs/, критик в evals/. так они работают параллельно и не мешают друг другу: агентские роли.
черновик проходит node bin/check.mjs и критика в отдельном контексте. агент готовит, публикует человек: границы.
новый скилл, правило или инструмент добавляются по harness-evolve; раз в неделю папка сверяется с принципами по harness-principles.
| задача в консоль | что появится |
|---|---|
Прочитай AGENTS.md. По скиллу content-factory сделай пачку из двух черновиков LinkedIn из нуклеусов без черновика, потом node bin/check.mjs | два файла в outputs/linkedin/ и отчёт проверок |
Прочитай AGENTS.md. По скиллу harness-principles проведи аудит папки и запиши отчёт в evals/ | таблица принцип · да/нет · что поправить |
Прочитай AGENTS.md. По скиллу research-exa сделай скан «…» в research/ | скан с датами и уровнями доказательности |
главные скиллы: research-exa – скан рынка и практик с датами, fact-check – сверка утверждений с источником, adlib-recon – разведка рекламы конкурентов. очередь из шести ресёрчей готова к запуску из консоли:
каждая сущность – файл в своей папке, тип стоит в имени, id во frontmatter; связь – ссылка в поле или в тексте. граф инструмента рисует именно эти связи.
правило – текст для агента. гейт – код, который срабатывает на событие (коммит, запись файла, команда) и блокирует действие двумя каналами: код выхода 2 и отказ в JSON.
секрет-скан перед коммитом · approved только после зелёных проверок · публикует человек · агент пишет в свою ветку · перед созданием – поиск похожего.
node bin/gate-tests.mjs гоняет гейт через ту же команду, что записана в .claude/settings.json: 6 случаев allow и deny, седьмой – pre-commit исполняемый и включён.
field journal из hero lab: бумага, чернила, глина, Inter, Lora, IBM Plex Mono. из него рендерятся карусель и превью LinkedIn. файл 10 ↗
моно, рамки 1px, сетка, один красный акцент. в нём граф, Guide, About, лендинг набора и плашки 3:1.
3000×1000 для поста: заголовок до 6 слов, код креатива, номер нуклеуса. node bin/render.mjs cover <бриф>.