Files
portal/docs/adr/015-marketing-tooling.md
T
Дмитрий 26999ca597 chore: working tree cleanup pre-llm-first-router merge
Три группы накопившихся auto-правок (НЕ ручные):

1. markdownlint --fix auto-format (~25 .md в docs/superpowers/, docs/security/marketing-vet.md, docs/adr/015, docs/deploy/lkomega-runbook): MD031/MD032 (blank lines around fence/list) + MD004 (bullet markers `+`→`-`). Содержательных текстовых правок 3: ADR-015 bullet, sprint5d-cleanup bullet, router-discipline trailing space.

2. lefthook 2.1.6 → 2.1.8 (package.json + lock): patch-bump, авто-резолвил npm.

3. Observer runtime (docs/observer/): episodes-2026-05.jsonl +420 строк (текущая активность мозга), STATUS.md regen, .pii-counters / .read-counter тики, +2026-05-24-brain-retro.md note.

Цель — разблокировать merge feat/llm-first-router → main (этап 0 плана постановки в боевой). Содержание ветки не трогает.
2026-05-25 14:23:11 +03:00

20 KiB
Raw Blame History

ADR-015: C1 marketing-tooling — наполнение раздела карты C1

Status: Accepted Date: 2026-05-22 Контекст: эпик C1 marketing-tooling, spec docs/superpowers/specs/2026-05-22-c1-marketing-tooling-design.md, plan docs/superpowers/plans/2026-05-22-c1-marketing-tooling.md, провенанс-вет docs/security/marketing-vet.md.

Context

Раздел карты C1 «Маркетинг и лидогенерация» формально существовал, но не имел ни одного дедицированного узла. Соседние разделы C2/C3/C4/C5 обслуживают продуктовый pipeline лидов (поставщики → арендаторы). C1 — это собственный go-to-market Лидерры: верх воронки привлечения SaaS-клиентов (контент, SEO, реклама, аналитика, email-маркетинг, бренд, каналы). Аналогичный паттерн пустого раздела закрывался ранее для C6/C7 (финансы, ADR-012), C9 (управление проектами, ADR-004), C10 (бизнес-процессы, ADR-008), A8 (инфобезопасность, ADR-014).

Дефициты чистого C1 (инструменты собственного маркетинга, не продуктового pipeline):

  1. Маркетинговый контент и кампании — копирайт, посадочные страницы, email-цепочки, конкурент-бриф, план кампании.
  2. SEO — аудит, ключевые слова, контент-оптимизация.
  3. Единый вербальный тон бренда — голос бренда в маркетинговых текстах (визуальный бренд уже закрыт Brandbook v2 / A4).
  4. РФ-специфика маркетинга — Яндекс.Директ/Метрика/Telegram как каналы; конверсия лендинга Лидерры; маркетинг в рамках 152-ФЗ (согласия на рассылки). Готового инструмента, знающего РФ-рынок и устройство Лидерры, не существует → self-authored.
  5. Подключение к каналам и аналитике — соцсети/постинг, веб-аналитика, рекламные кабинеты.

