Как из пустой папки собирается маркетинг-харнесс: контекст, правила, Exa MCP, скиллы, параллельные агенты, анти-слоп и недельный срез. Маркетинг-спринт AI Mindset.
Translation pending
Developer toolsJavaScript · HTMLGitHub @ai-mindset-orgOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Маркетинг-харнесс AI Mindset: шаблон папки (контекст, правила, роли, скиллы, гейты, evals) и инструмент живого графа – Demo, Local, Team, сессии агентов, откат и форк
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Маркетинг-харнесс маркетинг-спринта AI Mindset (n25). Папка, в которой живёт маркетинг продукта: контекст, правила, роли, скиллы, гейты, evals и агенты в одном git. Инструмент рядом рисует эту папку живым графом: как она растёт из пустой за 10 фаз, какие агенты в ней работают и что они закоммитили.Read the full README ↗
Папка маркетинга и инструмент для работы с ней: контекст, роли, скиллы и проверки. Демо и быстрый старт описаны ниже.
Маркетинг-харнесс маркетинг-спринта AI Mindset (n25). Папка, в которой живёт маркетинг продукта: контекст, правила, роли, скиллы, гейты, evals и агенты в одном git. Инструмент рядом рисует эту папку живым графом: как она растёт из пустой за 10 фаз, какие агенты в ней работают и что они закоммитили.
| Demo | сборка харнесса из пустой папки по фазам, с остановками-объяснениями |
| Local | твоя папка на компьютере: граф, правка, агенты, сессии, откат и форк |
| Team | рабочая папка спринта из git, обновляется раз в 5 минут |
Быстрый старт:
gh repo clone ai-mindset-org/marketing-harness ~/harness-engine
~/harness-engine/bin/new.sh ~/harness/my-product b2b-consultant # своя папка из набора
~/harness-engine/bin/open.sh ~/harness/my-product # граф с консолью агентов
Маркетинг-харнесс спринта AI Mindset (n25). Вырос из инструмента aim-sim-office (соседняя папка в рабочем пространстве Алекса, в этот репозиторий не входит). Два слоя:
kit/) – сам харнесс: папка с контекстом, правилами, ролями, инструментами, скиллами, evals, дизайн-системой, рутинами, сырьём и результатом. 138 файлов, имена по конвенции {тип} имя;web/, tools/, bin/) – разворачивает набор в пустую папку по таймлайну и рисует граф папки вживую; консоль отдаёт задачи агентам внутри папки.Команда AI Mindset и ведущие воркшопа пишут прямо в main, участники присылают pull request.
gh repo clone ai-mindset-org/marketing-harness ~/harness-engine (уже есть – git -C ~/harness-engine pull);kit/files/<ветка>/ с именем {тип} имя.md: правило – rules/, скилл – skills/, дизайн – design/, кейс – guides/. Это та папка, которую получают участники;node tools/build-scenario.mjs – файл попадает в Demo, ⌘K и архив набора;git add -A && git commit -m "…" && git push;bin/deploy-site.sh – гид и Demo на открытой копии и на внутреннем показе обновятся за минуту (нужен клон ai-mindset-org/lab-sites).Открытый гид и Demo: marketing-harness.lab.aimindset.org (Guide – guide.html, About – access.html, набор архивом – marketing-harness-kit.zip). Внутренний показ команды с режимом Team: https://content.aimindset.org/marketing-harness/. Харнесс собран для маркетинг-спринта AI Mindset: marketing.aimindset.org. Режимы в шапке: Demo · Local · Team, страницы: Guide (guide.html: запуск, Local, сессии агентов, откат и форк, таймлайн блоков, ресёрч, гейты, кейсы) и About (access.html: что это, инструменты, ключи, проверки, готовность этого компьютера). В Demo: ?at=end – сразу финал, ?speed=4 – быстрее, ?phase=p05 – с фазы, ?stops=0 – без остановок.
Отдельная страница «Шаблон дизайн-системы» сохраняет структуру AIM material system с пустыми значениями бренда. Реестр для заполнения: template-values.json. Страница лежит в web/, поэтому входит в обычную выкладку сайта. Workflow GitHub Pages публикует тот же статический каталог по адресу https://ai-mindset-org.github.io/marketing-harness/design-system-template/ после включения источника GitHub Actions в настройках Pages. Карта переноса находится в docs/design-system-template-transfer.md.
Отдельно от сайта и сценария спринта лежит микрохарнесс для студентов: учебные схемы лид → бот, общего родительского блока и дочерних страниц, редактируемых страниц и QA-дашборда. В нём есть синтетические данные, запускаемые локально примеры и карта источников и ограничений. Эта папка не входит автоматически в kit/, Demo или архив набора.
| что | команда |
|---|---|
| демо без папки | bin/replay.sh → http://localhost:4747/ · пробел – пауза, ← → – фазы, End – в конец, s – остановки вкл/выкл |
| сборка с остановками | bin/demo.sh ~/Demos/mh-0110 --pace 1 --stops · после каждой фазы карточка, дальше по «продолжить» |
| сборка в пустую папку по таймлайну | bin/demo.sh ~/Demos/mh-0110 --pace 1 · 4:35, коммит на фазу |
| мгновенно новая папка + живой граф | bin/new.sh ~/harness/my-product [b2b-consultant|b2c-shop|saas-founder] · гейты включены сразу |
| открыть существующий харнесс | bin/open.sh ~/harness/marketing-sprint · тот же сервер, если уже запущен; иначе 4747 или следующий свободный порт |
| копия с историей | bin/fork.sh <откуда> <куда> [--at <коммит>] |
| обновить папку до нового набора | node tools/update-folder.mjs --dir ~/harness/marketing-sprint [--dry] · новое добавит, неправленое обновит, правленое не тронет |
| живые агенты в фазах 08–09 | EXA_API_KEY=… AIM_LMS_TOKEN=… bin/demo.sh ~/Demos/mh-live --agents · модель claude по умолчанию opus (--model sonnet или HARNESS_CLAUDE_MODEL) |
| остановить сервер | bin/stop.sh [порт] · только слушающий процесс, вкладки браузера живы |
Рабочая папка спринта: ~/harness/marketing-sprint (ai-mindset-org/marketing-harness-sprint). Открывается в Obsidian как vault.
index.html: сборка по web/scenario.json, карточки фаз, клик по фазе внизу возвращает к её карточке;bin/open.sh <папка> → ?mode=live, папка этого компьютера через локальный сервер: правка, роли агентов, сессии, откат, форк, история файла, Obsidian; на сайте та же вкладка открывает папку в браузере (без агентов); пробел замораживает картинку;?mode=team: рабочая папка спринта из git (ai-mindset-org/marketing-harness-sprint), статичный team/state.json, опрос раз в 20 с, без консоли и правки. Публикация: bin/publish-team.sh [папка] [клон lab-sites] – экспорт через tools/export-state.mjs, push в lab-sites только при новом HEAD папки. На сервере это делает таймер marketing-harness-team-publish на VM105 (раз в 5 минут, запись в реестре team-ai-infrastructure, ранбук worldstream/docs/runbooks/2026-09-29-marketing-harness-team-publish.md).tools/folder-state.mjs читает папку одинаково для сервера и экспорта и маскирует всё, что похоже на ключ (sk-, ghp_, github_pat_, токены ботов Telegram, Google, Apify, Krisp, Bearer, api_key=…, exaApiKey=…) в содержимом файлов, журналах агентов и раздаче /f/. Плейсхолдеры ${ИМЯ} остаются. Скрытые файлы папки (.env и другие) сервер не отдаёт, кроме .mcp.json, .githooks/, .claude/settings.json.
node tools/build-scenario.mjs
rsync -a --delete --exclude marketing-harness-kit.zip --exclude team/ web/ ~/repos/lab-sites/internal-sites/marketing-harness/
git archive --prefix=marketing-harness-sim/ -o ~/repos/lab-sites/internal-sites/marketing-harness/marketing-harness-kit.zip HEAD
cd ~/repos/lab-sites && gitleaks detect --no-git --source internal-sites/marketing-harness && git add internal-sites/marketing-harness && git commit -m "…" && git push
bin/publish-team.sh ~/harness/marketing-sprint # командный вид
После каждой фазы – карточка человеческим языком: что появилось в папке, зачем это, какие файлы (клик открывает файл). Тексты – поле stop у фазы в kit/manifest.json. В демо остановки включены по умолчанию; в живой сборке – флаг --stops: раннер ждёт, пока в браузере нажмут «продолжить» (POST /api/continue пишет .harness/continue).
edit(human): <файл>;open в программе по умолчанию, «Finder» – open -R; «папка в Obsidian» в шапке – вся папка;Панель «05 · агенты»: шесть ролей (загрузчик, исследователь, экстрактор, автор, дизайнер, критик), ▶ запускает роль с готовой задачей по её скиллу, ✎ кладёт задачу в консоль. Вкладка «консоль»: исполнитель, модель, задача, пресеты. Сервер слушает только 127.0.0.1, отвечает только на Host localhost/127.0.0.1 (защита от DNS rebinding), запись требует заголовка с токеном сессии.
claude -p --output-format stream-json в папке, только настройки и MCP папки (--setting-sources project,local --strict-mcp-config), модель по умолчанию opus (выбор opus · sonnet · haiku), MCP только тех серверов, чьи ключи заданы в окружении;codex exec --json -s workspace-write в папке (с 0.156 флага --full-auto нет);HARNESS_SERVER_HOST): папка уезжает в ~/harness/<имя> (rsync вместе с .git, чтобы агент видел историю; назад .git не возвращается), codex exec работает там, изменения возвращаются каждые 4 секунды, граф растёт вживую;.harness/runs/<id>.log|json, после запуска – конспект sessions/{session} <исполнитель> <скилл> <время> – <дата>.md (ключи замаскированы, файлы ссылками, слой графа ▷);agent(<исполнитель>): <роль · скилл> ровно с файлами этого запуска и конспектом; упал или остановлен – коммит только конспекта session(…); гейт остановил коммит – сессия и панель это пишут;git revert, подтверждение в карточке); у сессии – «откатить запуск»; у файла – «история» → версия → «вернуть эту версию» (коммит restore(human));bin/fork.sh (клон с историей, source – исходная папка, Obsidian-настройки едут следом).Вкладка «инструменты» показывает, какие ключи заданы (значения не отдаются), CLI, доступность сервера и LMS API.
kit/
answers.json · answers/*.json анкета по умолчанию и пресеты трёх архетипов когорты
manifest.json 10 фаз, 6 дорожек агентов, пояснение к шагу
files/ харнесс: AGENTS.md · CLAUDE.md · context/ · rules/ · tools/ (+ mcp/lms.mjs)
skills/ · evals/ · design/ · guides/ · bin/ (check, render, sync-skills)
sources/ · research/ · nuclei/ · outputs/ · dashboards/
versions/ промежуточные версии: до нейминга, до правки li-02, отчёт проверок v1
tools/
timeline.mjs manifest → один таймлайн (переименование, параллельные дорожки)
build-scenario.mjs рендер и проверки набора → web/scenario.json
harness-server.mjs статика, /api/state, /api/tools, /api/agent, /api/runs/:id, /api/commit/:hash, /api/history, /api/revert, /api/restore, /api/fork, /api/file, /api/open, /api/continue, /f/<файл папки>
update-folder.mjs обновить развёрнутую папку до текущего набора, не трогая правленое
harness-demo.mjs раннер: пустая папка → фазы → git; --agents, --preset, --pace 0
web/ инструмент: index.html · app.js · styles.css · vendor/d3 · scenario.json
страницы: guide.html · access.html · doc.css · doc.js · kit-docs.json (из набора при сборке)
bin/ demo.sh · new.sh · open.sh · fork.sh · replay.sh · stop.sh · publish-team.sh
Правка набора: файл в kit/files/ или шаг в kit/manifest.json → node tools/build-scenario.mjs.
00 пустая папка · 01 анкета → контекст · 02 правила и принципы · 03 нейминг (файлы переименовываются, ссылки правятся) · 04 инструменты · 05 скиллы и правила спикеров · 06 evals · 07 дизайн-система · 08 агенты параллельно (загрузчик из LMS, исследователь, экстрактор, автор, дизайнер, критик) · 09 срез и петля.
◆ хаб · ■ контекст · ◇ правило · ⬡ роль · △ инструмент · × код · ✳ гайд · ○ скилл · ▲ eval · ☆ дизайн · ● агент · □ сырьё · Y ресёрч · • нуклеус · ▢ черновик · ✚ срез · ⧗ рутина · ⊓ гейт · ▷ сессия · пунктир – файл, которого ещё нет. Клик по легенде скрывает слой.
node ≥ 18, git. Для агентов – Claude Code CLI, Codex CLI; для Сотника – SSH-ключ к серверу команды и export HARNESS_SERVER_HOST=<алиас>. Ключи сервисов – только в окружении.