8e8f06ebe7
Три группы накопившихся 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 плана постановки в боевой). Содержание ветки не трогает.
230 lines
20 KiB
Markdown
230 lines
20 KiB
Markdown
# 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 Яндекс.Метрика MCP** — `atomkraft/yandex-metrika-mcp` (MIT; выбран из 3
|
||
кандидатов по итогам IS9-вета; код верифицирован — только `api-metrika.yandex.net`).
|
||
READ-ONLY чтение веб-аналитики. Активация полезна при живом лендинге со счётчиком.
|
||
Пинить SHA в `.mcp.json`.
|
||
|
||
6. **#79 Яндекс.Директ + Wordstat MCP** — `SvechaPVL/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 MCP** — `chigwell/telegram-mcp` (Apache-2.0; ~1.1k★, 259 коммитов,
|
||
код верифицирован — только Telegram/Telethon). MTProto user-account. Условия IS9:
|
||
`SESSION_STRING` только в `.env`; выделенный аккаунт; READ-тяжёлый режим; ротация
|
||
при компрометации.
|
||
|
||
8. **#81 Postiz** — `gitroomhq/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 MCP** — `dataforseo/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.
|
||
|
||
- **MKT2** — `performance-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); установлены
|
||
сейчас (вариант Б), «загораются» при трафике.
|
||
|
||
## Related Decisions
|
||
|
||
- **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 (MKT1–MKT10, §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 (когда обновится).
|