marketing harness · Guide

запуск · Local · сессии · откат · таймлайн · сущности · гейты

Guideмаркетинг-спринт AI Mindset · n25
Путь черновика: context → rules → skills → агент → evals → человек

Demo воспроизводит подготовленный сценарий. Публичные примеры учебные. Запуск агента доступен после локальной установки и использует ваш AI-аккаунт.

маркетинг-харнесс – рабочая папка маркетинг-спринта AI Mindset (n25, сентябрь–октябрь 2026), три недели практики маркетинга с AI-агентами на своём продукте. в папке собраны механики спикеров спринта – Ромы Кумара, Витали Урбана, Сергея Булаева, Даши Воронкиной и Игоря Озерова – и контент-машина команды: контекст продукта, правила, роли, скиллы, проверки, гейты и агенты. инструмент рисует папку графом: из пустой папки за десять фаз вырастает машина, которая пишет, проверяет и учится на своих ошибках.

00 · что это и что можно взятьмаркетинг-спринт AI Mindset · воркшоп 01.10, 18:00 CEST

часть программы

харнесс собран для дополнительного воркшопа спринта 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, карусель, трендвотчинг
что подключитьAboutClaude Code или Codex, Obsidian, ключи Exa, LMS, Apify – где взять и как проверить одной командой

01 · как запуститьтерминал, папка движка ~/harness-engine

три режима в шапке: 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 или на указанном порту; вкладки браузера не трогает

02 · Localлокальное хранение · http://localhost:4747/?mode=live

где лежит

обычная папка на своём компьютере под 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 и хуки в запуск не попадают.

03 · агенты и их сессиипанель 05 · вкладка «сессии» · папка sessions/

роли одной кнопкой

панель «05 · агенты» в Local: шесть ролей – загрузчик, исследователь, экстрактор, автор, дизайнер, критик. ▶ запускает роль с готовой задачей по её скиллу, ✎ кладёт задачу в консоль, чтобы поправить. исполнитель и модель – из консоли.

сессия вживую

пока агент работает, строка роли показывает текущий шаг, токены и время; клик открывает сессию в боковой панели: каждый шаг (прочитал, записал, команда, ошибка), токены вход · кэш · выход, стоп. на графе – красный узел агента со связями к файлам, которые он трогает.

сессия после

запуск заканчивается файлом sessions/{session} <исполнитель> <скилл> <время> – <дата>.md: задача, итог, токены, ответ агента, тронутые файлы ссылками, ход работы. ключи замаскированы. файл уходит в git вместе с коммитом, поэтому Team видит сессии всех, кто запускал.

один коммит на запуск

коммит agent(claude): автор · content-factory забирает только файлы этого запуска: два агента параллельно не смешивают правки, настройки Obsidian в коммит не попадают. упал или остановлен – коммитится только конспект сессии, правки остаются для разбора.

04 · как вернуться к старой версииоткат · версия файла · форк

что нужногде в 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 переписывает историю, для общей папки он не подходит.

когда откат не проходит

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

05 · таймлайн блоков–

загружаю сценарий…

06 · как агенту работать с папкой

вход

каждая задача начинается словами «Прочитай 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/скан с датами и уровнями доказательности

07 · ресёрчтри скилла и очередь по веткам

главные скиллы: research-exa – скан рынка и практик с датами, fact-check – сверка утверждений с источником, adlib-recon – разведка рекламы конкурентов. очередь из шести ресёрчей готова к запуску из консоли:

очередь ресёрчей по веткам
перечень источников спринта

08 · роли и рутины

агентские роли
автоматизация: три уровня и три рутины
типы контента и где пустые клетки
нуклеусы и направленные связи
как правило становится скиллом

09 · сущности и связионтология харнесса

каждая сущность – файл в своей папке, тип стоит в имени, id во frontmatter; связь – ссылка в поле или в тексте. граф инструмента рисует именно эти связи.

онтология: типы, связи, как растёт

10 · гейты и хукикод, который останавливает действие

правило и гейт

правило – текст для агента. гейт – код, который срабатывает на событие (коммит, запись файла, команда) и блокирует действие двумя каналами: код выхода 2 и отказ в JSON.

пять гейтов набора

секрет-скан перед коммитом · approved только после зелёных проверок · публикует человек · агент пишет в свою ветку · перед созданием – поиск похожего.

проверка

node bin/gate-tests.mjs гоняет гейт через ту же команду, что записана в .claude/settings.json: 6 случаев allow и deny, седьмой – pre-commit исполняемый и включён.

хуки и гейты: события, два канала, урок обёртки

11 · как сетапить скилл

скилл по шагам на примере email-digest

12 · маркетинговые кейсыоперации команды и механики спикеров

15 кейсов: ситуация → сущности → первый шаг

13 · дизайнканон Анки · плашки 3:1 · язык инструмента

канон Анки Ставенски

field journal из hero lab: бумага, чернила, глина, Inter, Lora, IBM Plex Mono. из него рендерятся карусель и превью LinkedIn. файл 10 ↗

язык инструмента

моно, рамки 1px, сетка, один красный акцент. в нём граф, Guide, About, лендинг набора и плашки 3:1.

плашка 3:1

3000×1000 для поста: заголовок до 6 слов, код креатива, номер нуклеуса. node bin/render.mjs cover <бриф>.

канон Анки: токены и где используется
плашка 3:1: бриф и рендер