Официальный маркетинговый плагин Anthropic (knowledge-work-plugins/marketing) закрывает контент/SEO/бренд (#74, #76). Глубокий community-набор фреймворков берётся из GitHub (#75). РФ-специфики у Anthropic нет → GitHub MCP-серверы (#78#81) + self-authored (#77).

Решения заказчика (зафиксированы): акцент смешанный (контент + аналитика); подход — вариант Б (ставим всё, что технически можно сейчас; DEFERRED только физически заблокированное); VK standalone MCP — пропускаем (единственный сервер с 0★ и правом тратить бюджет; VK-постинг покрывает Postiz #81).

Риск ecosystem. Маркетинговые MCP-серверы держат OAuth-токены к рекламным кабинетам и аналитике. Снык/SentinelOne «ToxicSkills» 2025: ≈13% маркетплейс-скилов содержат критичные дефекты. Провенанс-гейт IS9 (прецедент A8 / ADR-014) на каждый внешний инструмент до установки — обязателен. Вет завершён: docs/security/marketing-vet.md.

Decision

Принят вариант Б (смешанный акцент): 8 узлов «ставим сейчас» + 2 DEFERRED-слота. Новая 18-я off-phase подкатегория «marketing-tooling», номера Tooling #74#83.

# ID карты Узел Источник Тип
74 mkt_plugin marketing (плагин) Anthropic knowledge-work-plugins/marketing плагин (8 скилов)
75 mkt_skills marketingskills (вендоренный) GitHub coreyhaines31/marketingskills вендоренный скил-набор (40)
76 brand_voice brand-voice (плагин) Anthropic knowledge-work-plugins/partner-built/brand-voice плагин (3 скила)
77 sk_marketing_ru marketing-ru self-authored project-скил свой
78 mcp_metrika Яндекс.Метрика MCP GitHub atomkraft/yandex-metrika-mcp внешний MCP, READ-ONLY
79 mcp_ya_direct Яндекс.Директ + Wordstat MCP GitHub SvechaPVL/yandex-mcp внешний MCP
80 mcp_telegram Telegram MCP GitHub chigwell/telegram-mcp внешний MCP
81 postiz Postiz self-hosted GitHub gitroomhq/postiz-app + antoniolg/postiz-mcp self-host + MCP
82 mcp_dataforseo DataForSEO MCP — DEFERRED GitHub dataforseo/mcp-server-typescript внешний MCP, платный
83 mcp_unisender Unisender Go MCP — DEFERRED self-written wrapper (нет готового) своя обёртка

Детали ключевых решений:

  1. #74 marketing — официальный Anthropic-плагин, 8 скилов: content-creation, draft-content, campaign-plan, email-sequence, seo-audit, competitive-brief, brand-review, performance-report. Первичный решатель C1. Встроенные коннекторы к западным SaaS (HubSpot/Ahrefs/Klaviyo) — не используются (РФ-аналоги #78/#79, визуал → A4).

  2. #75 marketingskills — самый популярный community-набор (~30k★), 40 скилов (CRO, SEO, cold-email, ai-seo, programmatic-seo, копирайтинг, marketing-psychology и др.). Роль: материал/резерв-библиотека (модель UPM #31), не решатель (#74 — решатель). Вендорим в .claude/skills/ (как data-scientist #49 / mermaid #37). IS9-вет PASS (MIT, только markdown, нет исполняемого кода в skills/). Условие: копировать только skills/ + LICENSE; добавить ATTRIBUTION.md.

  3. #76 brand-voice — Anthropic partner-built плагин (Tribe AI), 3 скила: голос бренда из текстов, гайдлайны, держать тон. Заземлён в позиционировании Brandbook v2.

  4. #77 marketing-ru — self-authored project-скил .claude/skills/marketing-ru/ (модель billing-audit #62 / threat-model #72 / pdn-152fz-audit #71). Закрывает РФ-специфику: playbook каналов (Яндекс.Директ/Метрика/Telegram/VK), конверсия лендинга Лидерры (заземлён в лендинг/TZ_landing_v1_0.md), маркетинг в рамках 152-ФЗ (согласия на рассылки, cross-ref #71). Линтуется (не в ignorePaths).

  5. #78 Яндекс.Метрика MCPatomkraft/yandex-metrika-mcp (MIT; выбран из 3 кандидатов по итогам IS9-вета; код верифицирован — только api-metrika.yandex.net). READ-ONLY чтение веб-аналитики. Активация полезна при живом лендинге со счётчиком. Пинить SHA в .mcp.json.

  6. #79 Яндекс.Директ + Wordstat MCPSvechaPVL/yandex-mcp (MIT; 128 инструментов: Direct 80 + Metrika 43 + Wordstat 5). Яндекс.Директ-мутации (#79 Direct-модуль) ОТКЛЮЧЕНЫ per IS9 (MKT8): в конфигурации активировать ТОЛЬКО Wordstat-инструменты (5 read-only tools). Wordstat полезен немедленно (подбор ключевых слов без активных кампаний). OAuth-токен с минимальным scope (Wordstat only).

  7. #80 Telegram MCPchigwell/telegram-mcp (Apache-2.0; ~1.1k★, 259 коммитов, код верифицирован — только Telegram/Telethon). MTProto user-account. Условия IS9: SESSION_STRING только в .env; выделенный аккаунт; READ-тяжёлый режим; ротация при компрометации.

  8. #81 Postizgitroomhq/postiz-app (~30k★) + antoniolg/postiz-mcp. Планировщик/публикация в 30+ площадок включая VK и Telegram; self-hosted, без SaaS-замка. Лицензия AGPL-3.0: внутренний self-host без дистрибуции приемлем (IS9-вет PASS-with-conditions). Условия: as-is без модификаций кода, сохранить copyright. Лицензия antoniolg/postiz-mcp не верифицирована в рамках вета — проверить отдельно перед активацией MCP-клиента.

  9. #82 DataForSEO MCPdataforseo/mcp-server-typescript (официальный, ~204★). DEFERRED: требует платного аккаунта → после Б-1 (прецедент Figma #44 / NightOwl #67).

  10. #83 Unisender Go MCP — готового качественного сервера нет (Composio платный, клиентские библиотеки ненадёжны). DEFERRED: написать тонкий MCP-wrapper над API Unisender Go (наш email-сервис) по потребности.

VK standalone MCP — осознанно отброшен (единственный ssm82/full-vk-mcp 0★, профиль «can spend money»; VK-постинг покрывает Postiz #81). Пересмотр при появлении нормального сервера.

Boundaries (конфликт-аудит)

  • MKT1 — C1 (привлечение, верх воронки) ↔ C2 «Продажи» / C3 «Квалификация»: плагины sales (9 скилов) и small-business (30 скилов) из той же витрины Anthropic НЕ берутся в C1 — это C2-пересечения. C1 = demand-gen, контент, бренд, аналитика трафика. При будущей интеграции C2 — отдельный ADR.

  • MKT2performance-report (#74) ↔ product-management metrics-review (#42, C9): marketing performance-report = метрики каналов и кампаний (CAC, конверсия, источники, CTR); PM metrics-review = продуктовые метрики (MRR, retention, adoption). Разные объекты; дублирования нет.

  • MKT3 — SEO-дубль: seo-audit (#74) ↔ SEO-скилы marketingskills (#75): #74 — первичный решатель (быстрый on-page аудит как воркфлоу); #75 — резерв-библиотека фреймворков (материал, модель UPM). Не используются параллельно (§5 п.6 соблюдён через role-разделение решатель/материал). Разница аналогична FD #30 (решатель) vs UPM #31 (резерв-библиотека).

  • MKT4 — визуальные ассеты: контент-скилы #74/#75 не создают изображения; визуал остаётся за A4 (Universal Icons #45, Design plugin #46, 21st #32). Canva/Figma-коннекторы плагина #74 не используются (Figma #44 DEFERRED, Canva — западный SaaS).

  • MKT5 — email: email-sequence (#74) = черновики копий маркетинговых кампаний; отправка = Unisender Go (#83 DEFERRED — MCP-обёртка под запрос); транзакционный email портала (уведомления) = продуктовый код (не C1). Три домена не пересекаются.

  • MKT6 — бренд: Brandbook v2 = визуальный бренд (палитра, шрифты, лого, палитра Forest); brand-voice #76 = вербальный бренд (тон, голос, копирайт). Взаимодополняют; brand-voice заземлён в позиционировании Brandbook, не подменяет его.

  • MKT7 — провенанс IS9: все внешние инструменты (#75 вендоренный, #78/#79/#80 MCP, #81 self-host) прошли провенанс-вет ДО включения в ADR (прецедент A8 ADR-014). Артефакт — docs/security/marketing-vet.md. Для #75: лицензия MIT, вендорим только skills/. Для #81: AGPL-3.0, внутренний self-host допустим. Лицензия antoniolg/postiz-mcp не верифицирована — open note вета.

  • MKT8 — READ-ONLY и запрет авто-трат: Яндекс.Метрика #78 — только чтение аналитики (прецедент Sentry/Redis READ-ONLY). Яндекс.Директ #79 — мутации кампаний не активировать (Direct-модуль 80 tools отключён); разрешены только Wordstat 5 read-only tools. Без авто-расхода бюджета никогда. Урок отброшенного VK-сервера (профиль «can spend money» → вето).

  • MKT9 — 152-ФЗ: сбор email/телефона для маркетинга и рассылки требует отдельных согласий субъектов ПДн. Скил #77 (marketing-ru) несёт этот playbook + cross-ref на pdn-152fz-audit #71 (A8). Технический режим аудита ПДн — за #71, не #77.

  • MKT10 — линт вендоренного: marketingskills #75 исключается из lefthook markdownlint

    • cspell (.claude/skills/marketingskills/** в ignorePaths) — прецедент MK1 mermaid #37 / CC1 ccpm #41. Self-authored marketing-ru #77 линтуется в обычном режиме.

Alternatives Considered

  • VK standalone MCP (ssm82/full-vk-mcp) — отклонён: 0★, профиль «can spend money», непроверен. VK-постинг покрывает Postiz #81. Пересмотр — при появлении нормального сервера или self-authored обёртки.
  • Meta/Facebook/Instagram Ads — не берём: Meta ограничена в РФ, ценность ≈0.
  • Плагины sales / small-business (витрина Anthropic) — отложены: C2-пересечения, возможная интеграция в C2 отдельным ADR.
  • Mailchimp / SendGrid / Brevo / HubSpot — не берём: платные западные SaaS, РФ-применимость низкая; наш email-сервис — Unisender Go (#83 DEFERRED).
  • Google Analytics / Google Ads / GSC — не берём: низкий приоритет для РФ-рынка; Метрика #78 + Директ #79 закрывают аналитику и рекламу.
  • Ahrefs OSS / Semrush — Ahrefs OSS-репо deprecated; платные → DataForSEO #82 (DEFERRED) как единственный отложенный SEO-слот.
  • Вариант А (контентный акцент, без каналов) — отклонён в пользу Б: заказчик выбрал «ставим всё, что можно» и смешанный акцент.

Consequences

Positive:

  • C1 непуст: 0 → 8 дедицированных узлов (+ 2 DEFERRED-слота).
  • Новая 18-я off-phase подкатегория «marketing-tooling».
  • Marketing chain «L16» (brainstorming → marketing plugin #74 → marketing-ru #77 → каналы #78/#79/#80/#81) добавляется в routing-off-phase.md (canonical chain).
  • Полное покрытие дефицитов C1: контент/SEO (#74/#75), бренд (#76), РФ-специфика (#77), аналитика (#78), рекламные ключи (#79), каналы (#80/#81).
  • Провенанс-вет IS9 всех внешних инструментов пройден ДО включения в реестр — ни одного FAIL; условия PASS-with-conditions зафиксированы в docs/security/marketing-vet.md.

Neutral / Cautionary:

  • Яндекс.Директ #79 подключается в режиме «только Wordstat»; Direct-модуль (80 mutation-tools) физически не активируется — бюджет защищён, но требует осознанной настройки OAuth-scope.
  • Telegram MCP #80 работает через user-account (MTProto), а не bot-токен — операционный риск компрометации SESSION_STRING; митигация: выделенный аккаунт + .env-only хранение.
  • Postiz #81 AGPL-3.0: внутренний self-host без модификаций допустим, но если код Postiz когда-либо будет модифицирован для распространения — возникают обязательства по раскрытию исходников (§4/§13 AGPL). Фиксируется как ограничение.
  • Лицензия antoniolg/postiz-mcp не верифицирована в рамках вета — проверить перед активацией MCP-клиента.
  • #78/#79 активируются осмысленно при живом лендинге/кабинетах (⏸ Б-1); установлены сейчас (вариант Б), «загораются» при трафике.
  • ADR-003 — D3 audit-security toolset; провенанс-дисциплина IS9 унаследована.
  • ADR-012 — C6/C7 finance-tooling; паттерн «пустой раздел → наполнение» первоначально закреплён там.
  • ADR-014 — A8 infosec-tooling; IS9-дисциплина, прецедент VK-отклонения (money-сервер), нумерация #68–#73 (настоящий ADR продолжает #74–#83).

References

  • docs/superpowers/specs/2026-05-22-c1-marketing-tooling-design.md — design (MKT1MKT10, §4).
  • docs/superpowers/plans/2026-05-22-c1-marketing-tooling.md — plan.
  • docs/security/marketing-vet.md — IS9 провенанс-вет (#75/#78/#79/#80/#81).
  • docs/Tooling_v8_3.md §4.49–§4.58 — 9-атрибутные блоки узлов #74–#83 (когда обновится).
  • docs/Plugin_stack_rules_v1.md R10.1 — реестр ролей (когда обновится).
  • docs/Pravila_raboty_Claude_v1_1.md §13.2 — Off-phase marketing-tooling абзац (когда обновится).
  • docs/CLAUDE.md §3.3 — строки #74#83 + §0 cross-refs version-bump (когда обновится).
  • docs/routing-off-phase.md — связка «marketing chain L16» + узлы #74–#83 (когда обновится).