# Приложение Н — Tooling, скиллы и плагины Claude (v8.3)

**Дата:** 27.05.2026
**Версия:** 2.25 (Прил. Н v2.25 — research-tooling (Perplexity Pack): §4.60 #87 perplexity MCP + §4.61 #88 exa MCP + §4.62 #89 firecrawl MCP — новая **20-я off-phase подкатегория research-tooling** (внешние MCP веб-разведки, READ-ONLY, платные API — ключи только в env); §0 счётчик 84→87 (104→107 total), off-phase row +54→+57; cross-ref Pravila v1.44+ / PSR_v1 v3.24+ / CLAUDE.md v2.47+; ADR-019 (RT1–RT9). Узлы: #87 perplexity (`@perplexity-ai/mcp-server` — ранжированный ответ-с-источниками sonar) + #88 exa (`exa-mcp-server` — семантическое/нейро обнаружение) + #89 firecrawl (`firecrawl-mcp` — глубокое чтение/обход). Gate-постура read_only зафиксирована в коде (commit `bfc1f575`, `tools/mcp-tool-classifier.mjs` +тест); IS9-вет `docs/research/research-vet.md` — все три ПРИНЯТ; связка L17 (research chain). Plan `docs/superpowers/plans/2026-06-14-perplexity-pack-plan3-router-registry.md`. **Прил. Н v2.24 наследие** — knowledge-graph-tooling: §4.59 (#86) graphifyy — 19-я off-phase подкатегория **knowledge-graph-tooling** (skill-based CLI, user-level `~/.claude/skills/graphify/`); §0 счётчик 83→84 (103→104 total), off-phase row +53→+54; cross-ref Pravila v1.43+ / PSR_v1 v3.23+ / CLAUDE.md v2.32+; ADR-017 (KG1–KG5). Граничные правила: KG1 ↔ context7 #60 (внутренний codebase vs внешние SDK-доки), KG2 ↔ Boost #10 (static graph vs runtime queries), KG3 ↔ openapi-mcp #47 (весь проект vs один спек), KG4 ↔ Sentry MCP #34 (структурные связи vs runtime errors), KG5 ↔ adr-kit #36 / mermaid #37 (auto-discovery vs manual authoring). Spike `spike/graphify-2026-05-27`: 3 фазы (docs/ + .claude/ + app/) → ultimate combined граф 6305 узлов / 6753 рёбер / 1009 communities (93% EXTRACTED / 7% INFERRED). Артефакты `graphify-out*/` обязательно gitignored. **Прил. Н v2.23 наследие** — C1 marketing-tooling: §4.49–§4.58 (#74–#83) — 18-я off-phase подкатегория **marketing-tooling** (раздел C1 «Маркетинг и лидогенерация»); §0 счётчик 73→83 (93→103 total), off-phase row +43→+53; cross-ref Pravila v1.42+ / PSR_v1 v3.22+ / CLAUDE.md v2.28+; ADR-015 (MKT1–MKT10). Узлы: #74 marketing plugin (Anthropic, 8 скилов — первичный решатель C1) + #75 marketingskills (вендоренный скил-набор, MIT, 40 скилов — материал, модель UPM) + #76 brand-voice (Anthropic partner Tribe AI, 3 скила — вербальный бренд) + #77 marketing-ru (self-authored project-скил, РФ-специфика C1) + #78 Яндекс.Метрика MCP (`atomkraft/yandex-metrika-mcp`, MIT, READ-ONLY, выбран по IS9-вету из 3 кандидатов) + #79 Яндекс.Директ+Wordstat MCP (`SvechaPVL/yandex-mcp`, MIT — **только Wordstat-инструменты; Direct-мутации НЕ активированы** per IS9) + #80 Telegram MCP (`chigwell/telegram-mcp`, Apache-2.0, выделенный аккаунт) + #81 Postiz (`gitroomhq/postiz-app`, AGPL-3.0, внутренний self-host без модификаций и дистрибуции) + #82 DataForSEO MCP (**DEFERRED** — платный, после Б-1) + #83 Unisender Go MCP (**DEFERRED** — нет готового upstream-сервера, своя обёртка по потребности). IS9-вет выполнен: `docs/security/marketing-vet.md` — все 5 внешних PASS/PASS-with-conditions; VK standalone MCP отброшен (0★, право тратить бюджет). Plan `docs/superpowers/plans/2026-05-22-c1-marketing-tooling.md`. **Прил. Н v2.22 наследие** — pg_audit #28 + pg_anonymizer #29 **установлены на боевом liderra.ru 22.05.2026** (расширения PostgreSQL фазы 3, ранее недоступные на dev native-Windows): §5.1 attribute-блоки #28/#29 + §6 compliance-таблица + §10.4 шаг 2 → ✅ прод; setup-док `docs/security/pgaudit-anonymizer-setup.md`; cross-ref Pravila v1.38 / PSR_v1 v3.21 / CLAUDE.md v2.26; счётчики без изменений (#28/#29 уже в phase-3). **Прил. Н v2.21 наследие** — A8 infosec-tooling install-sync: ZAP #68 + Ward #70 **установлены портативно 21.05.2026** (без choco — Go 1.26.3/Temurin JRE 17 zip с проверкой SHA256, всё в `bin/*` gitignored) → статус PENDING INSTALL снят в §4.43/§4.45 (dormant true→false) + §4.48 уточнён; setup-доки `docs/security/zap-setup.md` + `docs/security/ward-setup.md`; счётчики/состав реестра без изменений (73 формализованных / 93 total); cross-ref Pravila v1.38 / PSR_v1 v3.21 / CLAUDE.md v2.25; план `docs/superpowers/plans/2026-05-21-a8-infosec-tooling.md`. **v2.20 наследие:** Прил. Н v2.20 — A8 infosec-tooling: §4.43 #68 OWASP ZAP (MCP add-on, глубокая боевая DAST — **PENDING INSTALL**: нет Java) + §4.44 #69 Nuclei (CLI-бинарь `bin/nuclei.exe` v3.8.0, известные уязвимости — УСТАНОВЛЕН+verified; CLI не MCP) + §4.45 #70 Ward (CLI Go-бинарь, безопасность настроек Laravel — ЗАМЕНИЛ Enlightn abandoned/L13, **PENDING INSTALL**: нет Go) + §4.46 #71 pdn-152fz-audit + §4.47 #72 threat-model + §4.48 #73 security-go-live (self-authored project-скилы) — 17-я off-phase подкатегория **infosec-tooling**, раздел A8; §0 счётчик 67→73 (87→93 total), off-phase row +37→+43; cross-ref Pravila v1.37 / PSR_v1 v3.20 / CLAUDE.md v2.24; ADR-014 (IS1–IS9). **v2.19 наследие:** A1 backend-tooling: §4.39 #64 Rector + rector-laravel (Composer dev-dep, авто-рефакторинг/version-upgrade, manual/CI постура — dry-run baseline 16 файлов, не блокирующий) + §4.40 #65 PHP Insights (Composer dev-dep, метрики complexity/architecture, on-demand/CI, SyntaxCheck removed — Windows subprocess-краш) + §4.41 #66 laravel-backend-patterns (self-authored project-скил, backend-конвенции Лидерры) + §4.42 #67 NightOwl (self-hosted runtime-телеметрия — **DEFERRED**: native-Windows нет pcntl/posix, OSS без MCP, hosted 152-ФЗ) — 16-я off-phase подкатегория **backend-tooling**, раздел A1; §0 счётчик 63→67 (83→87 total), off-phase row +33→+37; cross-ref Pravila v1.35 / PSR_v1 v3.19 / CLAUDE.md v2.22; ADR-013. **v2.18 наследие:** finance-tooling (C6+C7): §4.36 #61 finance plugin (homed C7, cross-ref C6; US-GAAP частично, SOX not-applicable РФ, warehouse-MCP DEFERRED) + §4.37 #62 billing-audit (C6, self-authored) + §4.38 #63 ru-tax-accounting (C7, self-authored) — 15-я off-phase подкатегория finance-tooling; §0 счётчик 60→63 (80→83 total), off-phase row +30→+33; cross-ref Pravila v1.34 / PSR_v1 v3.18 / CLAUDE.md v2.21; ADR-012. **v2.17 наследие:** applied 9-attribute row template per ADR-011 brain-governance spec §4.1. §0.1 row template +Атрибуты blocks для 58 узлов: §2.4 dump phase-0 (9 nodes #1-9 incl. dormant #1 PG MCP), §3.5 dump phase-1 (9 nodes #10-18 incl. dormant #17 pg_partman), §4.1-§4.4 inline phase-2 (7 nodes #19-23+#24+#30), §5.1 dump phase-3 (5 nodes #25-29), §4.5-§4.17 inline off-phase #31-42 incl. ruflo §4.10 dormant, §4.18-§4.35 inline off-phase #43-60. Структурный реестр для router procedure step 3 (`docs/router-procedure.md` v1.0). Связано: ADR-011, spec/plan brain-governance, Pravila v1.33 / PSR_v1 v3.17 / CLAUDE.md v2.20. **v2.16 наследие:** компакция «мозга» — SYSTEM-аудит 18.05.2026 findings 2/3/6/7: §0 +«КАНОН СЧЁТЧИКОВ» anchor — Прил. Н §0 объявлен единственным источником числовых счётчиков тулчейна, CLAUDE.md / Pravila §13.2 / PSR_v1 R10.1 переведены на пин-ссылку (finding 3 — устранение дрейфа счётчиков); §12 заголовок «вне 35 формализованных позиций» → «вне реестра» — убран stale-счётчик. Счётчики тулчейна без изменений — 60 формализованных + 20 ruflo = 80 total. План `docs/superpowers/plans/2026-05-18-brain-compaction-findings-2-3-6-7.md`. **v2.15 наследие:** ruflo isolation — §4.10 +status block: ruflo отключён от активного потока Claude 18.05.2026 без удаления артефактов; live-связи hooks/MCP/daemon выключены; план реактивации в Pravila §14.9 + memory `feedback_ruflo_isolated.md`; счётчики тулчейна без изменений — 60 формализованных позиций + 20 ruflo plugins = 80 total. Rec2 SYSTEM-аудита 18.05.2026. **v2.14 наследие:** authoring-tooling + dev-support — формализованы 5 Anthropic dev-плагинов уже включённых в `~/.claude/settings.json` user-level: #56 skill-creator / #57 plugin-dev / #58 hookify (новая 13-я off-phase подкатегория authoring-tooling — §4.31/§4.32/§4.33) + #59 claude-code-setup / #60 context7 (новая 14-я off-phase подкатегория dev-support — §4.34/§4.35); §0 счётчик 55→60 (75→80 total), off-phase row +25→+30. hookify HK1 — hard-rule pre-check на коллизию с economy/skill-discipline хуками, закрывает 🔴-конфликт карты `hookify_plugin ↔ hk_pre_claude`. Конфликт-аудит — ADR-010 (SC1–SC3 / PD1–PD3 / HK1–HK3 / CCS1 / CTX1–CTX2). Связано: PSR_v1 v3.13, Pravila v1.28, CLAUDE.md v2.15; план `docs/superpowers/plans/2026-05-18-anthropic-dev-tooling-formalization.md`. **v2.13 наследие:** discovery-tooling — формализован #55 discovery-interview (self-authored project-скил `.claude/skills/discovery-interview/`, два режима — FEATURE интервью заказчика перед фичей + SYSTEM ориентация по мета-слою) как новая 12-я off-phase подкатегория discovery-tooling — §4.30; §0 счётчик 54→55 (74→75 total), off-phase row +24→+25. Триггер-eval 20/20. Конфликт-аудит — ADR-009 DI1–DI6: разрез по слою-источнику с process-analysis #53. Связано: PSR_v1 v3.12, Pravila v1.26, CLAUDE.md v2.13; план `docs/superpowers/plans/2026-05-18-discovery-interview-integration.md`. **v2.12 наследие:** C10 business-process — формализованы #51 operations (Claude Code marketplace-плагин `operations@knowledge-work-plugins` v1.2.0, Anthropic Verified — 9 скилов process-doc/process-optimization/change-request/capacity-plan/compliance-tracking/risk-assessment/runbook/status-report/vendor-review, 0 lifecycle-хуков) + #52 process-modeling + #53 process-analysis (self-authored project-скилы `.claude/skills/`, BPMN-моделирование to-be + as-is discovery) + #54 n8n-mcp (`czlonkowski/n8n-mcp`, MIT, workflow-движок — **DEFERRED**, у портала нет n8n) как новая 11-я off-phase подкатегория business-process — §4.26/§4.27/§4.28/§4.29; §0 счётчик 50→54 (70→74 total), off-phase row +20→+24. Конфликт-аудит — OPS1 (process-doc↔mermaid рендер-SoT), OPS5 (operations generic ↔ self-authored stack-grounded), N8N1 (n8n-mcp DEFERRED — n8n не в стеке портала), LINT1 (self-authored скилы линтуются, не в ignorePaths). Связано: PSR_v1 v3.11, Pravila v1.25, CLAUDE.md v2.12; план `docs/superpowers/plans/2026-05-17-c10-business-process-tooling-integration.md`. **v2.11 наследие:** ADR-006 Decision-4 icon-path boundary mirror — §4.20 +UI3: Lucide-иконки канонически через `lucide-vue-next` + Vuetify `IconSet` (CTO-19), raw-SVG `get_icon` Universal Icons MCP — только для не-Lucide коллекций; источник — ADR-006 поправка 17.05.2026. Счётчики без изменений — 50 формализованных позиций / 70 total. Связано: CLAUDE.md v2.11, ADR-006. **v2.10 наследие:** A11 ml-ai-tooling — формализованы #48 promptfoo (npm devDependency `promptfoo` v0.121.11, MIT — CLI-eval LLM-промптов) + #49 Data Scientist skill (вендоренный сторонний скил `.claude/skills/data-scientist/`, классический ML-воркфлоу, код MIT / контент CC BY 4.0) + #50 Jupyter MCP (`datalayer/jupyter-mcp-server`, исполняемые ноутбуки — **DEFERRED**, требует Python ML-окружения) как новая 10-я off-phase подкатегория ml-ai-tooling — §4.23/§4.24/§4.25; §0 счётчик 47→50 (67→70 total), off-phase row +17→+20. Конфликт-аудит — ML1 (promptfoo платные вызовы → только вручную/CI, никогда в хук), ML3 (Data Scientist skill вендорен → lefthook exclude), ML7 (bus-factor → вендоринг). Связано: PSR_v1 v3.10, Pravila v1.24, CLAUDE.md v2.10; план `docs/superpowers/plans/2026-05-17-a11-ml-ai-tooling-integration.md`. **v2.9 наследие:** A3 integration-tooling — формализован #47 openapi-mcp-server (`@ivotoby/openapi-mcp-server`, npm, v1.14.0, MIT) как 9-я off-phase подкатегория integration-tooling — §4.22; §0 счётчик 46→47 (66→67 total), off-phase row +16→+17. Связано: PSR_v1 v3.9, Pravila v1.23, CLAUDE.md v2.9; план `docs/superpowers/plans/2026-05-17-a3-integration-tooling-integration.md`. **v2.8 наследие:** A4 design-tooling — формализованы #44 Figma MCP (remote MCP, extract-only, DEFERRED — нет Figma-аккаунта) + #45 Universal Icons MCP (`mcp-universal-icons`, MIT) + #46 Design plugin (Anthropic Verified) как новая 8-я off-phase подкатегория design-tooling — §4.19/§4.20/§4.21; §0 счётчик 43→46 (63→66 total), off-phase row +13→+16. Связано: PSR_v1 v3.8, Pravila v1.22, CLAUDE.md v2.8; план `docs/superpowers/plans/2026-05-17-a4-design-tooling-integration.md`. **v2.7 наследие:** A6-расширение — deptrac: формализован #43 deptrac (Composer dev-dependency `deptrac/deptrac` v4.6.1, BSD-3-Clause) как 4-й инструмент off-phase подкатегории architecture-tooling — архитектурный fitness-гейт направления зависимостей / границ слоёв; врезан как lefthook pre-commit job 10; конфиг `app/deptrac.yaml` (13 слоёв), первый прогон 0 нарушений → baseline-файл не нужен (red-green доказан); §4.18 новый; §0 счётчик 42→43 (62→63 total), off-phase row +12→+13. Связано: PSR_v1 v3.7, Pravila v1.21, CLAUDE.md v2.7; план `docs/superpowers/plans/2026-05-17-deptrac-architecture-fitness-integration.md`. **v2.6 наследие:** C9 project-management — формализованы #41 CCPM (vendored standalone skill) + #42 product-management (Anthropic-verified marketplace plugin) как новая 7-я off-phase подкатегория «project-management» — §4.16/§4.17; §0 счётчик 40→42 (60→62 total); off-phase row +10→+12. Связано: PSR_v1 v3.6, Pravila v1.20, CLAUDE.md v2.6; план `docs/superpowers/plans/2026-05-17-c9-project-management-tooling-integration.md`. **v2.5 наследие:** фактическая правка #40 Security Guidance — это **блокирующий** PreToolUse-хук (`sys.exit(2)`), не warn-only: при первом за сессию срабатывании уязвимого паттерна блокирует правку (одноразовый speed-bump, retry проходит). §4.15 переписан, SG1 уточнён, +SG2 — Windows-починка python3-резолва (`python3.exe`-шим). Счётчики не меняются — 40 позиций. Связано: PSR_v1 v3.5, Pravila v1.19, CLAUDE.md v2.5; план `docs/superpowers/plans/2026-05-17-d3-audit-risk-tooling-integration.md`. **v2.4 наследие:** D3 audit-security — формализованы #39 Trail of Bits Skills (субсет 8 audit-плагинов, marketplace `trailofbits`, CC-BY-SA-4.0) + #40 Security Guidance (Anthropic PreToolUse-хук) как новая 6-я off-phase подкатегория «audit-security» — §4.14/§4.15; §0 счётчик 38→40 (58→60 total); off-phase row +8→+10. Связано: PSR_v1 v3.4, Pravila v1.18, CLAUDE.md v2.4; план `docs/superpowers/plans/2026-05-17-d3-audit-risk-tooling-integration.md`. **v2.3 наследие:** A6 architecture-tooling — формализованы 3 инструмента раздела A6 карты «Архитектура систем»: **#36 adr-kit** (ADR-решения + `adr-judge` gate), **#37 mermaid-skill** (C4-диаграммы), **#38 architecture-patterns** (паттерны) — новые §4.11–4.13, новая пятая off-phase подкатегория «architecture-tooling»; §0 счётчик 35→38 формализованных позиций (55→58 total), §0 table row off-phase +5→+8. Связано: PSR_v1 v3.3, Pravila v1.17, CLAUDE.md v2.3; план `docs/superpowers/plans/2026-05-17-a6-architecture-tooling-integration.md`. **v2.2 наследие:** §4.10 реколлаж — ruflo переописан из «entry-point иерархии» в «advisory/automation-подсистему» (декларация приведена к рантайму: рой idle, 0 задач); заголовок §4.10 + «Архитектурная роль» переписаны; §0 table row + «Категории off-phase tools» + «Назначение» обновлены; §13 +v2.2 entry. Связано: Pravila v1.16, PSR_v1 v3.2, CLAUDE.md v2.2; spec `docs/superpowers/specs/2026-05-16-ruflo-hierarchy-factual-recollage-design.md`. **v2.1 наследие:** §4.10 +абзац «Queen trigger»: триггер queen/королева → безусловный route через ruflo Queen (`hive-mind spawn --claude`), explicit hard-rule Pravila §14, enforcement-хук `tools/ruflo-queen-hook.mjs`. Связано: spec/plan `docs/superpowers/{specs,plans}/2026-05-15-ruflo-queen-trigger-and-delegation*`, Pravila v1.15, CLAUDE.md v2.1, PSR_v1 v3.1. **v2.0 наследие:** Ruflo big-bang — major bump: добавлен **orchestration layer (ruflo)** как четвёртая off-phase подкатегория. §0 +ruflo orchestration row: 35 формализованных позиций + 20 ruflo plugins = 55 total; новая §4.10 «Orchestration layer (ruflo)». Связано: spec/plan 2026-05-15, Pravila v1.14, PSR_v1 v3.0, CLAUDE.md v2.0.)
**Предыдущая версия:** 1.17 (13.05.2026 day +1 — формализация retrospective двух off-phase MCP debug-инструментов установленных на feat/claude-automation `6f7e7d7` + `bd4ec48` после merge PR #3 в main `cc5f63b`: §0 счётчик off-phase 3 → 5, итого 33 → 35; §4.8 новый — #34 Sentry MCP; §4.9 новый — #35 Redis MCP. Категория debug-runtime, отдельная от UI-пула.)
**Адресат:** Claude + разработчики проекта Лидерра
**Назначение:** единый источник истины по 84 формализованным позициям тулчейна + 20 ruflo orchestration plugins = 104 total (29 «активных» номеров фаз + 54 off-phase инструментов-резерв в категориях UI-пул, инфраструктура, debug-runtime, architecture-tooling, audit-security, project-management, design-tooling, integration-tooling, ml-ai-tooling, business-process, discovery-tooling, authoring-tooling, dev-support, finance-tooling, backend-tooling, infosec-tooling, marketing-tooling, knowledge-graph-tooling — UPM, 21st, claude-md-management, Sentry MCP, Redis MCP, adr-kit, mermaid-skill, architecture-patterns, Trail of Bits Skills, Security Guidance, CCPM, product-management, deptrac, Figma MCP, Universal Icons MCP, Design plugin, openapi-mcp-server, promptfoo, Data Scientist skill, Jupyter MCP, operations, process-modeling, process-analysis, n8n-mcp, discovery-interview, skill-creator, plugin-dev, hookify, claude-code-setup, context7, finance plugin, billing-audit, ru-tax-accounting, Rector, PHP Insights, laravel-backend-patterns, NightOwl, OWASP ZAP, Nuclei, Ward, pdn-152fz-audit, threat-model, security-go-live, marketing plugin, marketingskills, brand-voice, marketing-ru, Яндекс.Метрика MCP, Яндекс.Директ+Wordstat MCP, Telegram MCP, Postiz, DataForSEO MCP, Unisender Go MCP, graphifyy; +1 заменённый PG MCP исторически; +ruflo advisory/automation-подсистема — 20 plugins, см. §4.10), скиллам Claude Code, MCP-серверам и плагинам, используемым в проекте. Зафиксирован выбор, объяснено, что заменяет что, и в какой фазе вводится каждый инструмент.

> **Связано:**
>
> - `Pravila_raboty_Claude_v1_1.md` v1.11+ — §11 «Superpowers override», §12 «Superpowers hard rule», §12.3 SoT для exclusions, §13 «paired stack + расширенный пул UI-инструментов» + claude-md-management как off-pool, §13.6 hard-rule tier-таблица, §13.9 hard-link на R10 PSR_v1, §13.10 hard-link на R14 PSR_v1, §4.8 «Шифры приложений» (Н занят)
> - `Plugin_stack_rules_v1.md` v2.0+ — координация paired-stack ядра (Superpowers + Frontend Design) + расширенного пула (UPM + 21st Magic MCP) + инфраструктурного плагина (claude-md-management) (R10.1 разбит на 3 блока, R0.4.A SoT cross-ref, R10.4/R14.7 tier-метки, R8 +тай-брейкер FD↔21st, R0.1 scope-метка; R15 motion удалён в v2.0)
> - `CLAUDE.md` (корень репозитория) v1.88+ — оперативная карта инструментов с приоритетом правил (уровень 0 = Pravila §12, уровень 3 = Plugin_stack_rules_v1); §3.3 +#31 UPM +#32 21st +#33 claude-md-management; §5 п.5 свёрнут со ссылкой на PSR_v1 R14; §5 п.11 cross-ref на Pravila §12.3 SoT; §5 п.12 — резерв (motion-runtime denylist снят в v1.88); §6 счётчик 33 (3 off-phase tools)
> - `README_АРХИВ_v8_4.md` v8.4+ — состав архива

**Что нового в v1.16 (12.05.2026):**

- **§9.2 «Motion runtime библиотеки» переформулирован из regulatory denylist в technical guidance.** R15 PSR_v1 снят целиком (v1.7 → v2.0); motion-v / gsap / anime.js / lottie-web / popmotion / @motionone/dom — безусловно разрешены к установке. framer-motion / react-spring остаются как **technical block** — это peerDep на React, не правило проекта. Default motion stack (Vue native + Vuetify + CSS + View Transitions) — guidance, не hard-rule.
- **Cross-refs шапки sync:** PSR_v1 v1.7+ → v2.0+; CLAUDE.md v1.86+ → v1.88+; Pravila v1.10+ → v1.11+.
- **§6 строка «framer-motion ↔ motion-v»** оставлена как historical record v1.4 audited construction (snapshot эпохи, не удаляется при rollback'е).
- **Связано:** PSR_v1 v1.7 → v2.0 (R15 удалено), CLAUDE.md v1.87 → v1.88 (§5 п.12 → резерв, §2 motion stack → guidance), Pravila v1.10 → v1.11.

Через `/claude-md-management:claude-md-improver` + manual Edit.

**Что нового в v1.13 (10.05.2026):**

- **§7 «Source of truth» обновлён с 5-уровневой на 7-уровневую цепочку.** Добавлен `Plugin_stack_rules_v1.md` (PSR_v1) уровнем 3 — координирующий слой между paired-stack ядром (Superpowers + Frontend Design) и расширенным UI-пулом (UPM + 21st). Также явно вынесен Pravila §12 (Superpowers hard rule) уровнем 0 — выше всех остальных параграфов Pravila. Sync с CLAUDE.md §1. Закрывает audit находку «Tooling §7 не упоминает PSR_v1 в иерархии» (1 из 14 находок).
- **§4.7 (новый) — #33 claude-md-management plugin** формализован как off-phase инфраструктурный инструмент. Был фактически включён в `~/.claude/settings.json` (`enabledPlugins.claude-md-management@claude-plugins-official=true`) с момента появления требования CLAUDE.md §5 п.10 «правки CLAUDE.md только через плагин» — но до v1.13 без формализации в реестре. Теперь имеет номер #33 (по аналогии с UPM #31 и 21st #32 в v1.12), при этом в **отдельной категории** (инфраструктурная, не UI) — поэтому не попадает под Pravila §13 расширенного UI-пула и не проходит R6.0/R6.1 фильтр / R14 pipeline. Закрывает audit находку «5-й включённый плагин без номера в реестре».
- **§6 «Конфликты и решения» расширен с 5 до 10 строк.** Добавлены 5 новых конфликтов из PSR_v1 v1.4: (6) UPM ↔ FD на одной фазе, (7) 21st ↔ существующий Vuetify-компонент, (8) 21st ↔ брендовый App*-компонент, (9) framer-motion ↔ motion-v, (10) UPM ↔ 21st на одной фазе. Закрывает audit находку «Tooling §6 застрял на v1.0».
- **§4.6 — settings.json → ~/.claude.json:** уточнено, что API-ключ 21st хранится именно в `~/.claude.json`, **не** в `~/.claude/settings.json` (отдельный файл без секретов). При случайном попадании в репо ротация — через 21st.dev dashboard. Закрывает audit находку «текстовая неточность в комментарии безопасности».
- **§0 сводка обновлена:** добавлена строка «off-phase tools» с 3 инструментами (UPM #31, 21st #32, claude-md-management #33). Итого формализованных позиций: **33** (19/29 активных по фазам + 3 off-phase + 1 заменённый PG MCP исторически).
- **Связано:** Pravila v1.8 → v1.9 (§12.3 SoT, §13.2 +claude-md-management как off-pool, §13.6 hard-rule tier, §0 scope-метка); PSR_v1 v1.4 → v1.5 (R10.1 на 3 блока, R0.4.A SoT cross-ref, R10.4/R14.7 tier-метки, R8 +тай-брейкер, R0.1 scope); CLAUDE.md v1.83 → v1.84 (§1 scope, §3.3 +#33, §5 п.5 свёрнут, §5 п.11 cross-ref, §6 счётчик 33).

**Что было в v1.12 (10.05.2026):**

- **#31 UI UX Pro Max (skill, `nextlevelbuilder/ui-ux-pro-max-skill`) формализован как «инструмент-резерв вне фаз».** Был фактически включён в `~/.claude/settings.json` (`enabledPlugins.ui-ux-pro-max@ui-ux-pro-max-skill=true`) до v1.12 без формализации. Теперь зафиксирован: роль = резерв-библиотека (50+ стилей, 161 палитра, 99 UX-гайдлайнов, 25 типов графиков, 10 стеков); активация — только через PSR_v1 v1.4 R14.3 pipeline (фаза 2 R2 как fallback к FD ИЛИ фаза 1 R2 как «третий вариант» в R12 архитектурном). Никогда не решатель (R10.2 PSR_v1). Не закрывает задачу (R7). Обязательный стек-фильтр R6.0 PSR_v1 (срезать React/Next/Tailwind/shadcn материалы) + hard-override Forest R6.1. См. §4.5 ниже.
- **#32 21st.dev Magic MCP (`magic` MCP-сервер) формализован как «инструмент-резерв вне фаз».** Был фактически подключён в `~/.claude.json` (с API-ключом, npm-пакет `@21st-dev/magic@latest`) до v1.12 без формализации. Tools: `mcp__magic__21st_magic_component_builder`, `_inspiration`, `_refiner`, `logo_search`. Роль = генератор стартовых шаблонов для UI-компонентов, отсутствующих в Vuetify и `resources/js/components/`. По умолчанию выдаёт **React + Tailwind + shadcn** — обязательный полный pipeline R14.4 PSR_v1: pre-check R0.6 (брендовый App*? Vuetify-эквивалент? существующий компонент? — все три «нет» обязательно) → R6.0 фильтр (JSX→Vue SFC, Tailwind→utility-CSS, shadcn→Vuetify) → R6.1 hard-override (палитра/шрифты/иконки → Forest, Lucide) → FD адаптация → возврат в фазу 5 R2 stack-flow. Никогда не решатель. Не закрывает задачу. Pa11y обязателен на deployable (R7). См. §4.6 ниже.
- **Структура §4 обновлена:** добавлены §4.5 «Резерв-библиотека UI — UI UX Pro Max» и §4.6 «Генератор шаблонов — 21st.dev Magic MCP». Оба не привязаны к фазе по тулчейну (post-MVP инструменты-резерв).
- **§9 «Что НЕ ставим» дополнен разделом «Motion runtime библиотеки» (R15 PSR_v1 v1.4):** framer-motion (R15.1 hard-запрет, React-only), motion-v (R15.2 условно по 4 триггерам), gsap, anime.js, react-spring (R15.1-аналог, React-only), lottie-web, popmotion, @motionone/dom — все под R0.6 пункт 11 hard-стоп. Default motion stack: Vue native `<Transition>` + Vuetify transitions + CSS @keyframes + View Transitions API.
- **Сводка §0:** 28 «активных» номеров фаз → 29 номеров фаз (как было в v1.10/v1.11) + 2 формализованных «вне фаз» в v1.12 (UPM + 21st Magic MCP) = **31 формализованных позиций тулчейна** (но активных «по фазе» считаются только 19 из 29 на текущий момент; UPM + 21st — *off-phase tools*).
- **Связано:** Pravila v1.7 → v1.8 (§13 расширен, §13.10 hard-link на R14); CLAUDE.md v1.82 → v1.83 (§3.3 + новые строки, §5 п.5 расширен, §5 п.12 motion-runtime новый); PSR_v1 v1.3 → v1.4 (R6/R6.1/R10/R11/R0.6/R13/R14/R15).

**Что нового в v1.10 (09.05.2026):**

- **#30 Frontend Design plugin (Anthropic) добавлен в фазе 2 (paired stack со Superpowers).** Запрет CLAUDE.md §5 п.5 снят 09.05.2026 по явному решению заказчика. Координация двух плагинов вынесена в `docs/Plugin_stack_rules_v1.md` (10 правил: gate, классификация, фазы UI-фичи, разделение TDD/визуал, ревью по аспекту, стек-фильтр Vue+Vuetify, gate готовности, тай-брейкеры). 8 ранее найденных конфликтов между плагинами закрыты патчами. Установка через `~/.claude/settings.json`: `extraKnownMarketplaces` + `enabledPlugins.frontend-design@anthropics-claude-plugins=true`. Обязательный стек-фильтр (Правило 6 Plugin_stack_rules_v1): Vue 3 + Vuetify 3, отфильтровывать React/Tailwind/shadcn/JSX. A11y технический остаётся за Pa11y (CLAUDE.md §5 п.3); Frontend Design покрывает только a11y-принципы. Активных инструментов фазы 2: 6 → 7. Всего активных: 18 → 19 из 28 → 29 номеров.
- **Структура §4 обновлена:** добавлен §4.4 «Доменный слой UI — Frontend Design plugin». Ранее §4 (фаза 2) состоял из §4.1 Superpowers + §4.2 Frontend-инструменты + §4.3 Histoire. Теперь — §4.1 Superpowers + §4.2 Frontend-инструменты + §4.3 Histoire + §4.4 Frontend Design plugin.

**Что было в v1.6 (08.05.2026 поздний вечер):**

- **#15 squawk v2.51.0 установлен** (npm-wrapper `squawk-cli` + бинарь скопирован в `bin/squawk.exe`, паттерн как у gitleaks/lychee). Конфиг `.squawk.toml` в корне отключает 9 правил: 5 bootstrap-неприменимых (require-timeout-settings, prefer-robust-stmts, require-concurrent-index-creation, constraint-missing-not-valid, adding-foreign-key-constraint) и 4 дизайнных (prefer-identity, prefer-text-field, prefer-bigint-over-int, prefer-bigint-over-smallint). Smoke-test на `db/schema.sql` — 0 issues с конфигом. Pre-commit хук в `lefthook.yml` (job 7) на staged `*.sql`. npm-скрипт `npm run lint:sql`.
- **#16 pgFormatter v5.9 установлен** (Perl-скрипт + lib/ из GitHub Releases распакованы в `bin/pgFormatter/`, запуск через Cygwin Perl 5.42.2 из Git for Windows). **Без pre-commit хука auto-fix** — diff против db/schema.sql 3255 строк (pgFormatter переписывает UPPERCASE→lowercase для типов, плотный одностроковый стиль для колонок, перетасовывает inline-комментарии). Стиль schema.sql ручной (выровненные колонки, ASCII-разделители) — авто-fix недопустим. Доступ через npm-скрипты `npm run format:sql:check` (dry-run + diff) и `npm run format:sql` (пишет в `db/schema.sql.formatted` для review, не перезаписывает source).
- **Активных инструментов фазы 1: 13 из 17.** Установлено в фазе 1: #10 Boost, #11 Pint, #12 Larastan, #13 Roave/SA, #14 IDE Helper, #15 squawk, #16 pgFormatter, #18 Pest 4. **Не применимо**: #17 pg_partman (Windows native стек не имеет PG-расширения, заменён ручным cron'ом). Фаза 1 по тулчейну **закрыта** — следующий триггер (фаза 2) — первый коммит в `resources/js/`.

**Что было в v1.5 (08.05.2026 поздний вечер):**

- **#10 Laravel Boost v2.4.6 установлен ВРУЧНУЮ** (коммит `e04f53b`). Wizard `php artisan boost:install` сломан в обоих режимах на этой машине: интерактив падает на UTF-8 кириллице в пути при рендере `laravel/prompts` multiselect, `--no-interaction` падает в баге L13 `ConfiguresPrompts::multiselectFallback` (null → array_map crash). Manual setup: `app/boost.json` (3 ключа: agents/guidelines/mcp), запись `laravel-boost` в корневом `.mcp.json` (command=php, args=[app/artisan, boost:mcp]), кастомный guideline `app/.ai/guidelines/vuetify.md`. Smoke-test JSON-RPC 2024-11-05 — 9 tools (database-query/schema/connections, application-info, last-error, read-log-entries, search-docs, browser-logs, get-absolute-url). Подробности — memory `feedback_environment.md` п.26.
- **Уточнение к §3.1 п.3 «отключить guidelines»** — избыточно. Boost через `laravel/roster` auto-detect видит установленные пакеты в composer.lock; то, что не установлено (Inertia, Livewire, Tailwind, Filament, Flux UI, Nova, Folio, Volt, Wayfinder, Sail, PHPUnit), не серверится. Список оставлен в §3.1 как **исторический контекст** того, что мы НЕ ставим (CLAUDE.md §5 п.2), но как «отключение» в boost.json не реализуется.
- **Уточнение к §10.2 пути** — кастомные guidelines идут в `app/.ai/guidelines/*.md` (или `*.blade.php`), а не в `resources/boost/guidelines/`. Подтверждено source-кодом `GuidelineComposer::userGuidelineDir = '.ai/guidelines'`.
- **#13 Roave/SecurityAdvisories установлен** (коммит `0eb2f72`). Метапакет `roave/security-advisories:dev-latest` в `require-dev`. Conflict-only — блокирует install версий с известными CVE. На текущем снапшоте — 0 advisories.
- **Активных инструментов фазы 1: 11 из 17** (на момент v1.5; в v1.6 → 13/17 после squawk+pgFormatter). Установлено в фазе 1: #10 Boost, #11 Pint, #12 Larastan, #13 Roave/SA, #14 IDE Helper, #18 Pest 4. Остаются: #15 squawk (Windows binary), #16 pgFormatter (Perl), #17 pg_partman (заменён ручным cron'ом — Windows native стек не имеет PG-расширения, см. project_phase1_strategy).

**Что нового в v1.4 (08.05.2026 поздний вечер):** **Laravel 11 → Laravel 13** в §0 (стек) и §3.2 (фаза 1 backend). Произошло так: при `composer create-project laravel/laravel app` без `^11` Composer подтянул свежайшую — `laravel/framework: ^13.7` (Laravel 13.7, релиз ~Feb 2026). Live-проверка совместимости 5 ключевых плагинов прошла без блокеров: Boost v2.4.6 (composer dry-run резолвит lock без conflict), Larastan v3.9.6 (analyse прошёл с baseline), Pest v4.7.0 (smoke-test 2/2 за 281 ms), barryvdh/laravel-ide-helper v3.7.0 (`ide-helper:generate` создал `_ide_helper.php`), laravel/pint v1.29 (`pint --test` passed). Заказчик 08.05 (поздний вечер) принял Laravel 13 как latest stable. Откат дороговат — `rm -rf app/ && composer create-project laravel/laravel:^11 app && повторить predis/Pest/Pint/Larastan/IDE Helper`. Техдолг: синхронизация narrative ТЗ + `Vybor_oblaka_v8_3.md` + `Админка_SaaS_v8_2.md` под Laravel 13 — отдельная задача для следующих сессий (пока эти документы упоминают Laravel 11 как было). Подробности в [Открытые_вопросы_v8_3.md §3 и блоке v1.17](Открытые_вопросы_v8_3.md).

Установлены 3 dev-инструмента из фазы 1 (Прил. Н #11/#12/#14): laravel/pint v1.29, larastan/larastan v3.9.6 (+ phpstan v2.1.54), barryvdh/laravel-ide-helper v3.7.0. phpstan.neon level 5 + phpstan-baseline.neon (3 ошибки в default scaffold зафиксированы как baseline). composer.json scripts: `composer pint`, `composer pint:test`, `composer stan`, `composer ide-helper`.

**Что было в v1.3 (08.05.2026 поздний вечер):** **Pest 3 → Pest 4** в §3.3 п.18 (тестирование), §6 п.2 (конфликт), §10.1 п.9 (boost:install). Решение: при `composer require pestphp/pest --dev --with-all-dependencies` без `^3` composer подтянул Pest v4.7.0; smoke-test 2/2 на default-тестах Laravel прошёл за 281 ms — backward-compat подтверждён. Бонус Pest 4: browser testing (без Dusk), stress testing, mutation testing v2. Откат дёшев — `composer require pestphp/pest:^3`. Подробности в [Открытые_вопросы_v8_3.md §3](Открытые_вопросы_v8_3.md#3-cto--архитектору) и блоке «Что изменилось в v1.16» там же.

**Что было в v1.2 (08.05.2026 вечер):** **Sail отключён** из allow-list Boost (§3.1 п.2/п.3). Причина: машина — OpenStack-VPS, nested virtualization выключена провайдером, Docker Desktop/WSL2/Hyper-V запустить невозможно (`HypervisorPresent = True`, но guest не получает VT-x). Переход на native-стек: **PostgreSQL 16** (`choco install postgresql16`, Windows-сервис) + **Memurai Developer** (`choco install memurai-developer.install`, Redis 7-совместимый Windows-сервис, free до 1GB). pg_partman/pg_audit/pg_anonymizer на native Windows — ручная сборка/замена; на MVP — заменить ручным cron'ом для партиций и triggers (которые уже в schema v8.5). Подробности в `memory/project_phase1_strategy.md`.

**Что было в v1.1 (08.05.2026):** закрыт CTO-12 — выбран **Pest 3** (не PHPUnit). Обновлены §3.1 п.4 (boost:install), §3.4 (тестирование), §6 п.2 (конфликт Pest↔PHPUnit), §10.1 п.9 (процедура перехода). Обоснование выбора — в [Открытые_вопросы_v8_3.md §3](Открытые_вопросы_v8_3.md#3-cto--архитектору) (Pest dataset'ы для 14 статусов / 34 RLS, architecture testing для закрепления правил Claude, родной для Boost).

**Что было в v1.0:** первая версия 06.05.2026. Зафиксированы 28 активных инструментов в 4 фазах, перечень того, что НЕ ставим (10 пунктов), источники истины для конфигураций, процедура перехода между фазами, особенности Windows + PowerShell.

---

## 0. Сводка

| Фаза | Триггер | Активных к концу фазы | Δ к предыдущей |
|---|---|---|---|
| **0 — сейчас** (документация + 8 HTML-прототипов) | сразу | **9** | +9 |
| **1 — старт Laravel** | `composer create-project laravel/laravel` | **17** | +9 новых, −1 заменённый (PostgreSQL MCP → Laravel Boost) |
| **2 — старт frontend** | первый коммит в `resources/js/` (Vue 3 + Vuetify 3) | **24** | +7 (включая #30 Frontend Design plugin, добавлен post-MVP в v1.10) |
| **3 — pre-production** | ~спринт 12, перед публичным релизом | **29** | +5 |
| **off-phase tools** | по факту включения в `~/.claude/settings.json` / `~/.claude.json` / `.mcp.json` / `.claude/skills/` / `composer.json` / `package.json` | **+57** | #31 UPM (UI-резерв), #32 21st Magic MCP (UI-генератор), #33 claude-md-management (инфраструктура CLAUDE.md edits), #34 Sentry MCP (debug self-hosted Sentry в Yandex Cloud), #35 Redis MCP (debug Memurai/Redis runtime), #36 adr-kit (ADR-решения, architecture-tooling), #37 mermaid-skill (C4-диаграммы), #38 architecture-patterns (паттерны), #39 Trail of Bits Skills (8 audit-плагинов, audit-security), #40 Security Guidance (inline security warn-hook), #41 CCPM (PRD→эпик→issue→код трассируемость, project-management), #42 product-management (product-strategy церемонии, project-management), #43 deptrac (архитектурный fitness-гейт, architecture-tooling), #44 Figma MCP (извлечение дизайн-токенов, design-tooling, DEFERRED), #45 Universal Icons MCP (SVG-иконки, design-tooling), #46 Design plugin (дизайн-критика/UX, design-tooling), #47 openapi-mcp-server (introspection OpenAPI/REST, integration-tooling), #48 promptfoo (CLI-eval LLM-промптов, ml-ai-tooling), #49 Data Scientist skill (классический ML-воркфлоу, ml-ai-tooling), #50 Jupyter MCP (исполняемые ноутбуки, ml-ai-tooling, DEFERRED), #51 operations (документирование/оптимизация/change-mgmt бизнес-процессов, business-process), #52 process-modeling (BPMN-моделирование to-be, business-process), #53 process-analysis (as-is discovery/узкие места, business-process), #54 n8n-mcp (workflow-движок, business-process, DEFERRED), #55 discovery-interview (интервью-discovery FEATURE/SYSTEM, discovery-tooling), #56 skill-creator (конструктор скилов, authoring-tooling), #57 plugin-dev (конструктор плагинов, authoring-tooling), #58 hookify (генератор хуков, authoring-tooling), #59 claude-code-setup (рекомендатель автоматизаций, dev-support), #60 context7 (документация библиотек, dev-support), #61 finance plugin (финансы/бухгалтерия US-GAAP, finance-tooling), #62 billing-audit (денежные инварианты биллинга, finance-tooling), #63 ru-tax-accounting (РСБУ/НК РФ контекст, finance-tooling), #64 Rector (авто-рефакторинг/version-upgrade PHP, backend-tooling), #65 PHP Insights (метрики качества/сложности кода, backend-tooling), #66 laravel-backend-patterns (backend-конвенции Лидерры, backend-tooling), #67 NightOwl (runtime-телеметрия self-hosted, backend-tooling, DEFERRED), #68 OWASP ZAP (глубокая боевая DAST, infosec-tooling, MCP, установлен 21.05), #69 Nuclei (известные уязвимости, infosec-tooling, CLI), #70 Ward (безопасность настроек Laravel, infosec-tooling, CLI, установлен 21.05), #71 pdn-152fz-audit (аудит ПДн/152-ФЗ, infosec-tooling), #72 threat-model (STRIDE угрозы going-public, infosec-tooling), #73 security-go-live (go-live security-gate, infosec-tooling), #74 marketing plugin (первичный решатель C1, marketing-tooling), #75 marketingskills (резерв-библиотека фреймворков, marketing-tooling), #76 brand-voice (вербальный бренд, marketing-tooling), #77 marketing-ru (РФ-специфика маркетинга, marketing-tooling), #78 Яндекс.Метрика MCP (веб-аналитика READ-ONLY, marketing-tooling), #79 Яндекс.Директ+Wordstat MCP (Wordstat only, marketing-tooling), #80 Telegram MCP (постинг/управление каналами, marketing-tooling), #81 Postiz (планировщик соцсетей self-hosted, marketing-tooling), #82 DataForSEO MCP (SEO-данные РФ, marketing-tooling, DEFERRED), #83 Unisender Go MCP (email-рассылки обёртка, marketing-tooling, DEFERRED), #86 graphifyy (knowledge graph портала docs+code, knowledge-graph-tooling), #87 perplexity MCP (веб-разведка/ранжированный ответ sonar, research-tooling), #88 exa MCP (семантическое обнаружение, research-tooling), #89 firecrawl MCP (глубокое чтение/обход, research-tooling) |
| **ruflo advisory/automation-подсистема** (off-phase, post-MVP 2026-05-15) | `npx ruflo@latest init` + `.mcp.json` ruflo entry | **+20 plugins** | `ruflo` v3.7.0-alpha.38+ + 20 plugins (`@claude-flow/*`, IPFS-registry) — advisory/automation-подсистема; orchestration подкатегория off-phase (см. §4.10) |

**Итого формализованных позиций:** 87 (29 активных по фазам + 57 off-phase + 1 заменённый PG MCP исторически) + 20 ruflo orchestration plugins = **107 total**. Полный перечень — §2–§5 (по фазам) + §4.5/§4.6/§4.7/§4.8/§4.9/§4.11/§4.12/§4.13/§4.14/§4.15/§4.16/§4.17/§4.18/§4.19/§4.20/§4.21/§4.22/§4.23/§4.24/§4.25/§4.26/§4.27/§4.28/§4.29/§4.30/§4.31/§4.32/§4.33/§4.34/§4.35/§4.36/§4.37/§4.38/§4.39/§4.40/§4.41/§4.42/§4.43/§4.44/§4.45/§4.46/§4.47/§4.48/§4.49/§4.50/§4.51/§4.52/§4.53/§4.54/§4.55/§4.56/§4.57/§4.58/§4.59/§4.60/§4.61/§4.62 (off-phase) + §4.10 (ruflo orchestration). Карта «когда что использовать» — §7. Что НЕ ставим и почему — §9.

**КАНОН СЧЁТЧИКОВ.** Числовые счётчики формализованных позиций и off-phase подкатегорий тулчейна каноничны здесь — в Прил. Н §0. CLAUDE.md, Pravila §13.2 и PSR_v1 R10.1 ссылаются сюда формулировкой «реестр и счётчики — Tooling Прил. Н §0» и не дублируют числа. Введено SYSTEM-аудитом 18.05.2026 (finding 3) для устранения класса «арифметический дрейф счётчиков» (ловился аудитами v1.85/v1.86).

### §0.1 Row template (v2.17+ — per ADR-011)

Every row §4.X (а также вынесенные блоки §2.4 для phase-0, §3.5 для phase-1 и т.д. — где узлы зафиксированы таблицами, а не отдельными подсекциями) MUST include 9 obligatory attributes in a structured block at the top of the section:

| Attribute | Type | Required | Description |
|---|---|---|---|
| `id` | `#NN` | yes | Unique number (matches Прил. Н TOC) |
| `name` | string | yes | Canonical tool name |
| `kind` | enum | yes | `plugin` / `skill` / `mcp` / `hook` / `vendored-skill` / `composer-dep` / `npm-dep` / `agent` / `binary-dep` |
| `phase` | enum | yes | `0` / `1` / `2` / `3` / `off-phase` |
| `subcategory` | string | optional | Off-phase subcategory (absent for phase-active) |
| `triggers` | string | yes | Keywords/task-types that route to this node |
| `boundaries` | string | yes | ADR-cross-ref OR explicit «no neighbor» |
| `dormant` | boolean | yes | `false` (active) / `true` (artefacts kept, runtime disabled) |
| `last-touched` | ISO date | yes | Date of last registry update |

Block format (markdown table inside the §4.X section, immediately after the section heading):

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #NN | &lt;name&gt; | &lt;kind&gt; | &lt;phase&gt; | &lt;subcat or —&gt; | «&lt;triggers&gt;» | &lt;ADR-NNN or none&gt; | false | 2026-05-19 |

Existing prose follows the table.

**Ключевой принцип фазирования:** не активируем фазу N+1, пока не закрыт триггер фазы N. Без `composer create-project` Boost не работает; без Vuetify-приложения Histoire бесполезен.

---

## 1. Принципы выбора

1. **Один инструмент на задачу.** Если две тулзы делают одно — оставляем одну, явно указываем какую (см. §6 «Конфликты и решения»).
2. **Dev-only для local tooling.** Boost, IDE Helper, Pint, Histoire и т. п. ставятся как `--dev` и не идут в production.
3. **Pre-commit для быстрых проверок, CI для медленных.** gitleaks / markdownlint / Pint — pre-commit. Larastan / Semgrep / Trivy / Pa11y — CI.
4. **Контекст Claude — это ресурс.** Не ставим тулзы, дублирующие моё базовое поведение (Memory MCP, Sequential Thinking MCP).
5. **Phase-gating.** Триггер каждой фазы — конкретное действие в репозитории. До триггера — не ставим.
6. **Дополнение, не замена правил Claude.** Любой плагин уступает в приоритете `Pravila_raboty_Claude_v1_1.md` — см. §7.
7. **Бесплатное предпочтительнее платного при сопоставимом качестве.** Dependabot вместо Snyk; Semgrep CE вместо CodeQL Enterprise.

---

## 2. Фаза 0 — текущая (9 инструментов)

Применяется немедленно. Покрывает работу с документацией (17 файлов в `docs/` + `db/`) и HTML-прототипами (`web/*.html`, 2 из 8 готовы).

### 2.1. MCP-серверы (3)

| # | Инструмент | Установка | Когда использовать | Не использовать когда |
|---|---|---|---|---|
| 1 | **PostgreSQL MCP** (`@modelcontextprotocol/server-postgres`) | `claude mcp add postgres ...` | Валидация `db/schema.sql` запросами к локальной БД (`information_schema`, `\d <table>`, FK-проверки) | На production-БД; после установки Boost (заменяется) |
| 2 | **Playwright MCP** (`@playwright/mcp`) | `claude mcp add playwright ...` | Открыть `web/*.html`, скриншот, проверка интерактива (zxcvbn в 01-login, ApexCharts в 02-dashboard) | Для unit-тестов Vue (это Vitest в фазе 2) |
| 3 | **GitHub MCP** | `claude mcp add github ...` | Issues по Биз-10..16, PR с авто-changelog, привязка коммитов к ID открытых вопросов | С токеном, имеющим `delete_repo` или `admin:org` |

### 2.2. Линтеры документации (4)

| # | Инструмент | Установка | Когда использовать | Конфликт |
|---|---|---|---|---|
| 4 | **markdownlint-cli2** | `npm i -D markdownlint-cli2` | Стиль 17 `.md` файлов (заголовки, таблицы, списки, длина строк) | Не использовать Prettier для `.md` — портит таблицы |
| 5 | **cspell** + словари ru/en + проектный | `npm i -D cspell @cspell/dict-ru_ru @cspell/dict-en_us` | Орфография ru/en + кастомный словарь («Лидерра», «УПД», «РКН», «ГЦК», «КЦ», «Yandex», «Vuetify») | — |
| 6 | **lychee** | `cargo install lychee` или GitHub Releases | Проверка кросс-ссылок между 17 файлами архива (правило §4.7 правил Claude) | Не использовать `markdown-link-check` (lychee быстрее, на Rust) |
| 7 | **Stylelint** + `stylelint-config-standard` `^40.0.0` | `npm i -D stylelint stylelint-config-standard` | Стиль CSS в `<style>` прототипов; в фазе 2 распространяется на Vue SFC | — |

### 2.3. Безопасность (2)

| # | Инструмент | Установка | Когда использовать |
|---|---|---|---|
| 8 | **gitleaks** | GitHub Releases (`gitleaks_<v>_windows_x64.zip`) | Pre-commit hook: поиск телефонов, email, токенов, ИНН, КЭП в diff. Правило §5.2 правил Claude |
| 9 | **Pa11y** | `npm i -D pa11y pa11y-ci` | WCAG 2.1 AA проверка прототипов. Требование брендбука §3.4. Единственный источник истины по a11y во всём проекте |

### 2.4. Атрибуты узлов фазы 0 (per ADR-011)

Структурированные блоки 9-атрибутного шаблона §0.1 для phase-0 узлов #1–#9. Шаблон введён ADR-011 (Task A3 sub-batch 1, 19.05.2026). Существующие таблицы §2.1/§2.2/§2.3 сохраняются как human-readable дескрипция; блоки ниже — machine-friendly реестр атрибутов.

#### #1 PostgreSQL MCP

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #1 | PostgreSQL MCP | mcp | 0 | — | «SQL validation, schema check, dev DB introspection» | none (заменён #10 Laravel Boost в фазе 1 — см. §3.1) | true | 2026-05-19 |

Прим.: dormant=true — узел исторически замещён #10 Boost при переходе в фазу 1; артефакт реестра сохраняется как historic slot (CLAUDE.md §3.1 row #1).

#### #2 Playwright MCP

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #2 | Playwright MCP | mcp | 0 | — | «HTML prototype, screenshot, interaction smoke» | none | false | 2026-05-19 |

#### #3 GitHub MCP

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #3 | GitHub MCP | mcp | 0 | — | «issues, PR, commits, открытые вопросы» | none | false | 2026-05-19 |

#### #4 markdownlint-cli2

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #4 | markdownlint-cli2 | npm-dep | 0 | — | «lint .md, markdown style, заголовки/таблицы» | none | false | 2026-05-19 |

#### #5 cspell

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #5 | cspell | npm-dep | 0 | — | «орфография ru/en, кастомный словарь» | none | false | 2026-05-19 |

#### #6 lychee

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #6 | lychee | binary-dep | 0 | — | «проверка ссылок .md, кросс-ссылки архива» | none | false | 2026-05-19 |

#### #7 Stylelint

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #7 | Stylelint | npm-dep | 0 | — | «CSS lint, Vue SFC style» | none | false | 2026-05-19 |

#### #8 gitleaks

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #8 | gitleaks | binary-dep | 0 | — | «секреты в diff, pre-commit hook» | none | false | 2026-05-19 |

#### #9 Pa11y

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #9 | Pa11y | npm-dep | 0 | — | «a11y WCAG 2.1 AA, прототипы, технический SoT» | none | false | 2026-05-19 |

---

## 3. Фаза 1 — старт Laravel (+9 новых, −1 заменён, итого 17 активных)

**Триггер:** `composer create-project laravel/laravel app` в подпапке проекта.

### 3.1. Главное — замена PostgreSQL MCP на Laravel Boost

| # | Инструмент | Установка | Что заменяет |
|---|---|---|---|
| ~~1~~ → 10 | **Laravel Boost** | `composer require laravel/boost --dev` + `php artisan boost:install` | Заменяет PostgreSQL MCP (#1). Даёт 9 MCP-tools (Application Info, Database Query, Database Schema, Browser Logs, Last Error, Read Log Entries, Get Absolute URL, Search Docs, Database Connections) + guidelines + Documentation API на 17 000+ фрагментов |

**Обязательные настройки при `boost:install`:**

1. `CLAUDE.md` — НЕ перезаписывать. Сохранить уже существующий (см. §7). Слить вручную, если Boost создаст черновик: добавить boost-секции в конец, оставив §1–§7 нашего CLAUDE.md выше.
2. Из 25+ встроенных guidelines оставить только: **Laravel Framework**, **Pint**, **Pennant**, **MCP**. (**Sail убран 08.05.2026 — на текущей машине Docker невозможен из-за отсутствия nested virtualization, см. project_phase1_strategy memory.** Native стек: native PostgreSQL 16 + Memurai Redis-compatible.)
3. Отключить: **Inertia**, **Livewire**, **Tailwind**, **Filament**, **Flux UI**, **Nova**, **Folio**, **Volt**, **Wayfinder**, **Sail** — у нас их нет (Sail отключён 08.05.2026 после обнаружения OpenStack-VPS без nested-virt; native стек = единственный путь).
4. **Pest 4** — выбран (CTO-12 переоткрыт+закрыт 08.05.2026 поздний вечер, см. [Открытые_вопросы_v8_3.md §3](Открытые_вопросы_v8_3.md#3-cto--архитектору)). Отключить guideline PHPUnit, оставить только Pest. composer.json в `app/` уже на `pestphp/pest: ^4.7`.
5. Создать кастомный guideline для **Vuetify 3**: `resources/boost/guidelines/vuetify.blade.php` (см. §10.2).
6. **Запретить production DB connection** — `.env.production` не должен попадать в локальный Boost-конфиг.
7. `.mcp.json` — **в репозиторий** (не в gitignore), чтобы у команды одинаковая конфигурация (расхождение со стандартной рекомендацией Boost'а).

### 3.2. Анализаторы PHP (4)

| # | Инструмент | Установка | Роль |
|---|---|---|---|
| 11 | **Laravel Pint** | `composer require laravel/pint --dev` | Code style PSR-12. Pre-commit hook |
| 12 | **Larastan** (PHPStan для Laravel) | `composer require larastan/larastan --dev` | Статанализ типов, level 8/9. CI-only (медленно для pre-commit) |
| 13 | **Roave/SecurityAdvisories** | `composer require --dev roave/security-advisories:dev-latest` | Превентивная блокировка установки composer-пакетов с известными CVE |
| 14 | **Laravel IDE Helper** | `composer require barryvdh/laravel-ide-helper --dev` | Stubs для IDE (фасады, модели, мета-инфо) |

### 3.3. БД-инструменты (3)

| # | Инструмент | Установка | Роль |
|---|---|---|---|
| 15 | **squawk** | `npm i -g squawk-cli` + копия `~/AppData/Roaming/npm/.../binaries/squawk` → `bin/squawk.exe` (npm-wrapper не находит spawn-target без `.exe` на Windows) | Линтер миграций PostgreSQL — предупреждает о блокирующих ALTER на партиционированных таблицах (`deals`, `supplier_lead_costs`). Конфиг `.squawk.toml` отключает 9 правил (5 bootstrap + 4 дизайнных). Pre-commit hook на staged `*.sql` |
| 16 | **pgFormatter** | `curl -L https://github.com/darold/pgFormatter/archive/refs/tags/v5.9.tar.gz \| tar xz`; копия `pg_format` + `lib/` в `bin/pgFormatter/`; запуск через Cygwin Perl 5.42.2 из Git for Windows | Форматирование SQL. **Только ручной режим** через `npm run format:sql:check` / `npm run format:sql` — без авто-fix хука (diff vs db/schema.sql 3255 строк, ручной стиль не перезаписывается) |
| 17 | **pg_partman** | Расширение PostgreSQL: `CREATE EXTENSION pg_partman` | Автоматическое создание помесячных партиций `deals_YYYY_MM` и `supplier_lead_costs_YYYY_MM` (вместо ручного списка из `db/schema.sql`) |

### 3.4. Тестирование (1)

| # | Инструмент | Установка | Роль |
|---|---|---|---|
| 18 | **Pest 4** | `composer require pestphp/pest --dev --with-all-dependencies` + `vendor/bin/pest --init` | Тесты PHP. Pest 3 → Pest 4 после live-проверки на стеке 08.05.2026 поздний вечер (CTO-12 переоткрыт+закрыт, см. [Открытые_вопросы_v8_3.md §3](Открытые_вопросы_v8_3.md#3-cto--архитектору)). Использовать datasets для параметризации 14 статусов воронки и 34 RLS-политик; architecture testing — для закрепления правил Claude (например, запрет mocks на integration-тестах). Бонус Pest 4: browser testing (без Dusk), stress, mutation v2 |

### 3.5. Атрибуты узлов фазы 1 (per ADR-011)

Структурированный реестр 9-атрибутов для phase-1 нодов #10–#18 (по ADR-011, см. §0.1). #17 pg_partman помечен `dormant: true` — на native Windows-PG расширение недоступно, заменён ручным cron'ом (Artisan-команда `partitions:create-months`, см. CLAUDE.md §6).

#### #10 Laravel Boost

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #10 | Laravel Boost | composer-dep | 1 | — | «SQL, Eloquent, docs Laravel, Roster auto-detect» | replaces #1 PG MCP | false | 2026-05-19 |

#### #11 Laravel Pint

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #11 | Laravel Pint | composer-dep | 1 | — | «PHP code style, форматтер» | none | false | 2026-05-19 |

#### #12 Larastan

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #12 | Larastan | composer-dep | 1 | — | «статанализ PHP, типы» | none | false | 2026-05-19 |

#### #13 Roave/SecurityAdvisories

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #13 | Roave/SecurityAdvisories | composer-dep | 1 | — | «CVE на install» | none | false | 2026-05-19 |

#### #14 Laravel IDE Helper

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #14 | Laravel IDE Helper | composer-dep | 1 | — | «IDE-stubs PHP, @mixin» | none | false | 2026-05-19 |

#### #15 squawk

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #15 | squawk | binary-dep | 1 | — | «лит миграций PostgreSQL» | none | false | 2026-05-19 |

#### #16 pgFormatter

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #16 | pgFormatter | binary-dep | 1 | — | «форматирование SQL» | none | false | 2026-05-19 |

#### #17 pg_partman

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #17 | pg_partman | pg-extension | 1 | — | «партиционирование PG» | replaced by Artisan partitions:create-months (CLAUDE.md §6) | true | 2026-05-19 |

#### #18 Pest

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #18 | Pest | composer-dep | 1 | — | «тесты PHP, browser, stress, mutation v2» | replaces PHPUnit | false | 2026-05-19 |

---

## 4. Фаза 2 — старт frontend (+7 новых, итого 24 активных)

**Триггер:** первый коммит в `resources/js/` или отдельную папку Vue-приложения.

### §4.0 Краткая сводка узлов (auto-generated)

<!-- auto:tooling-registry-summary:begin -->
<!-- This block is auto-generated from docs/registry/nodes.yaml. Do not edit by hand. -->

| ID | Узел | Категория | Статус |
|---|---|---|---|
| #2 | Playwright MCP | phase-0 | active |
| #3 | GitHub MCP | phase-0 | active |
| #4 | markdownlint-cli2 | phase-0 | active |
| #5 | cspell | phase-0 | active |
| #6 | lychee | phase-0 | active |
| #7 | Stylelint | phase-0 | active |
| #8 | gitleaks | phase-0 | active |
| #9 | Pa11y | phase-0 | active |
| #10 | Laravel Boost | phase-1 | active |
| #11 | Laravel Pint | phase-1 | active |
| #12 | Larastan | phase-1 | active |
| #13 | Roave/SecurityAdvisories | phase-1 | active |
| #14 | Laravel IDE Helper | phase-1 | active |
| #15 | squawk | phase-1 | active |
| #16 | pgFormatter | phase-1 | active |
| #17 | pg_partman | phase-1 | dormant |
| #19 | Superpowers v5.1.0 | phase-2 | active |
| #18 | Pest 4 | phase-1 | active |
| #1 | PostgreSQL MCP | phase-0 | historic |
| #20 | Volar | phase-2 | active |
| #21 | vue-tsc | phase-2 | active |
| #22 | ESLint + Prettier + plugin-vue + config-prettier | phase-2 | active |
| #23 | Vitest | phase-2 | active |
| #24 | Histoire | phase-2 | active |
| #25 | Semgrep + Semgrep MCP | phase-3 | active |
| #26 | Trivy | phase-3 | active |
| #27 | GitHub Dependabot | phase-3 | active |
| #28 | pg_audit | phase-3 | active |
| #29 | pg_anonymizer | phase-3 | active |
| #30 | Frontend Design plugin | phase-2 | active |
| #31 | UI UX Pro Max | off-phase | active |
| #32 | 21st.dev Magic MCP | off-phase | active |
| #33 | claude-md-management | off-phase | active |
| #34 | Sentry MCP | off-phase | active |
| #35 | Redis MCP | off-phase | active |
| #36 | adr-kit | off-phase | active |
| #37 | mermaid-skill | off-phase | active |
| #38 | architecture-patterns | off-phase | active |
| #39 | Trail of Bits Skills | off-phase | active |
| #40 | Security Guidance | off-phase | active |
| #41 | CCPM | off-phase | active |
| #42 | product-management | off-phase | active |
| #43 | deptrac | off-phase | active |
| #44 | Figma MCP | off-phase | deferred |
| #45 | Universal Icons MCP | off-phase | active |
| #46 | Design plugin | off-phase | active |
| #47 | openapi-mcp-server | off-phase | active |
| #48 | promptfoo | off-phase | active |
| #49 | Data Scientist skill | off-phase | active |
| #50 | Jupyter MCP | off-phase | deferred |
| #51 | operations | off-phase | active |
| #52 | process-modeling | off-phase | active |
| #53 | process-analysis | off-phase | active |
| #54 | n8n-mcp | off-phase | deferred |
| #55 | discovery-interview | off-phase | active |
| #56 | skill-creator | off-phase | active |
| #57 | plugin-dev | off-phase | active |
| #58 | hookify | off-phase | active |
| #59 | claude-code-setup | off-phase | active |
| #60 | context7 | off-phase | active |
| #61 | finance plugin | off-phase | active |
| #62 | billing-audit | off-phase | active |
| #63 | ru-tax-accounting | off-phase | active |
| #64 | Rector | off-phase | active |
| #65 | PHP Insights | off-phase | active |
| #66 | laravel-backend-patterns | off-phase | active |
| #67 | NightOwl | off-phase | deferred |
| #68 | OWASP ZAP | off-phase | active |
| #69 | Nuclei | off-phase | active |
| #70 | Ward | off-phase | active |
| #71 | pdn-152fz-audit | off-phase | active |
| #72 | threat-model | off-phase | active |
| #73 | security-go-live | off-phase | active |
| #74 | marketing | off-phase | active |
| #75 | marketingskills | off-phase | active |
| #76 | brand-voice | off-phase | active |
| #77 | marketing-ru | off-phase | active |
| #78 | Яндекс.Метрика MCP | off-phase | active |
| #79 | Яндекс.Директ+Wordstat MCP | off-phase | active |
| #80 | Telegram MCP | off-phase | active |
| #81 | Postiz | off-phase | active |
| #82 | DataForSEO MCP | off-phase | deferred |
| #83 | Unisender Go MCP | off-phase | deferred |
| #84 | normative-sync | off-phase | active |
| #85 | prod-deploy-validator | off-phase | active |
| #86 | graphifyy | off-phase | active |
| #87 | perplexity MCP | off-phase | active |
| #88 | exa MCP | off-phase | active |
| #89 | firecrawl MCP | off-phase | active |

<!-- auto:tooling-registry-summary:end -->

### 4.1. Поведенческий слой — Superpowers (полный, hard rule)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #19 | Superpowers | plugin | 2 | — | «TDD, debug, plan, parallel, review, verify, brainstorm, worktree, finishing PR, subagent, writing-skills» | Pravila §12 hard-rule | false | 2026-05-19 |

> **Обновлено 09.05.2026 (v1.9 Прил. Н):** заказчик ввёл **hard rule §12** правил Claude: «всегда в первую очередь пользуешься superpowers. При этом ты не можешь игнорировать и обходить это правило». §9 «Отступления» к §12 не применяется. Карта 14 skills → 14 типов задач — в Pravila §12.2.
>
> **Прежнее (08–09.05.2026):** v1.7 — 3/13 skills с запретами; v1.8 — снятие запретов через §11 override (вариант "A. Полное снятие"). Сейчас (v1.9) — обязательное первоочерёдное использование.

| # | Инструмент | Установка | Состав | Когда использовать |
|---|---|---|---|---|
| 19 | **Superpowers v5.1.0 (все 14 skills)** | Декларативно через `~/.claude/settings.json`: `extraKnownMarketplaces.superpowers-dev` (`{"source":"github","repo":"obra/superpowers"}`) + `enabledPlugins.superpowers@superpowers-dev=true`. Перезапуск Claude Code → плагин подгружается из marketplace в кэш автоматически. `/plugin install` в VSCode-extension недоступен | `brainstorming`, `dispatching-parallel-agents`, `executing-plans`, `finishing-a-development-branch`, `receiving-code-review`, `requesting-code-review`, `subagent-driven-development`, `systematic-debugging`, `test-driven-development`, `using-git-worktrees`, `using-superpowers`, `verification-before-completion`, `writing-plans`, `writing-skills` | TDD биллинга/RLS, разбор инцидентов, двухстадийный review schema.sql, planning-flow для крупных эпиков, parallel agents для независимых задач |

**Снятые ранее запреты (для исторической записи):**

- `brainstorming` — раньше дублировал §4.5 правил Claude. Теперь Pravila §11.1 разрешает override §4.5 при явном вызове skill.
- `writing-plans` + `executing-plans` — раньше дублировали §8.4. Теперь §11.1 разрешает хранить план в формате skill.
- `dispatching-parallel-agents` — раньше конфликтовал с §2.2. Теперь §11.1 разрешает закрытие подзадач без отдельного «закрываем»; **финальные** закрытия открытых вопросов реестра — по-прежнему только заказчиком.
- `using-git-worktrees` — Windows-нестабильность сохраняется как факт среды (см. §11.2 правил), но запрет в правилах снят.

**Что остаётся:** §1 (роль), §3.6 (язык), §5 (ПДн), §7 (финал-закрытие открытых вопросов) — не override-ятся (см. Pravila §11.2).

### 4.2. Frontend-инструменты (4)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #20 | Volar | vscode-ext | 2 | — | «Vue language server (VSCode)» | none | false | 2026-05-19 |
| #21 | vue-tsc | npm-dep | 2 | — | «type-check Vue (CI only)» | none | false | 2026-05-19 |
| #22 | ESLint + Prettier + plugin-vue + config-prettier | npm-dep | 2 | — | «лит JS/Vue, форматтер» | связка (R0.4) | false | 2026-05-19 |
| #23 | Vitest | npm-dep | 2 | — | «тесты Vue, unit/component» | none | false | 2026-05-19 |

| # | Инструмент | Установка | Роль | Конфликт |
|---|---|---|---|---|
| 20 | **Volar** (`Vue.volar`) | VSCode Marketplace | Language server для `.vue` (типы, intellisense, навигация) | — |
| 21 | **vue-tsc** | `npm i -D vue-tsc typescript` | Type-check `.vue` файлов | **Только в CI**, не в редакторе — иначе тормозит Volar |
| 22 | **ESLint + Prettier + eslint-config-prettier + eslint-plugin-vue** (связка, 1 инструмент в учёте) | `npm i -D eslint prettier eslint-config-prettier eslint-plugin-vue` | Линт + форматтер JS/Vue. `eslint-config-prettier` обязательно — отключает в ESLint всё, что делает Prettier. Для `.md` Prettier отключён через `.prettierignore` (markdownlint главный) | Связка ставится только целиком. Без `eslint-config-prettier` — конфликт правил |
| 23 | **Vitest** + `@vue/test-utils` | `npm i -D vitest @vue/test-utils @vitest/ui` | Тесты компонентов. Синтаксис близок к Pest для унификации backend↔frontend | Не использовать Jest — один тест-раннер на проект |

### 4.3. Каталог компонентов (1)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #24 | Histoire | npm-dep | 2 | — | «каталог компонентов, stories» | не Storybook | false | 2026-05-19 |

| # | Инструмент | Установка | Роль | Альтернатива |
|---|---|---|---|---|
| 24 | **Histoire 1.0-beta.1** | `npm i -D --legacy-peer-deps histoire @histoire/plugin-vue` | Каталог Vue-компонентов на базе Vuetify. Передача дизайнеру (Диз-1) и frontend-команде. **Vite 8 несовместимость:** заявлен peerDep `vite ^7`, ставим через `--legacy-peer-deps`; runtime smoke OK (08.05.2026 поздний вечер). При выходе beta.2+ с поддержкой Vite 8 — обновить. Конфиг: `app/histoire.config.ts` + `app/resources/js/histoire.setup.ts` (Vuetify через `defineSetupVue3`) | Не Storybook — он тяжелее, медленнее, ориентирован на React |

### 4.4. Доменный слой UI — Frontend Design plugin (paired со Superpowers)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #30 | Frontend Design plugin | plugin | 2 | — | «UI: компоненты, паттерны, состояния, a11y-принципы» | PSR_v1 R6/R6.1 (paired со Superpowers) | false | 2026-05-19 |

> **Введено 09.05.2026 (v1.10 Прил. Н):** запрет CLAUDE.md §5 п.5 на Frontend Design plugin снят по явному решению заказчика. Координация с #19 Superpowers — через `docs/Plugin_stack_rules_v1.md` (**v1.6, 16 правил R0–R15**; cross-ref bumped в Tooling v1.14, раньше «10 правил» с эпохи v1.0). Парный stack одного приоритетного уровня; между плагинами нет иерархии. См. Pravila §13.

| # | Инструмент | Установка | Состав | Когда использовать |
|---|---|---|---|---|
| 30 | **Frontend Design plugin (Anthropic)** | Декларативно через `~/.claude/settings.json`: `extraKnownMarketplaces.anthropics-claude-plugins` (`{"source":"github","repo":"anthropics/claude-plugins"}` или другой источник, утверждённый Anthropic) + `enabledPlugins.frontend-design@anthropics-claude-plugins=true`. Перезапуск Claude Code → плагин подгружается из marketplace. `/plugin install` в VSCode-extension недоступен — ставится только через settings.json | Доменное знание UI: компоненты, layout, цвет, типография, паттерны, состояния (loading/empty/error), a11y-принципы | Чисто визуальные задачи (палитра, типография, layout-эскиз, выбор паттерна, иконка, состояния) и фазы 2/5/7 UI-фичи (см. Plugin_stack_rules_v1 Правило 2) |

**Обязательный стек-фильтр (Правило 6 Plugin_stack_rules_v1):**

| Что брать (универсально) | Что отфильтровать (стек-зависимо) |
|---|---|
| Принципы (a11y, контраст, фокус, иерархия, spacing-шкала) | Конкретные имена компонентов чужого стека |
| Паттерны (modal-flow, form-validation UX, empty/loading/error states) | Tailwind-классы, shadcn-импорты, JSX (CLAUDE.md §5 п.2) |
| Структуры состояний и переходов | Конкретные библиотеки иконок (у нас Lucide) |
| Цветовые/типографические системы как принципы | Конкретные палитры/шрифты (у нас Forest v8 + Inter/JetBrains Mono) |

Ответ Frontend Design без выполненной адаптации = **неполный ответ**, возвращается в плагин на доработку.

**A11y:** Frontend Design покрывает только **a11y-принципы** (контраст, фокус-порядок, иерархия). **Технический a11y** (DOM-семантика, aria-роли, keyboard) остаётся за Pa11y (CLAUDE.md §5 п.3). Без подмены источника истины.

**Live-отмены (Правило 0.4.B Plugin_stack_rules_v1):**

- «не используй Frontend сейчас» — отключает Frontend Design на текущее действие, Superpowers остаётся.
- «не используй плагины сейчас» — отключает весь stack на текущее действие.

### 4.5. Резерв-библиотека UI — UI UX Pro Max plugin (off-phase tool)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #31 | UI UX Pro Max | plugin | off-phase | UI-pool | «резерв UI, стили, палитры, графики, UX-гайдлайны» | PSR_v1 R14.3 pipeline | false | 2026-05-19 |

> **Введено 10.05.2026 (v1.12 Прил. Н):** формализован как «инструмент-резерв вне фаз». Был фактически включён через `~/.claude/settings.json` ещё с момента активации (до v1.12 — без правил). Координация — **PSR_v1 v1.6+ R10/R11/R14.3** (cross-ref bumped в Tooling v1.14).

| # | Инструмент | Установка | Состав | Когда использовать |
|---|---|---|---|---|
| 31 | **ui-ux-pro-max** (skill, marketplace `nextlevelbuilder/ui-ux-pro-max-skill`) | `~/.claude/settings.json`: `extraKnownMarketplaces.ui-ux-pro-max-skill` (`{"source":"github","repo":"nextlevelbuilder/ui-ux-pro-max-skill"}`) + `enabledPlugins.ui-ux-pro-max@ui-ux-pro-max-skill=true`. Перезапуск Claude Code → плагин подгружается из marketplace в кэш | Резерв-библиотека: 50+ aesthetic-стилей, 161 палитра, 99 UX-гайдлайнов, 25 типов графиков, 161 product type, 57 шрифтовых пар, 10 стеков (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui, HTML/CSS) | (1) Frontend Design выдал «не покрывает» / нужна узкоспецифика (chart-стек, экзотические шрифтовые пары, региональные UX-паттерны); (2) **R12 архитектурное решение** — UPM как источник «третьего варианта» в A/B/C по Pravila §4.5 (R11.5 PSR_v1) |

**Обязательные правила использования (PSR_v1 v1.6+):**

| Правило | Где | Что значит |
|---|---|---|
| **R10.2** «UPM read-only для решений» | R10.1 PSR_v1 | UPM выдаёт **материал** (палитра/паттерн/гайдлайн), решение принимает FD/Superpowers |
| **R10.1** «не параллельно» | R10.1 PSR_v1 | UPM активируется **последовательно**, не одновременно с FD |
| **R6.0** стек-фильтр | R6 PSR_v1 | срезать React/Next/Tailwind/shadcn материалы; оставить Vue + HTML/CSS-уровневые принципы |
| **R6.1** hard-override Forest | R6.1 PSR_v1 | UPM-палитра/шрифты/aesthetic игнорируются; Brandbook v2 Forest приоритетнее |
| **R11.3** запрет инверсии иерархии | R11 PSR_v1 | UPM-палитра НЕ заменяет Brandbook, даже если «выглядит лучше» |
| **R7** не закрывает задачу | R7 PSR_v1 | UPM никогда не закрыватель (нет в списке gate'ов) |
| **R11.5** активация в R12 | R11.5 PSR_v1 | На фазе 1 R2 для архитектурных решений как источник «третьего варианта» |
| **R14.3** место в pipeline | R14.3 PSR_v1 | Подзадача внутри R14 pipeline'а, не самостоятельный flow |

**Live-отмена (R0.4.B PSR_v1):** `/ui-ux-pro-max` — прямой вызов на одно действие (R6.0 фильтр и R6.1 override остаются обязательными).

### 4.6. Генератор шаблонов — 21st.dev Magic MCP (off-phase tool)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #32 | 21st.dev Magic MCP | mcp | off-phase | UI-pool | «генератор UI-шаблонов (LLM-based)» | PSR_v1 R14.4 pipeline + Pa11y mandatory | false | 2026-05-19 |

> **Введено 10.05.2026 (v1.12 Прил. Н):** формализован как «инструмент-резерв вне фаз». Был фактически подключён через `~/.claude.json` (с API-ключом, npm-пакет `@21st-dev/magic@latest`) ещё с момента активации (до v1.12 — без правил). Координация — **PSR_v1 v1.6+ R10/R14.4** (cross-ref bumped в Tooling v1.14).

| # | Инструмент | Установка | Состав | Когда использовать |
|---|---|---|---|---|
| 32 | **21st.dev Magic MCP** (`magic` сервер) | `~/.claude.json` → `mcpServers.magic.command="cmd"` + `args=["/c", "npx", "@21st-dev/magic@latest", "API_KEY=<ключ>"]` (npm wrapper). Tools: `mcp__magic__21st_magic_component_builder`, `_inspiration`, `_refiner`, `logo_search` | Генератор стартовых шаблонов для UI-компонентов (LLM-based, по умолчанию **React + Tailwind + shadcn**) | (1) задача = UI-фича по R1 PSR_v1; (2) нужный паттерн **отсутствует** в Vuetify-наборе и `resources/js/components/`; (3) задача **не попадает** в R0.6 hard-стоп (не брендовый App*, не изменение токенов, не cross-cutting); (4) FD на фазе 2 R2 принял решение «нужен кастомный компонент» |

**Обязательный pipeline R14.4 PSR_v1:**

```
1. Pre-check R0.6 пункты 9–10 (ОБЯЗАТЕЛЬНО):
   - Брендовый App*-компонент? → hard-стоп, R12 архитектурное (3 варианта §4.5)
   - Vuetify-эквивалент существует? → hard-стоп, использовать Vuetify
   - Существующий компонент в resources/js/components/? → hard-стоп, использовать его
   - Если на все три «нет» → продолжить
2. Вызов mcp__magic__21st_magic_component_builder с описанием паттерна
3. Сгенерированный черновик (по умолчанию React + Tailwind + shadcn) → R6.0 фильтр:
   - JSX → Vue SFC template
   - Tailwind classes → Vuetify utility / inline CSS
   - shadcn components → Vuetify-эквивалент
   - React imports/hooks → Vue Composition API
4. → R6.1 hard-override:
   - Палитра → Forest (Teal/Ivory/теало-нуар)
   - Шрифты → Inter / JetBrains Mono
   - Иконки → Lucide
5. → FD адаптирует под фазу 5 R2
6. → возврат в фазу 5 stack-flow
7. Pa11y проход (R7) на deployable артефакт ОБЯЗАТЕЛЕН перед commit
```

**Сгенерированный JSX-черновик НЕ коммитится в `resources/js/` напрямую** — только после полного pipeline'а.

**Запрет дублирования (R14.5):** одна задача = один генератор. UPM и 21st **не запускаются на одной фазе**.

**Live-отмена (R0.4.B PSR_v1):** «вызови magic» / «через 21st» / «дай шаблон через magic» — прямой вызов на одно действие (pre-check R0.6 + R6.0 + R6.1 + FD-адаптация остаются обязательными).

**Безопасность:** API-ключ в `~/.claude.json` в открытом виде. Файл **глобальный, не в репо** (gitleaks ловит при попытке коммита). При случайном попадании именно `~/.claude.json` (где хранится API-ключ; не путать с `~/.claude/settings.json` — отдельный файл без секретов) в репо — немедленно ротировать ключ через 21st.dev dashboard.

### 4.7. Инфраструктурный слой — claude-md-management plugin (off-phase tool)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #33 | claude-md-management | plugin | off-phase | infrastructure | «правки CLAUDE.md, обязательный канал» | CLAUDE.md §5 п.10 + PSR_v1 R10.1 | false | 2026-05-19 |

> **Введено 10.05.2026 (v1.13 Прил. Н):** формализован как «инструмент-резерв вне фаз, инфраструктурная категория». Был фактически включён через `~/.claude/settings.json` (`enabledPlugins.claude-md-management@claude-plugins-official=true`) с момента появления CLAUDE.md §5 п.10 (требование «правки CLAUDE.md только через плагин») — до v1.13 без формализации в реестре. Категория **инфраструктурная**, отличная от UI-пула (UPM/21st) — поэтому отдельная нумерация и не попадает под Pravila §13 (расширенный UI-пул).

| # | Инструмент | Установка | Состав | Когда использовать |
|---|---|---|---|---|
| 33 | **claude-md-management** (skills, marketplace `anthropics/claude-plugins-official`) | `~/.claude/settings.json`: `extraKnownMarketplaces.claude-plugins-official` (`{"source":"github","repo":"anthropics/claude-plugins-official"}`) + `enabledPlugins.claude-md-management@claude-plugins-official=true` | Два skill: `claude-md-improver` (audit + targeted updates CLAUDE.md по `references/quality-criteria.md`), `revise-claude-md` (capture session learnings в CLAUDE.md) | **Обязательно** при любом изменении CLAUDE.md (CLAUDE.md §5 п.10). Прямые `Edit`/`Write` по корневому CLAUDE.md без вызова skill — нарушение §5 п.10 |

**Обязательные правила использования (PSR_v1 v1.6+):**

| Правило | Где | Что значит |
|---|---|---|
| **R10.1** инфраструктурный, не UI | R10.1 PSR_v1 | claude-md-management в **отдельной категории** от UPM/21st; не попадает в R14 pipeline UI-генераторов |
| **R10.2** «инструмент, не решатель» | R10.1 PSR_v1 | Skill выполняет правки **по делегированию** из stack-flow или по явной `/команде` пользователя; не подменяет stack-gate |
| **R0.4.A** не требует gate | R0.4.A PSR_v1 | Тривиальные синки (опечатки, версии, кросс-ссылки) — без stack-gate, но через claude-md-improver (CLAUDE.md §5 п.10) |
| **CLAUDE.md §5 п.10** SoT для интерфейса | CLAUDE.md | Единственный канал правок CLAUDE.md; внутри flow продолжают действовать §4 правил Claude (синхронизация Pravila + Tooling) |

**Live-отмена (R0.4.B PSR_v1):** `/claude-md-management:claude-md-improver` или `/claude-md-management:revise-claude-md` — прямой вызов на одно действие.

**Аналогичные категории (built-in skills Claude Code, не плагины через marketplace):** `review`, `security-review`, `init`, `simplify`, `update-config`, `keybindings-help`, `fewer-permission-prompts`, `loop`, `schedule`, `claude-api`. Активируются по явному `/имя` от пользователя; не входят в `enabledPlugins`. См. PSR_v1 R10.1 блок 2 для полного реестра.

### 4.8. Debug-инструмент Sentry — Sentry MCP (off-phase tool)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #34 | Sentry MCP | mcp | off-phase | debug-runtime | «отладка production runtime errors» | DEFERRED — Sentry instance не задеплоен (pending Б-1); READ-ONLY когда активен | false | 2026-05-23 |

> **Введено 13.05.2026 day +1 (v1.17 Прил. Н):** формализован как «инструмент-резерв вне фаз, debug-категория». Установлен на feat/claude-automation `6f7e7d7` в `.mcp.json`, merged в main через PR #3 (`cc5f63b`); формализован retrospectively в v1.17. Категория **debug-runtime**, отличная от UI-пула (UPM/21st) и инфраструктурного (claude-md-management) — поэтому отдельная нумерация. Pending Sentry instance deployment в Yandex Cloud (зависит от Б-1 ООО registration P0).

| # | Инструмент | Установка | Состав | Когда использовать |
|---|---|---|---|---|
| 34 | **Sentry MCP** (`@sentry/mcp-server@0.33.0+`, official, repo `getsentry/sentry-mcp`, bin `sentry-mcp`) | `.mcp.json`: `mcpServers.sentry.command="npx" args=["-y", "@sentry/mcp-server"] env={SENTRY_URL, SENTRY_AUTH_TOKEN}`. Env vars — через PowerShell User scope (`[Environment]::SetEnvironmentVariable("SENTRY_URL", ..., "User")`). Credentials НЕ commit'ятся (gitleaks gate). | MCP tools: `mcp__sentry__get_issue`, `_list_events`, `_search_errors` (+ другие per @sentry/mcp-server@0.33.0 spec) | (1) production runtime error в self-hosted Sentry → прямой запрос issue details из Claude session; (2) post-incident debug (CLAUDE.md §2: Sentry self-hosted в Yandex Cloud); (3) READ-ONLY usage — scope auth token `org:read`, `project:read`, `event:read` only |

**Обязательные правила использования:**

| Правило | Где | Что значит |
|---|---|---|
| **R10.1** debug-runtime, не UI и не инфраструктура | R10.1 PSR_v1 (v2.1+) | Sentry MCP в **отдельной категории** от UPM/21st и от claude-md-management; не попадает в R14 pipeline UI-генераторов и не модифицирует CLAUDE.md |
| **CLAUDE.md §5 п.4** не commit'ить ПДн/токены | CLAUDE.md | `SENTRY_AUTH_TOKEN` — секрет, НИКОГДА не в репозиторий. Только через PowerShell User scope env или `.env.local` (gitignored) |
| **R7** не закрывает задачу | R7 PSR_v1 | Sentry MCP — источник информации, не gate (не deployable artifact) |
| **Pre-MVP блокер** | — | Sentry instance в Yandex Cloud зависит от Б-1 ООО registration. До deployment — MCP startup fail gracefully (env пустые), tools не enumerable; это OK |

**Live-отмена (R0.4.B PSR_v1):** «не используй sentry-mcp сейчас» — отключает на текущее действие. По умолчанию активен после reload session с непустыми env vars.

**Безопасность:** Token `SENTRY_AUTH_TOKEN` — bearer secret. PowerShell User scope = encrypted per-user (Windows DPAPI). Не shared между пользователями. При утечке — немедленно revoke через Sentry web UI (`Settings → Account → API → Auth Tokens`).

### 4.9. Debug-инструмент Redis — Redis MCP (off-phase tool)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #35 | Redis MCP | mcp | off-phase | debug-runtime | «отладка Redis/Memurai очередей, кэша, Pest-race» | READ-ONLY | false | 2026-05-19 |

> **Введено 13.05.2026 day +1 (v1.17 Прил. Н):** формализован как «инструмент-резерв вне фаз, debug-категория». Установлен на feat/claude-automation `bd4ec48` в `.mcp.json`, merged в main через PR #3 (`cc5f63b`); формализован retrospectively в v1.17. Package `@modelcontextprotocol/server-redis@2025.4.25` **deprecated** по статусу npm («Package no longer supported»), но Anthropic source, рабочий. Post-MVP migration на community alternative (e.g., `@easy-mcps/redis-mcp-server@1.0.8` или `@wenit/redis-mcp-server@1.0.3`) когда подтвердим trust.

**Категории off-phase tools (v2.0):** к трём существующим подкатегориям — **UI-пул** (#31 UPM + #32 21st Magic MCP), **infrastructure** (#33 claude-md-management), **debug-runtime** (#34 Sentry MCP + #35 Redis MCP) — в v2.0 добавлена четвёртая: **orchestration** — ruflo (advisory/automation-подсистема, см. §4.10). Эта подкатегория не нумеруется в #-реестре (ruflo — внешний оркестратор с 20 собственными plugins, не один инструмент в фазовой раскладке).

| # | Инструмент | Установка | Состав | Когда использовать |
|---|---|---|---|---|
| 35 | **Redis MCP** (`@modelcontextprotocol/server-redis@2025.4.25`, deprecated Anthropic source) | `.mcp.json`: `mcpServers.redis.command="npx" args=["-y", "@modelcontextprotocol/server-redis", "redis://localhost:6379"]`. Memurai (Windows Redis 7-совместимый service) running на `localhost:6379` — verified Task 4 (`memurai-cli ping → PONG`). | MCP tools: Redis operations (KEYS, GET, LRANGE, etc.) | (1) debug очередей (`route:supplier:*`); (2) debug кэша (`supplier:session` per quirk 72); (3) debug Pest --parallel race conditions; (4) READ-ONLY usage — НЕ для prod (нет prod пока). Если в будущем prod Redis с auth — отдельный entry `redis-prod` с url через env var |

**Обязательные правила использования:**

| Правило | Где | Что значит |
|---|---|---|
| **R10.1** debug-runtime, не UI и не инфраструктура | R10.1 PSR_v1 (v2.1+) | Redis MCP в той же категории что #34 sentry-mcp |
| **READ-ONLY usage** | соглашение проекта | Никаких `DEL`, `FLUSHDB`, `SET`, `LPUSH` от Claude в runtime debug. Только read-операции. Manual Redis mutations — через `memurai-cli` напрямую заказчиком |
| **Package deprecation** | npm | На startup `npx` emits deprecation warning в stderr. Это **cosmetic**, не functional. При выходе supported alternative (community OR official replacement) — migrate в Tooling v1.18+ |
| **R7** не закрывает задачу | R7 PSR_v1 | Redis MCP — источник информации, не gate |

**Live-отмена (R0.4.B PSR_v1):** «не используй redis-mcp сейчас» — отключает на текущее действие.

**Безопасность:** Локальный Memurai на 6379 **без auth** — это dev-only setup. Если в будущем будут prod Redis с auth — entry `redis-prod` с url через env var `${REDIS_PROD_URL}`, credentials через PowerShell User scope (как Sentry). Сейчас prod нет (зависит от Б-1).

### 4.10. ruflo — advisory/automation-подсистема (off-phase)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| (ruflo) | ruflo (~20 plugins) | plugin-bundle | off-phase | orchestration | «queen / королева» (per Pravila §14) | Pravila §14.9 (dormant 18.05.2026) | true | 2026-05-19 |

> **СТАТУС 18.05.2026: ИЗОЛИРОВАН (dormant).** Заказчик распорядился отрезать ruflo от активного потока, не удаляя артефакты (Rec2 SYSTEM-аудита 18.05.2026). Live-связи отключены: оба `tools/ruflo-*-hook.mjs` сняты из `.claude/settings.json` UserPromptSubmit; `ruflo` MCP-server удалён из `.mcp.json`; PM2 `ruflo-daemon` остановлен (`pm2 delete` + `save --force`, `~/.pm2/dump.pm2` = `[]`); Task Scheduler `PM2-ruflo-daemon` оставлен (идемпотентен). Артефакты сохранены: npm-пакет, файлы хуков, memory `mem_ruflo`, документация. Подробности и план реактивации — Pravila §14.9, memory `feedback_ruflo_isolated.md`. Раздел ниже описывает архитектуру/историю как было до изоляции — для возможной реактивации.

**ruflo** (npm `ruflo` v3.7.0-alpha.38+, MIT, репозиторий `ruvnet/claude-flow` — legacy-имя после rename Jan-2026; plugin-namespace `@claude-flow/*`). 20 plugins (IPFS-registry, CID `QmeXmAdbWVvT84GfDXPD2Vg1HWhiTW2VdZfRLhkS96KkX2`, Phase 1 pre-flight verified), ~210 MCP tools, 60+ specialized agents (Queen-led hierarchy: Raft/Byzantine/Gossip consensus protocols), HNSW vector memory, SONA neural routing.

**Архитектурная роль:** параллельная advisory/automation-подсистема, **не** entry-point. Фактический рантайм (инспекция 15.05.2026): hive-mind idle, 0 задач / 0 раундов консенсуса; Claude-сессии работают напрямую. Реально работают: UserPromptSubmit-хуки `ruflo-queen-hook.mjs` (§14 queen-триггер) и `ruflo-recall-hook.mjs` (memory recall) — слой settings.json; daemon (PM2) и memory — фоновая подсистема вне priority chain; MCP-server (~210 tools) — off-phase инструмент.

**Категория:** off-phase, **orchestration** — четвёртая off-phase подкатегория, отдельная от UI-пула (#31 UPM + #32 21st Magic MCP), infrastructure (#33 claude-md-management), debug-runtime (#34 Sentry MCP + #35 Redis MCP).

**Установка (Phase 2, commit `55c49c9`):** `npx ruflo@latest init --force` scaffold; `.mcp.json` +ruflo entry (7-й MCP server, stdio mode — нет порт-конфликта с playwright/github/laravel-boost/semgrep/sentry/redis); `.gitignore` +21 ruflo runtime paths; `.env.local` cost-budget cap.

**Cost-budget:** $10/день cap через `.env.local` `RUFLO_DAEMON_MAX_USD_PER_DAY=10` (spec §7).

**Runtime state (2026-05-15 afternoon — full activation):** ruflo установлен глобально (`npm i -g ruflo`); MCP server в `.mcp.json` (7-й server, stdio mode). **Daemon ACTIVE** под PM2 (`ruflo-daemon`, 5 workers: map/audit/optimize/consolidate/testgaps); reboot-survival — Windows Task Scheduler `PM2-ruflo-daemon` (`pm2 resurrect` onlogon — ruflo native `install-supervisor` поддерживает только launchd/systemd, pm2-windows-service deprecated/broken non-interactive → fallback). **Hive-mind ACTIVE** — Queen-led (`hive-mind init -t hierarchical-mesh -c byzantine`) + 9 worker-агентов idle. **Memory** — sql.js `.swarm/memory.db` + реальные embeddings `Xenova/all-MiniLM-L6-v2` 384-dim (потребовало sharp/libvips fix: `@xenova/transformers` hard-зависит от `sharp`, prebuilt libvips download timeout'ит — curl tarball в `<npm-cache>/_libvips/` cache). **Известные alpha-bugs:** `ruflo memory store` CLI не персистит между process-invocations (in-memory sql.js не флашится на диск); daemon worker-jitter усиливает частоту Pest quirk 72 (Redis supplier:session race) — рекомендуется `pm2 stop ruflo-daemon` на baseline regression. **$-расход near-zero** — `ruflo doctor` показывает «No API keys found», daemon/agents не делают платных LLM-вызовов; cost-cap `RUFLO_DAEMON_MAX_USD_PER_DAY=10` в `.env.local` + injected в PM2 daemon env как belt. **Verification:** `ruflo doctor` 10 passed / 7 warnings (alpha/optional); Pest --parallel 0 регрессий от ruflo (quirk 72 flake классифицирован `pest-parallel-debugger` агентом — ruflo grep'ом подтверждённо не трогает Redis :6379).

**Queen trigger (2026-05-15):** триггер-слова `queen`/`королева` в промпте → безусловный route задачи через ruflo Queen (`hive-mind spawn --claude`) — explicit hard-rule **Pravila §14**. Enforcement — UserPromptSubmit-хук `tools/ruflo-queen-hook.mjs`. Перед платным спавном — превью + подтверждение (cost-gate). Без триггера нетривиальные задачи — проактивное предложение ruflo-spawn (§14.3). Связано: spec/plan `docs/superpowers/{specs,plans}/2026-05-15-ruflo-queen-trigger-and-delegation*`.

**Plugin discovery риск:** IPFS gateways Pinata + Cloudflare FAILED 2026-05-15; работает только `ipfs.io`. Operational risk #11 (spec §10.3).

**Связано:** spec [superpowers/specs/2026-05-15-ruflo-integration-design.md](superpowers/specs/2026-05-15-ruflo-integration-design.md) (commit `e55572e`+`a68a0a0`), plan [superpowers/plans/2026-05-15-ruflo-big-bang-integration.md](superpowers/plans/2026-05-15-ruflo-big-bang-integration.md) (commit `18c4463`+`9bd1bae`), map fork `automation-graph-ruflo.html` (commit `796d814`, влит в `docs/automation-graph.html` iter4 и удалён `d18b60f`). Реколлаж декларации: spec `docs/superpowers/specs/2026-05-16-ruflo-hierarchy-factual-recollage-design.md`, Pravila v1.16, PSR_v1 v3.2, CLAUDE.md v2.2.

---

### 4.11. adr-kit — Architecture Decision Records (off-phase, architecture-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #36 | adr-kit | plugin | off-phase | architecture-tooling | «архитектурные решения, ADR, enforcement» | adr-judge lefthook job 9 | false | 2026-05-19 |

**adr-kit** (Claude Code plugin, marketplace `rvdbreemen/adr-kit`, plugin `adr-kit@rvdbreemen-adr-kit`, **v0.13.1**, MIT). 8 skills (`/adr-kit:{adr,init,judge,lint,migrate,setup,upgrade,install-hooks}`) + агент `adr-generator`. **0 Claude Code lifecycle-хуков** (verified `claude plugin details`).

**Роль:** инструмент **#36**, раздел A6 карты «Архитектура систем». ADR хранятся в `docs/adr/` (формат Nygard, 7 секций); решения с блоком `## Enforcement` проверяются `adr-judge` на staged-дифе.

**Категория:** off-phase, **architecture-tooling** — пятая off-phase подкатегория (отдельная от UI-пула UPM/21st, infrastructure claude-md-management, debug-runtime Sentry/Redis, orchestration ruflo). Не UI → **не** проходит R6.0/R6.1/R14 PSR_v1. Регулируется PSR_v1 R10.1 Блок 1.

**Интеграция (17.05.2026, ветка `feat/a6-architecture-tooling`):** `init`/`install-hooks` **не запускаются** — git-хук adr-kit конфликтовал бы с lefthook (конфликт-аудит AK1); `adr-judge` вендорен в `tools/adr-judge.py` и врезан как **lefthook pre-commit job 9** (`python -X utf8`, **без `--llm`** → declarative regex, 0 вызовов Claude API, 0 стоимости — AK6). `init` пишет в `CLAUDE.md` → не запускается (AK2 — §5 п.10); awareness-stub = строка реестра CLAUDE.md §3.3 #36.

### 4.12. mermaid-skill — C4 / architecture-диаграммы (off-phase, architecture-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #37 | mermaid-skill | vendored-skill | off-phase | architecture-tooling | «C4, architecture-диаграммы» | none | false | 2026-05-19 |

**mermaid-skill** (`WH-2099/mermaid-skill`, MIT) — standalone-скил, **вендорен** в `.claude/skills/mermaid/` (`SKILL.md` + 30 references вкл. `c4.md`/`architecture.md` + LICENSE). Генерирует Mermaid-исходник 23 типов диаграмм; рендеринга не требует (`mmdc`/Chromium не нужны — Mermaid-блоки рендерит GitHub). 0 плагинов, 0 хуков, 0 marketplace.

**Роль:** инструмент **#37**, раздел A6 — визуализация архитектуры. C4-диаграммы → `docs/architecture/`.

**Категория:** off-phase, architecture-tooling. lefthook-jobs markdownlint+cspell исключают `.claude/skills/mermaid/**` (вендоренные сторонние `.md` — конфликт-аудит MK1; `.markdownlintignore` + `cspell.json` `ignorePaths` для glob-режима `npm run lint:md`/`spell`).

### 4.13. architecture-patterns — справочник паттернов (off-phase, architecture-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #38 | architecture-patterns | plugin | off-phase | architecture-tooling | «справочник архитектурных паттернов» | none | false | 2026-05-19 |

**architecture-patterns** (Claude Code plugin, marketplace `secondsky/claude-skills`, plugin `architecture-patterns@claude-skills`, **v3.3.1**, MIT). 1 skill, 0 агентов, **0 хуков** (verified `claude plugin details`).

**Роль:** инструмент **#38**, раздел A6 — playbook архитектурных паттернов (Clean / Hexagonal / layered architecture, Domain-Driven Design).

**Категория:** off-phase, architecture-tooling. Knowledge-only скил, без машинерии. Регулируется PSR_v1 R10.1 Блок 1.

### 4.14. Trail of Bits Skills — аудит безопасности (off-phase, audit-security)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #39 | Trail of Bits Skills | plugin | off-phase | audit-security | «deep аудит безопасности, diff, supply-chain» | none | false | 2026-05-19 |

**Trail of Bits Skills** (Claude Code marketplace `trailofbits/skills`, имя marketplace `trailofbits`, **CC-BY-SA-4.0**, репутабельный AppSec-вендор). Marketplace из 38 плагинов; в `enabledPlugins` включён курированный субсет **8 плагинов** под раздел D3 «Аудит и управление рисками»: `differential-review`, `audit-context-building`, `supply-chain-risk-auditor`, `insecure-defaults`, `sharp-edges`, `static-analysis`, `variant-analysis`, `agentic-actions-auditor`. Все 8 — skill/agent-плагины, **0 Claude Code lifecycle-хуков** (статически верифицировано по репо — ни у одного нет `hooks/`-папки).

**Роль:** инструмент **#39**, раздел D3 карты «Аудит и управление рисками» — глубокие on-demand аудит-кампании (security-аудит diff, supply-chain риск зависимостей, поиск вариантов уязвимостей по кодбазе).

**Категория:** off-phase, **audit-security** — шестая off-phase подкатегория (отдельная от UI-пула UPM/21st, infrastructure claude-md-management, debug-runtime Sentry/Redis, orchestration ruflo, architecture-tooling adr-kit/mermaid/architecture-patterns). Не UI → **не** проходит R6.0/R6.1/R14 PSR_v1. Регулируется PSR_v1 R10.1 Блок 1.

**Конфликт-аудит интеграции:** TB1 — `static-analysis` пересекается с Semgrep MCP (#25): граница — Semgrep MCP = inline SAST в рутине/CI, ToB = глубокие аудит-кампании on-demand. TB4 — CC-BY-SA-4.0 ShareAlike: остаётся marketplace-плагином (кэш вне репо, не вендорен) → ShareAlike-обязательство не триггерится. `fp-check` исключён из субсета — единственный из 9 рассмотренных с `hooks/`-папкой (lifecycle-хук); цепочка хуков проекта держится минимальной. План `docs/superpowers/plans/2026-05-17-d3-audit-risk-tooling-integration.md`.

### 4.15. Security Guidance — inline-предупреждения уязвимостей (off-phase, audit-security)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #40 | Security Guidance | hook | off-phase | audit-security | «inline-блокировка уязвимых паттернов» | блокирующий PreToolUse (sys.exit 2) | false | 2026-05-19 |

**Security Guidance** (Claude Code plugin, marketplace `anthropics/claude-plugins-official`, plugin `security-guidance@claude-plugins-official`, Anthropic Verified). Один PreToolUse `Write|Edit|MultiEdit`-хук — **блокирующий** (не warn-only): при **первом** за сессию срабатывании уязвимого паттерна в данном файле печатает предупреждение в stderr и завершается `sys.exit(2)` → **блокирует правку**. Пара «файл+правило» пишется в session state-файл `~/.claude/security_warnings_state_<id>.json` — повторная попытка той же правки проходит; это **одноразовый speed-bump**, не безусловный блок. 9 правил: 8 контентных (command/shell injection `child_process.exec`/`os.system`, `eval(`, `new Function`, XSS через `innerHTML`/`document.write`/`dangerouslySetInnerHTML`, `pickle`-десериализация) + 1 path-правило на `.github/workflows/*.yml`. Отключается env `ENABLE_SECURITY_REMINDER=0`.

**Роль:** инструмент **#40**, раздел D3 — real-time inline-напоминание об уязвимостях во время редактирования (дополняет on-demand аудит ToB/Semgrep).

**Категория:** off-phase, audit-security. Регулируется PSR_v1 R10.1 Блок 1.

**Конфликт-аудит интеграции:** SG1 — добавляет 5-й PreToolUse-хук поверх 4 существующих (skill-marker / skill-check / economy-state-guard в `~/.claude/settings.json` + CLAUDE.md-warn в проектном `.claude/settings.json`); хук **блокирующий** (`sys.exit(2)`), но одноразовый per «файл+правило» за сессию — economy/ruflo-цепочка не нарушается (PreToolUse-хуки независимы, SG блокирует только на свой уязвимый паттерн), +~34 мс/правку latency. **SG2 (Windows-починка, 17.05.2026):** bundled `hooks.json` жёстко зовёт интерпретатор `python3`, которого в PATH этой машины нет (есть `python` 3.14.4) → без починки хук не спаунился, SG был инертен. Решено: `python3.exe` (копия `python.exe`) добавлен в каталог установки Python в PATH — кэш плагина не трогается, починка переживает обновления плагина. Verified end-to-end 17.05.2026 (manual smoke → `sys.exit 2` + in-session Write-блокировка). `/security-review` (Anthropic built-in, customized в `.claude/commands/security-review.md` с проектным FP-фильтром — RLS/ПДн/economy-хуки) — D3 #2, не отдельный нумерованный слот (built-in, не installed tool).

**Категории off-phase tools (v2.7):** семь подкатегорий — UI-пул (#31 UPM + #32 21st), infrastructure (#33 claude-md-management), debug-runtime (#34 Sentry + #35 Redis), orchestration (ruflo §4.10), **architecture-tooling (#36 adr-kit + #37 mermaid-skill + #38 architecture-patterns + #43 deptrac)**, **audit-security (#39 Trail of Bits Skills + #40 Security Guidance)**, **project-management (#41 CCPM + #42 product-management)**.

### 4.16. CCPM — Claude Code PM (off-phase, project-management)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #41 | CCPM | vendored-skill | off-phase | project-management | «PRD → эпик → issue → код, dev-проекты» | none | false | 2026-05-19 |

**CCPM** (`automazeio/ccpm`, MIT) — standalone-скил, **вендорен** в `.claude/skills/ccpm/` (`SKILL.md` + `references/` с гайдами + 14 bash-скриптов). **0 Claude Code lifecycle-хуков** (статически верифицировано — нет `hooks/`-папки). Источник: GitHub `automazeio/ccpm`; вендоринг изолирует от upstream-потерь (bus-factor — community-проект — CC1).

**Роль:** инструмент **#41**, раздел C9 карты «Управление проектами». PRD→эпик→GitHub-issue→код с полной трассируемостью через `/pm` flow. PRD/epic хранятся в `.claude/prds/` + `.claude/epics/`. GitHub-issue-backed модель (конфликт-аудит CP3, зафиксировано в ADR-004). Раздел C9 опирается также на reuse: GitHub MCP (Tooling #3) с `projects` toolset для GitHub Projects v2, Superpowers `writing-plans` (execution plan-files), `q-item-add` (управление реестром вопросов).

**Категория:** off-phase, **project-management** — седьмая off-phase подкатегория (отдельная от UI-пула UPM/21st, infrastructure claude-md-management, debug-runtime Sentry/Redis, orchestration ruflo, architecture-tooling adr-kit/mermaid/architecture-patterns, audit-security Trail of Bits Skills/Security Guidance). Не UI → **не** проходит R6.0/R6.1/R14 PSR_v1. Регулируется PSR_v1 R10.1 Блок 1.

**Конфликт-аудит интеграции:** CP2 — граница с Superpowers `writing-plans`: CCPM = PRD/epic/issue трассируемость; `writing-plans` = execution plan-files (разные артефакты, не дублируют). CP3 — GitHub-issue-backed модель зафиксирована в ADR-004 (docs/adr/ADR-004). CP5 — PRD/epic store `.claude/prds/`/`.claude/epics/` исключён из markdownlint/cspell нормального flow (вендорные артефакты, как `.claude/skills/`). Plan `docs/superpowers/plans/2026-05-17-c9-project-management-tooling-integration.md`.

### 4.17. product-management — Anthropic product-strategy plugin (off-phase, project-management)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #42 | product-management | plugin | off-phase | project-management | «PRD, роадмап, метрики, продуктовые церемонии» | none | false | 2026-05-19 |

**product-management** (Claude Code plugin, marketplace `anthropics/knowledge-work-plugins`, plugin `product-management@knowledge-work-plugins`, **Anthropic Verified**). Команды: `/write-spec` (PRD), `/roadmap-update`, `/stakeholder-update`, `/synthesize-research`, `/competitive-brief`, `/metrics-review`. **0 Claude Code lifecycle-хуков** (только команды, не хуки).

**Роль:** инструмент **#42**, раздел C9 — product-strategy церемонии (problem→spec, roadmap, stakeholder updates, research synthesis, competitive analysis, metrics review). Установлен в user-scope (`claude plugin install product-management@knowledge-work-plugins`).

**Категория:** off-phase, project-management. Регулируется PSR_v1 R10.1 Блок 1.

**Конфликт-аудит интеграции:** PG3 — граница с CCPM `/write-spec` vs CCPM PRD: product-management PRD = product-strategy-уровень (problem→spec, roadmap-aligned); CCPM PRD = engineering epic→issue→code трассируемость. Разный altitude — не дублируют. Plan `docs/superpowers/plans/2026-05-17-c9-project-management-tooling-integration.md`.

### 4.18. deptrac — архитектурный fitness-гейт (off-phase, architecture-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #43 | deptrac | composer-dep | off-phase | architecture-tooling | «направление зависимостей, границы слоёв» | lefthook job 10 | false | 2026-05-19 |

**deptrac** (`deptrac/deptrac`, Composer dev-dependency, **v4.6.1**, BSD-3-Clause; ex-`qossmic/deptrac` — репозиторий переехал на `deptrac/deptrac` после архивации старого, фев-2025). PHP-инструмент статического анализа: парсит `App\`-исходники в именованные слои и валидирует направление зависимостей между ними. **0 Claude Code lifecycle-хуков** (CLI-инструмент); чистый PHP, **0 вызовов LLM** — детерминированный AST-анализ (принцип AK6, как `adr-judge`).

**Роль:** инструмент **#43**, раздел A6 карты «Архитектура систем» — четвёртый инструмент architecture-tooling. Закрывает A6-пробелы «контроль соответствия архитектуре (conformance/fitness)» + «контроль направления зависимостей / границ слоёв». Конфиг `app/deptrac.yaml` — 13 слоёв (Controller / Service / Model / Job / Console / Repository / Mail / Request / Resource / Middleware / Rule / Exception / Provider) + консервативный ruleset (запрещает только inward/upward-нарушающие направления). Первый прогон: **0 нарушений** — кодовая база уже конформна (481 allowed cross-layer deps, 977 uncovered framework-ссылок) → baseline-файл не нужен. Врезан как **lefthook pre-commit job 10** (`php vendor/bin/deptrac analyse`, `root: app/`, glob `app/**/*.php`). Mermaidjs-форматтер генерирует code-derived C4-component-диаграмму (`docs/architecture/c4-component-layers.md` — дрейфовать не может, выводится из кода).

**Категория:** off-phase, architecture-tooling — четвёртый инструмент пятой off-phase подкатегории (#36 adr-kit + #37 mermaid-skill + #38 architecture-patterns + #43 deptrac). Не UI → **не** проходит R6.0/R6.1/R14 PSR_v1. Регулируется PSR_v1 R10.1 Блок 1.

**Конфликт-аудит интеграции:** DT1 — composer dev-dep, резолвер чист (6 symfony-7.4 пакетов, 0 security advisories) → PHAR-fallback не понадобился. DT3 — headline-риск «pre-existing violations требуют baseline» **не материализовался**: 0 нарушений на текущей кодовой базе (red-green доказан — намеренное Model→Service помечается `DependsOnDisallowedLayer`, exit 1). DT4 — граница с Larastan (#12): Larastan = типовые баги (PHPStan), deptrac = граф слоёв — разные задачи (§5 п.6 соблюдён). DT5 — граница с `adr-judge` (#36): adr-judge = декларативный regex на ADR `## Enforcement`, deptrac = AST-граф слоёв — комплементарны. Решение зафиксировано в ADR-005. План `docs/superpowers/plans/2026-05-17-deptrac-architecture-fitness-integration.md`.

### 4.19. Figma MCP — извлечение дизайн-токенов из источника (off-phase, design-tooling) — DEFERRED

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #44 | Figma MCP | mcp | off-phase | design-tooling | «извлечение дизайн-токенов из Figma» | DEFERRED — нет Figma-аккаунта | false | 2026-05-19 |

**Figma MCP** (официальный remote MCP-сервер Figma, `https://mcp.figma.com/mcp`, HTTP-транспорт, OAuth; интеграция Figma↔Claude Code анонсирована фев-2026). Извлекает дизайн-данные и токены/variables (`get_variable_defs` — цвет/spacing/типографика) напрямую из Figma-файла.

**Статус: DEFERRED** — у проекта нет Figma-аккаунта (FM2-спайк 17.05.2026: дизайн-источник Лидерры — статический handoff Платона, не Figma-файл; Диз-1 закрыт handoff'ом). Не установлен. Регистрируется как deferred-pending (прецедент — Sentry MCP #34 «pending Б-1»); активируется при появлении Figma-аккаунта + файла.

**Роль:** инструмент **#44**, раздел A4 карты «Дизайн (UI/UX, графика, бренд)». Закрывает пробел «бренд-токены / живой дизайн-источник». **Extract-only** (ADR-006 решение 1): code-generation Figma MCP НЕ используется — Frontend Design #30 остаётся единственным UI-решателем (PSR_v1 R10.2).

**Категория:** off-phase, design-tooling — первый из трёх инструментов восьмой off-phase подкатегории. Не UI-решатель → **не** проходит R6.0/R6.1/R14 PSR_v1. Регулируется PSR_v1 R10.1 Блок 3 (MCP-сервер). При активации — entry в `.mcp.json` (HTTP-транспорт; OAuth, без репо-секрета — FM3).

**Конфликт-аудит интеграции:** FM1 — code-gen Figma MCP дублировал бы FD #30 → extract-only role (ADR-006). FM2 — нет Figma-файла → DEFERRED. FM4 — Figma MCP по умолчанию генерит React/Tailwind → R6.0-фильтр при потреблении любого материала. План `docs/superpowers/plans/2026-05-17-a4-design-tooling-integration.md`.

### 4.20. Universal Icons MCP — поиск/вставка SVG-иконок (off-phase, design-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #45 | Universal Icons MCP | mcp | off-phase | design-tooling | «SVG-иконки non-Lucide коллекции» | ADR-006 Decision-4 (Lucide → lucide-vue-next) | false | 2026-05-19 |

**Universal Icons MCP** (`mcp-universal-icons`, npm, `awssat`, **MIT**; stdio MCP-сервер, `npx -y mcp-universal-icons`). 60k+ SVG-иконок из 10 коллекций, включая **Lucide** (брендовый icon-set проекта, CTO-19). Tools: `search_icons` (fuzzy), `get_icon` (raw SVG), `health_check`.

**Роль:** инструмент **#45**, раздел A4. Закрывает пробел «графика/иконки». SVG-вывод **framework-neutral** по умолчанию — НЕ запрашивать `jsx`/Tailwind-формат (R6.0). Установлен в `.mcp.json` 17.05.2026.

**Категория:** off-phase, design-tooling. Не UI-решатель → **не** проходит R6.0/R6.1/R14. Регулируется PSR_v1 R10.1 Блок 3 (MCP-сервер).

**Конфликт-аудит интеграции:** UI1 — иконки = asset-примитив (материал); FD #30 решает какую/куда, MCP только отдаёт SVG (R10.2) — пересечения нет. UI2 (ADR-006) — Universal Icons = UI-иконки; 21st `logo_search` #32 = бренд-логотипы — разные задачи, оба сохранены. UI3 (ADR-006 Decision 4, поправка 17.05.2026) — Lucide-иконки: канонический путь — `lucide-vue-next` + Vuetify `IconSet` (CTO-19); raw-SVG `get_icon` — только для не-Lucide коллекций (Heroicons/Tabler/Phosphor), SVG оборачивается в Vue-компонент, не инлайнится в обход icon-system. CC1 — single-maintainer репозиторий; MIT, легко заменяем (`iconify-mcp-server` — drop-in). План `docs/superpowers/plans/2026-05-17-a4-design-tooling-integration.md`.

### 4.21. Design plugin — дизайн-критика и UX (off-phase, design-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #46 | Design plugin | plugin | off-phase | design-tooling | «дизайн-критика, UX-копирайт, research synthesis» | pre-code; Pa11y остаётся a11y SoT | false | 2026-05-19 |

**Design plugin** (`design@knowledge-work-plugins`, marketplace `anthropics/knowledge-work-plugins`, **Anthropic Verified**). Возможности: Design Critique (ревью макетов на usability + consistency design-system), Design System Management, Accessibility Audit (WCAG 2.1 AA — дизайн-уровень), UX Writing (микрокопирайт), Research Synthesis, Dev Handoff (спеки «exploration → pixel-perfect», pre-code).

**Роль:** инструмент **#46**, раздел A4. Закрывает пробел «design-review / визуальный аудит». **Не дублирует FD #30** — официальное разграничение Anthropic: Design = ревью/планирование, Frontend Design = генерация кода.

**Категория:** off-phase, design-tooling. Review-инструмент (код не генерирует) → R6.0 не нужен, вне R14. Регулируется PSR_v1 R10.1 Блок 1 (marketplace-плагин).

**Конфликт-аудит интеграции:** DP1 (ADR-006 решение 2) — a11y-аудит Design plugin = дизайн-уровень, pre-code; Pa11y остаётся техническим a11y SoT (CLAUDE.md §5 п.3). DP2 (ADR-006 решение 3) — Design Critique = фаза 1 R2 (pre-code), не фаза-8 ревью; не подменяет `superpowers:requesting-code-review`. DP4 — наличие lifecycle-хуков проверяется при установке плагина. План `docs/superpowers/plans/2026-05-17-a4-design-tooling-integration.md`.

### 4.22. openapi-mcp-server — introspection OpenAPI/REST API (off-phase, integration-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #47 | openapi-mcp-server | mcp | off-phase | integration-tooling | «introspection OpenAPI/REST-спек» | READ-ONLY | false | 2026-05-19 |

**Пакет:** `@ivotoby/openapi-mcp-server` (npm, v1.14.0, MIT, репозиторий `ivo-toby/mcp-openapi-server`), stdio MCP, server `openapi` в `.mcp.json`, tools `mcp__openapi__*`.

**Категория:** off-phase, **integration-tooling** — 9-я off-phase подкатегория (после UI-пула / infrastructure / debug-runtime / orchestration / architecture-tooling / audit-security / project-management / design-tooling). Раздел A3 карты «Программирование — интеграции (API, вебхуки)».

**Назначение:** отдаёт OpenAPI-спеку как MCP-ресурс/тулы; introspection своей и чужих API при интеграционной разработке. READ-ONLY.

**Роль:** инструмент **#47**, раздел A3. Закрывает пробел «introspection API-спеки при интеграционной разработке». **Парный узел карты:** `api-docs` agent (claude-flow) — генератор OpenAPI-спеки; узел карты A3 без отдельного Tooling-номера (sub-агент, реестр — plugin-grain). Установлен в `.mcp.json` 17.05.2026.

**Координация:** PSR_v1 R10.1 Блок 3 (MCP-серверы). Не UI → **не** trigger'ит R6.0/R6.1, вне R14 pipeline.

**Статус установки:** verified — smoke `npx -y @ivotoby/openapi-mcp-server --help` отработал на native-Windows без ошибок.

### 4.23. promptfoo — eval LLM-промптов (off-phase, ml-ai-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #48 | promptfoo | npm-dep | off-phase | ml-ai-tooling | «тестирование LLM-промптов, eval» | только вручную/CI, никогда в хук | false | 2026-05-19 |

**Пакет:** `promptfoo` (npm devDependency в корневом `package.json`, v0.121.11, MIT — OpenAI-owned, остаётся OSS). CLI: `npx promptfoo`; конфиг `promptfooconfig.yaml`.

**Категория:** off-phase, **ml-ai-tooling** — 10-я off-phase подкатегория (после UI-пула / infrastructure / debug-runtime / orchestration / architecture-tooling / audit-security / project-management / design-tooling / integration-tooling). Раздел A11 карты «ML / AI-разработка».

**Назначение:** тест-сюита для LLM-промптов/агентов — ассерты (`equals`/`contains`/`llm-rubric`/cost/latency), регрессия, model comparison, red-teaming. Seed-пример — `docs/ml/promptfoo-example/`.

**Роль:** инструмент **#48**, раздел A11 (подкатегория LLM-интеграция). Закрывает пробел «тестирование LLM-промптов при разработке AI-фич».

**Конфликт-аудит (ML1):** promptfoo делает **платные** Anthropic API-вызовы → запуск только вручную / в CI (`npm run eval:llm`), **никогда** в lefthook-job / git-хук. API-ключ `ANTHROPIC_API_KEY` через env (PowerShell User scope), не коммитится. **ML2:** red-team promptfoo тестирует промпты — не дублирует D3 ToB/Semgrep (SAST кода). **Footprint-note:** promptfoo тяжёлый (~1090 транзитивных пакетов, нативный `better-sqlite3` — prebuilt-бинарник; 7 high-severity npm-audit в dev-дереве — dev-only, в app не поставляется).

**Координация:** PSR_v1 R10.1 Блок 1 note (v3.10). Не UI → вне R6.0/R6.1/R14.

**Статус установки:** verified — `promptfoo validate` на seed-конфиге → «Configuration is valid» (без платного вызова).

### 4.24. Data Scientist skill — классический ML-воркфлоу (off-phase, ml-ai-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #49 | Data Scientist skill | vendored-skill | off-phase | ml-ai-tooling | «классический ML-воркфлоу» | none | false | 2026-05-19 |

**Источник:** вендоренный сторонний скил в `.claude/skills/data-scientist/SKILL.md` (`sickn33/antigravity-awesome-skills`; код MIT, контент **CC BY 4.0** — атрибуция в footer SKILL.md). Не через marketplace, не в `enabledPlugins` — паттерн mermaid-skill/CCPM.

**Категория:** off-phase, ml-ai-tooling. Раздел A11 карты.

**Назначение:** knowledge-only скил классического ML-воркфлоу — бизнес-задача → ML-задача, выбор алгоритма (Linear Regression … XGBoost), feature engineering, оценка модели, эксперимент-трекинг, A/B-анализ.

**Роль:** инструмент **#49**, раздел A11 (подкатегория классический ML). lefthook markdownlint+cspell исключают `.claude/skills/data-scientist/**` (вендоренный сторонний `.md` — конфликт-аудит ML3; `lefthook.yml` job-`exclude` + `.markdownlintignore` + `cspell.json` `ignorePaths`).

**Координация:** PSR_v1 R10.1 Блок 1 note (v3.10). Не UI → вне R6.0/R6.1/R14. Bus-factor (community-проект) митигирован вендорингом — ML7.

### 4.25. Jupyter MCP — исполняемые ноутбуки (off-phase, ml-ai-tooling) — DEFERRED

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #50 | Jupyter MCP | mcp | off-phase | ml-ai-tooling | «исполняемые Jupyter-ноутбуки» | DEFERRED — нет Python ML-окружения | false | 2026-05-19 |

**Пакет:** `datalayer/jupyter-mcp-server` — stdio MCP. **DEFERRED — НЕ установлен.**

**Категория:** off-phase, ml-ai-tooling. Раздел A11 карты.

**Назначение:** исполняемые Jupyter-ноутбуки (классический ML: реальное обучение моделей — вставка/прогон ячеек, чтение вывода, графики).

**Роль:** инструмент **#50**, раздел A11. **DEFERRED** (как Figma MCP #44): требует Python ML-окружения (pandas/scikit-learn/Jupyter), которого на native-Windows машине нет (политика минимального рантайма — без Docker), и нет конкретной модели для обучения. Зарегистрирован как pending-слот; устанавливается отдельной severable-задачей при появлении модели (см. «Deferred Task» в плане A11). При установке — entry в `.mcp.json`, узел `jupyter_mcp` на карте.

**Координация:** PSR_v1 R10.1 Блок 3 (MCP-серверы). Не UI → вне R6/R14.

### 4.26. operations — бизнес-процессы (off-phase, business-process)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #51 | operations | plugin | off-phase | business-process | «документирование/оптимизация бизнес-процессов» | none | false | 2026-05-19 |

**Плагин:** `operations@knowledge-work-plugins` v1.2.0 (marketplace `anthropics/knowledge-work-plugins` — тот же, что #42 product-management / #46 design), **Anthropic Verified**. Skills-only — 9 скилов (`process-doc`, `process-optimization`, `change-request`, `capacity-plan`, `compliance-tracking`, `risk-assessment`, `runbook`, `status-report`, `vendor-review`), **0 lifecycle-хуков** (нет `hooks/` / `commands/` директорий).

**Категория:** off-phase, **business-process** — 11-я off-phase подкатегория (после UI-пула / infrastructure / debug-runtime / orchestration / architecture-tooling / audit-security / project-management / design-tooling / integration-tooling / ml-ai-tooling). Раздел C10 карты «Бизнес-процессы (общее)».

**Назначение:** документирование бизнес-процессов (`process-doc`), оптимизация (`process-optimization`), change-management (`change-request`), capacity-планирование (`capacity-plan`), плюс compliance/risk/runbook/status/vendor-review.

**Роль:** инструмент **#51**, раздел C10. Закрывает срез «документирование + оптимизация процессов».

**Конфликт-аудит:** OPS1 — `process-doc` выдаёт Mermaid-исходник, рендер делегируется скилу `mermaid` #37 (рендер-SoT). OPS2 — `capacity-plan` (кросс-функц. БП-ёмкость) ≠ product-management `/sprint-planning` (dev-спринты). OPS3 — `change-request` (изменение БП) ≠ adr-kit ADR ≠ claude-md-management (правка нормативки). OPS5 — operations = generic stack-agnostic методология; self-authored process-modeling/process-analysis покрывают то, что generic-скилы структурно не могут (формальный BPMN 2.0 + Лидерра-code-grounded discovery). Установлен 17.05.2026.

**Координация:** PSR_v1 R10.1 Блок 1 (marketplace-плагин). Не UI → вне R6.0/R6.1/R14.

### 4.27. process-modeling — моделирование бизнес-процессов (off-phase, business-process)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #52 | process-modeling | skill | off-phase | business-process | «моделирование to-be процесса (BPMN 2.0)» | self-authored project skill | false | 2026-05-19 |

**Источник:** self-authored standalone project-скил в `.claude/skills/process-modeling/` (`SKILL.md` + `references/bpmn.md`). Не вендоренный сторонний — свой; **линтуется** как остальные project-скилы (НЕ в `cspell.json` `ignorePaths` / `.markdownlintignore` — конфликт-аудит LINT1).

**Категория:** off-phase, business-process. Раздел C10 карты.

**Назначение:** проектирование to-be модели процесса — BPMN 2.0 (пулы/дорожки/гейтвеи/события), карты процессов, customer-journey / value-stream, RACI-матрицы, state-машины.

**Роль:** инструмент **#52**, раздел C10 (срез «моделирование»). Рендер диаграмм делегирует скилу `mermaid` #37 (конфликт-аудит BPMN1 — mermaid рендер-SoT; process-modeling даёт нотацию/методологию, сам не рисует).

**Координация:** PSR_v1 R10.1 Блок 1 note (self-authored project-скил). Не UI → вне R6.0/R6.1/R14.

### 4.28. process-analysis — анализ бизнес-процессов (off-phase, business-process)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #53 | process-analysis | skill | off-phase | business-process | «анализ as-is процесса (discovery из кода)» | self-authored project skill; ADR-009 граница с #55 | false | 2026-05-19 |

**Источник:** self-authored standalone project-скил в `.claude/skills/process-analysis/` (`SKILL.md` + `references/discovery.md`). Свой, не вендоренный; **линтуется** (LINT1).

**Категория:** off-phase, business-process. Раздел C10 карты.

**Назначение:** вскрытие as-is процесса — process discovery (реконструкция фактического процесса из кода Laravel: routes/jobs/`audit_*` таблицы), поиск узких мест, трассировка требование→процесс, метрики/KPI процесса.

**Роль:** инструмент **#53**, раздел C10 (срез «анализ и оптимизация»). Парный скил к process-modeling (тот проектирует to-be — этот вскрывает as-is).

**Конфликт-аудит (PA1):** process-analysis ищет **процессные** узкие места; runtime/код-производительность — `perf-analyzer` / скил `analysis:bottleneck-detect`. Generic-методология оптимизации — operations `process-optimization` (OPS5).

**Координация:** PSR_v1 R10.1 Блок 1 note (self-authored project-скил). Не UI → вне R6.0/R6.1/R14.

### 4.29. n8n-mcp — workflow-движок (off-phase, business-process) — DEFERRED

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #54 | n8n-mcp | mcp | off-phase | business-process | «workflow-движок автоматизации» | DEFERRED — n8n не в стеке | false | 2026-05-19 |

**Пакет:** `czlonkowski/n8n-mcp` (MIT) — stdio MCP, workflow-automation сервер платформы n8n. **DEFERRED — НЕ установлен.**

**Категория:** off-phase, business-process. Раздел C10 карты.

**Назначение:** построение/запуск автоматизированных workflow платформы n8n.

**Роль:** инструмент **#54**, раздел C10 (срез «автоматизация»). **DEFERRED** (как Figma MCP #44, Jupyter MCP #50): стек Лидерры не содержит n8n — движок процессов = очередь Laravel (Redis) + события/джобы; принятие n8n как инфраструктуры — отдельное архитектурное решение (свой ADR), не выбор инструмента (конфликт-аудит N8N1). Зарегистрирован как pending-слот; `.mcp.json` не трогается в core-scope; устанавливается отдельной severable-задачей при принятии n8n (см. «Deferred Task» в плане C10).

**Координация:** PSR_v1 R10.1 Блок 3 (MCP-серверы). Не UI → вне R6/R14.

### 4.30. discovery-interview — discovery-интервью (off-phase, discovery-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #55 | discovery-interview | skill | off-phase | discovery-tooling | «интервью-discovery FEATURE+SYSTEM, JTBD» | ADR-009 (vs #53 process-analysis) | false | 2026-05-19 |

**Источник:** self-authored standalone project-скил в `.claude/skills/discovery-interview/` (`SKILL.md` + `references/jtbd-questions.md` + `evals/evals.json`). Свой, не вендоренный; **линтуется** (cspell+markdownlint, не в ignorePaths — как process-modeling/process-analysis, LINT1).

**Категория:** off-phase, **discovery-tooling** — 12-я off-phase подкатегория (после UI-пула / infrastructure / debug-runtime / orchestration / architecture-tooling / audit-security / project-management / design-tooling / integration-tooling / ml-ai-tooling / business-process).

**Назначение:** структурированное интервью-discovery до проектирования. Режим FEATURE — JTBD-интервью заказчика, вскрывает проблему до решения, отдаёт discovery-brief в `brainstorming`. Режим SYSTEM — интервью-ориентация по мета-слою проекта (карта / CLAUDE.md / MEMORY / Открытые_вопросы / Tooling / git log).

**Роль:** инструмент **#55**. Собственная off-phase подкатегория discovery-tooling — не привязан к фазам тулчейна. Триггер-eval 20/20 (`.claude/skills/discovery-interview/evals/evals.json`).

**Конфликт-аудит (ADR-009, DI1–DI6):** разрез по слою-источнику с `process-analysis` #53 — тот вскрывает бизнес-процесс из app-кода, discovery-interview интервьюирует человека (FEATURE) и синтезирует мета-слой (SYSTEM). Хэндофф FEATURE → `brainstorming`. Проектный скил → Pravila §13.2, **не** §12.2 (карта Superpowers-скилов).

**Координация:** PSR_v1 R10.1 Блок 1 note (self-authored project-скил, как process-modeling/process-analysis). Не UI → вне R6.0/R6.1/R14.

### 4.31. skill-creator — конструктор скилов (off-phase, authoring-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #56 | skill-creator | plugin | off-phase | authoring-tooling | «создание standalone-скилов + eval» | none | false | 2026-05-19 |

**Источник:** Claude Code plugin, marketplace `anthropics/claude-plugins-official`, plugin `skill-creator@claude-plugins-official` (Anthropic Verified). Включён в `~/.claude/settings.json` `enabledPlugins`.

**Категория:** off-phase, **authoring-tooling** — 13-я off-phase подкатегория (создание Claude-артефактов: скилы / плагины / хуки).

**Назначение:** создание новых скилов с нуля, модификация и оптимизация существующих, измерение performance скила (eval / benchmark / variance-анализ), оптимизация `description` под точность триггеринга.

**Роль:** инструмент **#56**. Создание **standalone** проектных скилов (`.claude/skills/<name>/`).

**Конфликт-аудит:** SC1 — граница с plugin-dev:skill-development (#57): skill-creator для standalone проектных скилов, plugin-dev:skill-development — для скилов внутри разрабатываемого marketplace-плагина. SC2 — вендоренные (`mermaid`/`ccpm`/`data-scientist`) и self-authored (`audit-portal`/`regression`/`process-modeling`/`process-analysis`/`discovery-interview`) скилы модифицируются прямым Edit, не через skill-creator (он может предложить переписать как новый — потеря провенанса). SC3 — Anthropic Verified, провенанс чист.

**Координация:** PSR_v1 R10.1 Блок 1. Не UI → вне R6.0/R6.1/R14. ADR-010.

### 4.32. plugin-dev — конструктор плагинов (off-phase, authoring-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #57 | plugin-dev | plugin | off-phase | authoring-tooling | «разработка Claude-плагинов» | none | false | 2026-05-19 |

**Источник:** Claude Code plugin, marketplace `anthropics/claude-plugins-official`, plugin `plugin-dev@claude-plugins-official` (Anthropic Verified). Включён в `enabledPlugins`.

**Категория:** off-phase, **authoring-tooling**.

**Назначение:** разработка Claude-плагинов — 8 sub-skills (`plugin-structure`, `agent-development`, `skill-development`, `command-development`, `hook-development`, `mcp-integration`, `plugin-settings`, `create-plugin`) + агенты `agent-creator` / `plugin-validator` / `skill-reviewer`.

**Роль:** инструмент **#57**. Конструктор marketplace-плагинов целиком (структура / агенты / скилы / команды / хуки).

**Конфликт-аудит:** PD1 — для создания собственного marketplace-плагина; не для модификации вендоренного/self-authored (SC2). PD2 — `plugin-dev:skill-development` ↔ skill-creator #56: standalone скил → skill-creator, скил внутри плагина → plugin-dev. PD3 — `plugin-dev:hook-development` может сгенерировать хук — применяется правило HK1 (pre-check на коллизию), как для hookify #58.

**Координация:** PSR_v1 R10.1 Блок 1. Не UI → вне R6.0/R6.1/R14. ADR-010.

### 4.33. hookify — генератор хуков (off-phase, authoring-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #58 | hookify | plugin | off-phase | authoring-tooling | «генерация хуков (только по явному /hookify)» | HK1 pre-check (ADR-010) | false | 2026-05-19 |

**Источник:** Claude Code plugin, marketplace `anthropics/claude-plugins-official`, plugin `hookify@claude-plugins-official` (Anthropic Verified). Включён в `enabledPlugins`. Skills `/hookify` / `/configure` / `/list` / `/help` + skill `writing-rules` + агент `conversation-analyzer`.

**Категория:** off-phase, **authoring-tooling**.

**Назначение:** генерация хуков из анализа транскриптов диалога или явных инструкций — «создай хук, чтобы предотвратить X».

**Роль:** инструмент **#58**.

**Конфликт-аудит:** **HK1 (hard-rule pre-check)** — перед генерацией хука обязательная проверка коллизии с уже-зарегистрированными хуками в `~/.claude/settings.json`; перезапись 6-компонентной economy/skill-discipline архитектуры (economy-mode / skill-marker / skill-check / economy-state-guard / economy-postcompact / economy-verifier) **запрещена**; при коллизии — остановка с пометкой «требуется ручное согласование». **HK2** — вызов только по явному `/hookify`, не проактивно. **HK3** — закрывает 🔴-конфликт карты `hookify_plugin ↔ hk_pre_claude` (плагин мог перезаписать существующие хуки) → 🟢 после HK1.

**Координация:** PSR_v1 R10.1 Блок 1 (hookify-строка hard-rule). Не UI → вне R6.0/R6.1/R14. ADR-010.

### 4.34. claude-code-setup — рекомендатель автоматизаций (off-phase, dev-support)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #59 | claude-code-setup | plugin | off-phase | dev-support | «рекомендатель Claude Code automations (read-only)» | none | false | 2026-05-19 |

**Источник:** Claude Code plugin, marketplace `anthropics/claude-plugins-official`, plugin `claude-code-setup@claude-plugins-official` (Anthropic Verified). Включён в `enabledPlugins`. Skill `claude-automation-recommender`.

**Категория:** off-phase, **dev-support** — 14-я off-phase подкатегория (поддержка/документация Claude-разработки).

**Назначение:** анализ кодовой базы + рекомендации Claude Code automations (хуки / суб-агенты / скилы / плагины / MCP-серверы).

**Роль:** инструмент **#59**. Read-only анализатор.

**Конфликт-аудит:** CCS1 — рекомендации фильтруются через R0 stack-gate + R10.1 (R0.6 hard-стопы — брендовое UI, ru-стек, уже формализованное); ничего не устанавливается без явного согласования с заказчиком.

**Координация:** PSR_v1 R10.1 Блок 1. Не UI → вне R6.0/R6.1/R14. ADR-010.

### 4.35. context7 — документация библиотек (off-phase, dev-support)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #60 | context7 | mcp | off-phase | dev-support | «актуальная документация библиотек/SDK» | первый выбор для доков библиотеки | false | 2026-05-19 |

**Источник:** Claude Code plugin, marketplace `anthropics/claude-plugins-official`, plugin `context7@claude-plugins-official` (Anthropic Verified). Включён в `enabledPlugins`. MCP-tools `mcp__plugin_context7_context7__query-docs` / `resolve-library-id`.

**Категория:** off-phase, **dev-support**.

**Назначение:** актуальная документация библиотек / фреймворков / SDK / CLI — отдаёт upstream-доки, обходит cutoff training data (Laravel / Vue / Vuetify / Pest / React / Tailwind / Prisma и др.).

**Роль:** инструмент **#60**.

**Конфликт-аудит:** CTX1 — первый выбор для документации **известной библиотеки**; WebFetch — fallback на конкретный URL (README / внешний документ); WebSearch — поиск без знания URL/библиотеки. CTX2 — не trigger при поиске без библиотеки (события, статьи) — это WebSearch.

**Координация:** PSR_v1 R10.1 Блок 1. Не UI → вне R6.0/R6.1/R14. ADR-010.

### 4.36. finance plugin — финансы и бухгалтерия (off-phase, finance-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #61 | finance plugin | plugin | off-phase | finance-tooling | «сверка, variance-анализ, US-GAAP-отчётность, проводки, close» | ADR-012 (граница C6/C7, vs operations) | false | 2026-05-20 |

**Источник:** Claude Code plugin, marketplace `anthropics/knowledge-work-plugins`, plugin `finance@knowledge-work-plugins` (Anthropic Verified, v1.2.0). Включается в `~/.claude/settings.json` `enabledPlugins`. 8 скилов (reconciliation/variance-analysis/financial-statements/close-management/journal-entry/journal-entry-prep/sox-testing/audit-support) + MCP-серверы (snowflake/databricks/bigquery/slack/ms365 — http).

**Категория:** off-phase, **finance-tooling** — 15-я off-phase подкатегория. Домашний раздел карты — **C7** «Финансы — бухгалтерия и налоги» (primary), cross-ref **C6** «биллинг/тарификация».

**Назначение:** учёт и финансовая отчётность — сверка счетов, анализ отклонений, US-GAAP-отчёты (P&L/BS/CF), управление закрытием периода, проводки.

**Роль:** инструмент **#61**. Применимость к РФ-контексту: ✅ `reconciliation`/`variance-analysis` (C6); ⚠️ `financial-statements`/`close-management`/`journal-entry`/`journal-entry-prep` (US-GAAP — частично, у нас РСБУ); ❌ `sox-testing`/`audit-support` (not-applicable — нет SOX у частной РФ-компании). MCP-серверы (snowflake/databricks/bigquery) — **DEFERRED**, не стек проекта.

**Конфликт-аудит (ADR-012):** FIN1 warehouse-MCP DEFERRED; FIN2 SOX not-applicable; FIN3 граница с operations #51 (finance = учёт/сверка/отчётность, operations = операционные процессы/риск); FIN4 finance `reconciliation` (инструмент) vs `CsvReconcileJob` (код проекта). РФ-специфику покрывает `ru-tax-accounting` #63.

**Координация:** PSR_v1 R10.1 Блок 1. Не UI → вне R6.0/R6.1/R14. ADR-012.

### 4.37. billing-audit — аудит денежной корректности (off-phase, finance-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #62 | billing-audit | skill | off-phase | finance-tooling | «аудит списания, money-инварианты, идемпотентность, тариф-резолюция, дрейф reconcile» | ADR-012 (vs process-*/D3/ru-tax) | false | 2026-05-20 |

**Источник:** self-authored standalone project-скил в `.claude/skills/billing-audit/` (`SKILL.md` + `references/invariants.md` + `evals/evals.json`). Свой, не вендоренный; **линтуется** (cspell+markdownlint, не в ignorePaths — как process-*/discovery-interview, LINT1).

**Категория:** off-phase, **finance-tooling**. Раздел карты **C6** «Финансы — биллинг и тарификация».

**Назначение:** аудит денежных инвариантов биллинг-кода Лидерры — сохранение суммы (bcmath/без float), идемпотентность списания, корректность 7-ступенчатой tier-резолюции, интерпретация дрейфа CsvReconcile >5%, провенанс charge_source.

**Роль:** инструмент **#62**. Триггер-eval в `.claude/skills/billing-audit/evals/evals.json`.

**Конфликт-аудит (ADR-012, FIN5):** объект иной — ≠ process-modeling/process-analysis (#52/#53, поток/процесс), ≠ D3 audit-security (#39/#40, безопасность), ≠ ru-tax-accounting (#63, учёт/налог результата), ≠ product-management metrics-review (#42, метрики выручки).

**Координация:** PSR_v1 R10.1 Блок 1 note (self-authored project-скил). Не UI → вне R6.0/R6.1/R14.

### 4.38. ru-tax-accounting — РСБУ/НК РФ контекст (off-phase, finance-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #63 | ru-tax-accounting | skill | off-phase | finance-tooling | «РСБУ, НДС/УСН, налоговая база, налогооблагаемое событие, выгрузка бухгалтеру» | ADR-012 (vs finance plugin/billing-audit/D1/D2) | false | 2026-05-20 |

**Источник:** self-authored standalone project-скил в `.claude/skills/ru-tax-accounting/` (`SKILL.md` + `references/ru-tax-context.md` + `evals/evals.json`). Свой, не вендоренный; **линтуется** (LINT1).

**Категория:** off-phase, **finance-tooling**. Раздел карты **C7** «Финансы — бухгалтерия и налоги».

**Назначение:** перевод billing-выручки (выход C6) в российский учётно-налоговый контекст — налоговые режимы (НДС/УСН), налогооблагаемое событие, маппинг выручка→база, выгрузки для бухгалтера. Закрывает РФ-gap US-GAAP-плагина finance #61.

**Роль:** инструмент **#63**. Не налоговая консультация; бухгалтерия компании ведётся вне dev-репо (1С/аутсорс). Реальный платёжный провайдер — DEFERRED (Б-1).

**Конфликт-аудит (ADR-012, FIN6):** ≠ billing-audit #62 (корректность начисления в коде), ≠ finance plugin #61 (US-GAAP-механика), ≠ D1 (договоры/право), ≠ D2 (ПДн 152-ФЗ).

**Координация:** PSR_v1 R10.1 Блок 1 note (self-authored project-скил). Не UI → вне R6.0/R6.1/R14.

### 4.39. Rector — авто-рефакторинг и version-upgrade (off-phase, backend-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #64 | Rector + rector-laravel | composer-dev-dep | off-phase | backend-tooling | «авто-рефакторинг, version-upgrade Laravel, удаление мёртвого кода» | ADR-013 (BT1-BT3 vs Pint/Larastan/deptrac) | false | 2026-05-20 |

**Источник:** Composer dev-dependency `rector/rector` ^2.4 + `driftingly/rector-laravel` ^2.3 (MIT). Конфиг `app/rector.php` (deadCode + codeQuality, conservative — без type-declaration наборов и LaravelSetProvider). Команды `composer rector` (dry-run) / `composer rector:fix` (apply).

**Категория:** off-phase, **backend-tooling** — 16-я off-phase подкатегория. Раздел карты **A1** «Программирование — backend».

**Назначение:** автоматическая трансформация PHP-кода — апгрейды под версию Laravel/PHP, удаление мёртвого кода, code-quality рефакторинги.

**Роль:** инструмент **#64**. Постура — **manual/CI, НЕ блокирующий lefthook**: dry-run baseline = 16 файлов (>5 порога → код-мутирующий инструмент не гейтит коммит, прецедент promptfoo ML1). LaravelSetProvider — для разовых version-апгрейдов вручную.

**Конфликт-аудит (ADR-013):** BT1 vs Pint #11 (трансформация vs форматирование); BT2 vs Larastan #12 (чинит vs находит — комплементарны); BT3 vs deptrac #43 (трансформация vs граф слоёв). Чистый PHP, 0 LLM.

**Координация:** PSR_v1 R10.1 Блок 1. Не UI → вне R6.0/R6.1/R14. ADR-013.

### 4.40. PHP Insights — метрики качества кода (off-phase, backend-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #65 | PHP Insights | composer-dev-dep | off-phase | backend-tooling | «метрики качества/сложности/архитектуры PHP-кода» | ADR-013 (BT4 vs Pint/Larastan) | false | 2026-05-20 |

**Источник:** Composer dev-dependency `nunomaduro/phpinsights` v2.14 (MIT). Конфиг `app/config/insights.php` — SyntaxCheck удалён (Windows subprocess-краш + избыточен), style-ось не гейтится (владелец Pint), security-check off. Команда `composer insights`. allow-plugins += `dealerdirect/phpcodesniffer-composer-installer`.

**Категория:** off-phase, **backend-tooling**. Раздел карты **A1**.

**Назначение:** метрики code / complexity / architecture / maintainability — cyclomatic complexity, code smells, распределение архитектуры. Уникум против Pint (стиль) + Larastan (типы) — оси complexity + architecture.

**Роль:** инструмент **#65**. Постура — **on-demand/CI с порогами, НЕ блокирующий lefthook** (BT9 — избегаем четверного гейта). Baseline 20.05.2026: Code 80 / Complexity 81 / Architecture 75 / Style 88.9; floors min-quality 78 / min-complexity 79 / min-architecture 73. `composer insights` → exit 0.

**Конфликт-аудит (ADR-013, BT4):** перекрытие с Pint (style) / Larastan (code) по двум осям → эти оси выключены; уникум = complexity + architecture.

**Координация:** PSR_v1 R10.1 Блок 1. Не UI → вне R6.0/R6.1/R14. ADR-013.

### 4.41. laravel-backend-patterns — backend-конвенции Лидерры (off-phase, backend-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #66 | laravel-backend-patterns | skill | off-phase | backend-tooling | «как писать backend в Лидерре, паттерн controller/service/job, RLS, деньги» | ADR-013 (BT5 vs #38, BT6 vs #62) | false | 2026-05-20 |

**Источник:** self-authored standalone project-скил в `.claude/skills/laravel-backend-patterns/` (`SKILL.md` + `references/conventions.md` + `evals/evals.json`). Свой, не вендоренный; **линтуется** (LINT1).

**Категория:** off-phase, **backend-tooling**. Раздел карты **A1**.

**Назначение:** кодификация backend-конвенций Лидерры — слоистость controller→FormRequest→service→job (deptrac-aligned), RLS-aware Eloquent (SetTenantContext / явный `where(tenant_id)` под `crm_supplier_worker` BYPASSRLS), деньги через bcmath/LedgerService, идемпотентные джобы (advisory-lock), partition-aware запросы (deals/supplier_lead_costs).

**Роль:** инструмент **#66**. Триггер-eval в `.claude/skills/laravel-backend-patterns/evals/evals.json`.

**Конфликт-аудит (ADR-013):** BT5 ≠ architecture-patterns #38 (generic Clean/Hex/DDD vs project-specific Лидерра); BT6 ≠ billing-audit #62 (генерация «как писать» vs аудит «проверка денег» — ссылка, не дубль).

**Координация:** PSR_v1 R10.1 Блок 1 note (self-authored project-скил). Не UI → вне R6.0/R6.1/R14.

### 4.42. NightOwl — self-hosted runtime-телеметрия (off-phase, backend-tooling, DEFERRED)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #67 | NightOwl (self-hosted) | composer-dev-dep + agent | off-phase | backend-tooling | «коррелированный runtime-трейс request↔job↔query (self-hosted)» | ADR-013 (BT7 vs Sentry, BT8 vs Pail/Boost) | true | 2026-05-20 |

**Источник:** `laravel/nightwatch` (сбор) + `lemed99/nightowl-agent` (MIT, self-hosted → PostgreSQL). **DEFERRED** — pending-слот (как Sentry #34 / Figma #44 / Jupyter #50). Spike: `docs/backend/nightowl-spike.md`.

**Категория:** off-phase, **backend-tooling**. Раздел карты **A1**.

**Назначение:** коррелированный сквозной трейс работающего портала — request ↔ outgoing ↔ job ↔ query ↔ mail ↔ cache ↔ scheduled, в своём PostgreSQL.

**Роль:** инструмент **#67**. **DEFERRED-блокер:** native-Windows нет `pcntl`/`posix` (агент не запускается); OSS-версия без MCP (MCP только managed); hosted = риск 152-ФЗ. Активация — при Linux/боевом сервере (Б-1); доступ Claude через managed MCP (если приемлемо по 152-ФЗ) или Boost `database-query` по таблицам телеметрии (READ-ONLY).

**Конфликт-аудит (ADR-013):** BT7 ≠ Sentry #34 (коррелированный трейс vs ошибки/трейсбэки); BT8 ≠ Pail/Boost (сквозной трейс vs tail/снапшот).

**Координация:** PSR_v1 R10.1 Блок 3 (при активации — MCP). Не UI → вне R6.0/R6.1/R14. ADR-013.

### 4.43. OWASP ZAP — глубокая боевая DAST (off-phase, infosec-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #68 | OWASP ZAP (MCP add-on) | mcp | off-phase | infosec-tooling | «глубокая боевая DAST: обход входа, инъекции, XSS» | ADR-014 (IS1 vs Semgrep, IS2 vs Nuclei) | false | 2026-05-21 |

**Источник:** официальный ZAP «MCP Integration» add-on (`zaproxy/zap-extensions`, `addOns/mcp/`, Apache-2.0; провенанс OWASP/Checkmarx — IS9-вет `docs/security/infosec-vet.md`). **УСТАНОВЛЕН 21.05.2026 портативно** (без choco): ZAP cross-platform 2.17.0 (`bin/ZAP_2.17.0/`) + MCP-аддон `mcp-alpha-0.0.1` на **portable Temurin JRE 17** (`bin/_runtimes/jdk-17.0.19+10-jre/`, не системная Java). Daemon-smoke verified (API → 2.17.0). MCP-сервер в `.mcp.json` (SSE) — при запущенном демоне; доку — `docs/security/zap-setup.md`.

**Категория:** off-phase, **infosec-tooling** — 17-я off-phase подкатегория. Раздел карты **A8** «Информационная безопасность».

**Назначение:** глубокая динамическая («боевая») проверка работающего портала — spider + active scan: обход аутентификации, инъекции (SQLi), XSS, проблемы сессий/CSRF на живых endpoint'ах.

**Роль:** инструмент **#68**. Постура — on-demand, READ-only сканер, цель по умолчанию **локальная копия** (127.0.0.1), бой — только по явной команде (IS8). **Установлен** (portable JRE 17 + ZAP 2.17.0 + MCP-аддон); MCP-аддон alpha (`mcp-alpha-0.0.1`) — API может меняться. Для MCP-режима нужен запущенный ZAP-daemon (см. `docs/security/zap-setup.md`).

**Конфликт-аудит (ADR-014):** IS1 ≠ Semgrep #25 (динамика — бьёт работающий портал vs статика — читает код); IS2 ≠ Nuclei #69 (глубина — логика приложения vs широта — известные дыры; комплементарны).

**Координация:** PSR_v1 R10.1 Блок 3 (MCP, при установке). Не UI → вне R6.0/R6.1/R14. ADR-014.

### 4.44. Nuclei — широкое сканирование известных уязвимостей (off-phase, infosec-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #69 | Nuclei | cli-binary | off-phase | infosec-tooling | «известные уязвимости/экспозиция/слабый TLS снаружи» | ADR-014 (IS2 vs ZAP) | false | 2026-05-21 |

**Источник:** `projectdiscovery/nuclei` v3.8.0 (MIT, провенанс ProjectDiscovery — IS9-вет), Go-бинарь `bin/nuclei.exe` (gitignored, машинно-локальный) + 13 060 шаблонов. **CLI-инструмент, НЕ MCP-сервер** (nuclei не говорит на MCP; обёртка = доп. attack surface). Доку — `docs/security/nuclei-setup.md`.

**Категория:** off-phase, **infosec-tooling**. Раздел карты **A8**.

**Назначение:** широкая быстрая проверка по YAML-шаблонам — известные CVE, дефолтные креды, открытые двери, утечки конфигов, слабый TLS, fingerprint стека.

**Роль:** инструмент **#69**. **УСТАНОВЛЕН + verified** (smoke 1057 запросов к живому порталу, скан завершён, 0 matched на теге tech). Квирки native-Windows: цель **127.0.0.1** (не `localhost` — резолвер), `-rate-limit 20 -c 5` для однопоточного dev-сервера. Вызывается по требованию скилом #73; цель по умолчанию локальная (IS8).

**Конфликт-аудит (ADR-014):** IS2 ≠ ZAP #68 (широта vs глубина — комплементарны). CLI не MCP → `.mcp.json`-блок и l1-watcher alias не нужны (как gitleaks #8 / squawk #15 / Trivy #26).

**Координация:** PSR_v1 R10.1 Блок 1 (CLI-инструмент). Не UI → вне R6.0/R6.1/R14. ADR-014.

### 4.45. Ward — безопасность настроек Laravel (off-phase, infosec-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #70 | Ward | cli-binary | off-phase | infosec-tooling | «безопасность настроек Laravel: .env/config/заголовки/cookie/secrets/deps» | ADR-014 (IS3 vs Larastan/Semgrep) | false | 2026-05-21 |

**Источник:** `Eljakani/ward` (MIT, Go CLI; провенанс — named author, 316★, IS9-вет), pin `@v0.4.1`. **ЗАМЕНИЛ Enlightn** (тот abandoned + без поддержки Laravel 13 — `docs/security/infosec-vet.md` §ПЕРЕСМОТР #70). **УСТАНОВЛЕН 21.05.2026 портативно** (без choco): собран из исходника через portable Go 1.26.3 (`go install github.com/eljakani/ward@v0.4.1`) → `bin/ward.exe`; готовых бинарей в релизе нет. Доку — `docs/security/ward-setup.md`.

**Категория:** off-phase, **infosec-tooling**. Раздел карты **A8**.

**Назначение:** сканер misconfig/secrets Laravel — .env (8 проверок) + config/*.php (13) + deps (OSV.dev live) + код (7 категорий: secrets/injection/XSS/debug-артефакты/crypto/config CORS-CSRF-mass-assignment/auth). Go-бинарь → **не зависит от версии Laravel** (проблема Enlightn снята).

**Роль:** инструмент **#70**. CLI-инструмент (как Nuclei), не MCP, не Composer dev-dep. **Установлен + verified** (`ward version` v0.4.1; smoke-скан `app/` → 2 находки: High `APP_DEBUG`, Medium `APP_ENV=local`). Caveat: молодой (фев 2026), single-maintainer → bus-factor; митигация версия-pin + MIT-форкабельность.

**Конфликт-аудит (ADR-014):** IS3 ≠ Larastan #12 / Semgrep #25 (misconfig/secrets/deps Laravel vs типы/generic-паттерны). Dep-скан Ward ↔ Trivy #26 / Dependabot #27 — информационно, не гейт.

**Координация:** PSR_v1 R10.1 Блок 1 (CLI). Не UI → вне R6.0/R6.1/R14. ADR-014.

### 4.46. pdn-152fz-audit — аудит ПДн и 152-ФЗ (off-phase, infosec-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #71 | pdn-152fz-audit | skill | off-phase | infosec-tooling | «аудит ПДн / соответствие 152-ФЗ» | ADR-014 (IS4 vs pg_anonymizer, IS5 vs D2) | false | 2026-05-21 |

**Источник:** self-authored standalone project-скил `.claude/skills/pdn-152fz-audit/` (`SKILL.md` + `references/checklist.md` + `evals/evals.json`). Свой, не вендоренный; **линтуется** (LINT1).

**Категория:** off-phase, **infosec-tooling**. Раздел карты **A8**.

**Назначение:** 2 режима — технический аудит ПДн (где лежат ПДн в схеме/коде, RLS, маскирование pg_anonymizer, утечки в логах/Sentry/CSV-экспортах, шифрование) + соответствие 152-ФЗ (хранение в РФ, согласия, сроки/удаление, реестр обработки, уведомление РКН, права субъекта `pd_subject_requests`). Заземлён в `db/schema.sql`.

**Роль:** инструмент **#71**. Активен. Триггер-eval в `evals/evals.json`.

**Конфликт-аудит (ADR-014):** IS4 ≠ pg_anonymizer #29 (аудит + направление vs инструмент маскирования); IS5 ≠ D2 (техника + 152-ФЗ-чек-лист vs юридическое оформление документов).

**Координация:** PSR_v1 R10.1 Блок 1 (self-authored project-скил). Не UI → вне R6.0/R6.1/R14. ADR-014.

### 4.47. threat-model — STRIDE моделирование угроз портала (off-phase, infosec-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #72 | threat-model | skill | off-phase | infosec-tooling | «STRIDE угрозы портала, going-public, что защищать первым» | ADR-014 (IS6 vs ToB #39) | false | 2026-05-21 |

**Источник:** self-authored standalone project-скил `.claude/skills/threat-model/` (`SKILL.md` + `references/stride-portal.md` + `evals/evals.json`). Линтуется.

**Категория:** off-phase, **infosec-tooling**. Раздел карты **A8**.

**Назначение:** STRIDE под наш портал (не generic) — карта точек входа (login/2FA/recovery, supplier webhooks, deals API, админка, impersonation, CSV-импорт; заземлён в `app/routes/`), что меняется при выходе в интернет (контур своих → произвольный внешний актор), приоритизация защиты. Результат — `docs/security/threat-model-<date>.md`.

**Роль:** инструмент **#72**. Активен.

**Конфликт-аудит (ADR-014):** IS6 ≠ Trail of Bits `audit-context-building` #39 (наш портал + STRIDE + going-public vs generic deep code-audit).

**Координация:** PSR_v1 R10.1 Блок 1. Не UI → вне R6.0/R6.1/R14. ADR-014.

### 4.48. security-go-live — go-live security-gate (off-phase, infosec-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #73 | security-go-live | skill | off-phase | infosec-tooling | «прогон безопасности перед релизом, go/no-go» | ADR-014 (IS7 vs audit-portal) | false | 2026-05-21 |

**Источник:** self-authored standalone project-скил `.claude/skills/security-go-live/` (`SKILL.md` + `references/gate.md` + `evals/evals.json`). Линтуется.

**Категория:** off-phase, **infosec-tooling**. Раздел карты **A8**.

**Назначение:** единый go-live security-gate перед публикацией — оркеструет #68 ZAP / #69 Nuclei / #70 Ward / #71 pdn-152fz-audit / #72 threat-model + Semgrep #25 / gitleaks #8 / Trivy #26 / Trail of Bits #39 → собирает вердикт **GO / NO-GO**. Каноническая связка **L15** (routing-off-phase).

**Роль:** инструмент **#73**. Активен (оркестратор). ZAP #68 / Ward #70 / Nuclei #69 — установлены (21.05.2026); шаг ZAP возвращает PENDING, если daemon не запущен (MCP-режим требует живого ZAP-демона на portable JRE). Гард IS8 — цель по умолчанию локальная.

**Конфликт-аудит (ADR-014):** IS7 ≠ `audit-portal` (только безопасность + go-live-вердикт vs полный 14-фазный аудит; #73 *вызывает* D3-инструменты, не заменяет).

**Координация:** PSR_v1 R10.1 Блок 1. Не UI → вне R6.0/R6.1/R14. ADR-014.

### 4.49. marketing — первичный решатель C1 (off-phase, marketing-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #74 | marketing (plugin) | plugin | off-phase | marketing-tooling | «маркетинговый контент, кампания, SEO-аудит, email-цепочка, конкурент-бриф, performance-report» | ADR-015 (MKT1 vs C2/C3, MKT2 vs product-management #42, MKT3 vs marketingskills #75) | false | 2026-05-22 |

**Источник:** официальный плагин Anthropic `marketing@knowledge-work-plugins` (та же витрина, что operations #51 / product-management #42 / design #46 / finance #61). 8 скилов: `content-creation`, `draft-content`, `campaign-plan`, `email-sequence`, `seo-audit`, `competitive-brief`, `brand-review`, `performance-report`. Скилы работают автономно, без платных аккаунтов. Встроенные коннекторы (HubSpot/Ahrefs/Klaviyo/Amplitude/SimilarWeb/Canva/Figma/Notion/Slack) — западные SaaS → **не используем** (визуал → A4, аналитика → Метрика #78/Директ #79).

**Категория:** off-phase, **marketing-tooling** — 18-я off-phase подкатегория (после UI-пул, инфраструктура, debug-runtime, architecture-tooling, audit-security, project-management, design-tooling, integration-tooling, ml-ai-tooling, business-process, discovery-tooling, authoring-tooling, dev-support, finance-tooling, backend-tooling, infosec-tooling, discovery-tooling). Раздел карты **C1** «Маркетинг и лидогенерация».

**Роль:** инструмент **#74**. **Первичный решатель** маркетинговых задач C1 — инвокируется первым при любой задаче контента, кампании, SEO, email, конкурент-брифа. Остальные узлы C1 — специализация или материал поверх него.

**Конфликт-аудит (ADR-015):** MKT1 — C1 vs C2 «Продажи»: `sales`/`small-business` плагины Anthropic не берём (C2-пересечения); MKT2 — `performance-report` (#74) vs `metrics-review` (#42): маркетинг = CAC/конверсия/источники каналов, PM = MRR/retention/adoption — разные объекты; MKT3 — `seo-audit` (#74) vs SEO-скилы #75: #74 — решатель (воркфлоу), #75 — материал (фреймворки); MKT4 — визуал → A4, не C1; MKT5 — email-copy vs отправка (Unisender #83 DEFERRED).

**Координация:** PSR_v1 R10.1 Блок 1 (plugin). Не UI → вне R6.0/R6.1/R14. ADR-015.

### 4.50. marketingskills — резерв-библиотека маркетинговых фреймворков (off-phase, marketing-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #75 | marketingskills | vendored-skill | off-phase | marketing-tooling | «фреймворки CRO, копирайтинг, programmatic-SEO, ad-creative, cold-email, lead-magnets, pricing, marketing-psychology» | ADR-015 (MKT3 — материал, не решатель; MKT7 вендоринг MIT; MKT10 lint-exclude) | false | 2026-05-22 |

**Источник:** `coreyhaines31/marketingskills` (MIT, Copyright 2025 Corey Haines; 30k★, 4.9k форков, v2.1.0 последний коммит 21.05.2026). 40 скилов: CRO, копирайтинг, SEO, ai-seo, programmatic-seo, ad-creative, cold-email, lead-magnets, pricing, marketing-psychology. Чистый markdown — исполняемого кода в `skills/` нет. IS9-вет PASS-with-conditions (`docs/security/marketing-vet.md` C1-1): вендорить только `skills/` + `LICENSE`; validate-bash-скрипты в проект не включать; `ATTRIBUTION.md` обязателен. **Вендоренный** в `.claude/skills/marketingskills/` (иммунитет к потере апстрима — модель data-scientist #49 / mermaid #37 / ccpm #41).

**Категория:** off-phase, **marketing-tooling**. Раздел карты **C1**.

**Роль:** инструмент **#75**. **Материал/резерв-библиотека** (модель UPM #31: «резерв-библиотека, не решатель»). Решатель — marketing plugin #74. Не выдаёт готовый ответ самостоятельно — используется как источник фреймворков при углублённой работе с #74. **MKT10** — исключить из lefthook markdownlint+cspell (как MK1 mermaid / CC1 ccpm).

**Конфликт-аудит (ADR-015):** MKT3 — роль-разделение решатель(#74)/материал(#75) соблюдает §5 п.6 (один инструмент на задачу). MKT7 — IS9-вет выполнен, лицензия MIT подтверждена прямым чтением. MKT10 — lint-exclude вендоренного скил-набора.

**Координация:** PSR_v1 R10.1 Блок 1 (vendored-skill). Не UI → вне R6.0/R6.1/R14. ADR-015.

### 4.51. brand-voice — вербальный бренд Лидерры (off-phase, marketing-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #76 | brand-voice (plugin) | plugin | off-phase | marketing-tooling | «тон бренда, голос бренда, brand guidelines для текстов, тон копирайта» | ADR-015 (MKT6 — вербальный бренд vs Brandbook v2 визуальный бренд) | false | 2026-05-22 |

**Источник:** официальная витрина Anthropic `knowledge-work-plugins/partner-built/brand-voice` (Tribe AI). 3 скила: вытащить голос бренда из существующих текстов, сгенерировать brand guidelines, держать тон в новых материалах. Язык-нейтрален → работает для русского.

**Категория:** off-phase, **marketing-tooling**. Раздел карты **C1**.

**Роль:** инструмент **#76**. Вербальный бренд-слой Лидерры. Заземляется в позиционировании `liderra_v8_handoff/docs/BRANDBOOK_v2.md` — **граница MKT6**: Brandbook v2 = **визуальный** бренд (палитра/шрифты/лого); brand-voice #76 = **вербальный** бренд (тон, стиль копирайта). Взаимодополняют, не дублируют.

**Конфликт-аудит (ADR-015):** MKT6 — визуал/вербал разделение чёткое; #76 не заменяет Brandbook v2 и не переопределяет Forest палитру.

**Координация:** PSR_v1 R10.1 Блок 1 (plugin). Не UI → вне R6.0/R6.1/R14. ADR-015.

### 4.52. marketing-ru — РФ-специфика маркетинга Лидерры (off-phase, marketing-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #77 | marketing-ru | skill | off-phase | marketing-tooling | «Яндекс.Директ, Яндекс.Метрика, VK, Telegram как каналы; конверсия лендинга Лидерры; маркетинг 152-ФЗ согласия на рассылки» | ADR-015 (MKT9 — 152-ФЗ cross-ref #71; MKT1 РФ-специфика C1) | false | 2026-05-22 |

**Источник:** self-authored standalone project-скил `.claude/skills/marketing-ru/` (`SKILL.md` + `references/rf-channels.md` + `evals/evals.json`). Модель billing-audit #62 / threat-model #72 / pdn-152fz-audit #71. **Линтуется** (не в ignorePaths, в отличие от вендоренного #75). Eval триггеров аналогично discovery-interview (20/20 цель).

**Категория:** off-phase, **marketing-tooling**. Раздел карты **C1**.

**Роль:** инструмент **#77**. Закрывает РФ-специфику маркетинга, которой нет ни у одного Anthropic-плагина: playbook каналов РФ (Яндекс.Директ/Метрика/VK/Telegram), конверсия реального лендинга Лидерры (заземлён в `лендинг/TZ_landing_v1_0.md`), маркетинг в рамках 152-ФЗ — согласия на рассылки, cross-ref pdn-152fz-audit #71 (MKT9).

**Конфликт-аудит (ADR-015):** MKT9 — согласия на маркетинговые рассылки + cross-ref #71 (ПДн-152ФЗ аудит); MKT1 — only C1 demand-gen, не продажи C2.

**Координация:** PSR_v1 R10.1 Блок 1 (self-authored project-скил). Не UI → вне R6.0/R6.1/R14. ADR-015.

### 4.53. Яндекс.Метрика MCP — веб-аналитика READ-ONLY (off-phase, marketing-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #78 | Яндекс.Метрика MCP | mcp | off-phase | marketing-tooling | «веб-аналитика лендинга: визиты, источники трафика, гео, демография, поведение» | ADR-015 (MKT8 READ-ONLY; активация при живом лендинге ⏸ Б-1) | false | 2026-05-22 |

**Источник:** `atomkraft/yandex-metrika-mcp` (MIT; **выбран по IS9-вету** из 3 кандидатов — `Vadosdavos` отклонён (нет лицензии, 1 коммит), `theYahia` лицензия OK но код не верифицирован; `atomkraft` — единственный полностью верифицированный: хост `api-metrika.yandex.net` only, Zod-валидация, 0 shell-вызовов; IS9-вет `docs/security/marketing-vet.md` C1-2). Токен OAuth бесплатный. Caveat: одиночный автор, 7 коммитов — пинить SHA в `.mcp.json`, пересматривать upstream ежеквартально.

**Категория:** off-phase, **marketing-tooling**. Раздел карты **C1**.

**Роль:** инструмент **#78**. **READ-ONLY** (прецедент Sentry #34 / Redis #35 / openapi-mcp-server #47). Чтение счётчика Метрики — источники трафика, поведение посетителей, гео, воронка конверсии лендинга. **Полезен при живом лендинге со счётчиком** (⏸ Б-1); технически подключается сейчас (вариант Б), активируется при трафике. MCP-конфиг в `.mcp.json` (OAuth-токен через env).

**Конфликт-аудит (ADR-015):** MKT8 — строго READ-ONLY, мутаций нет; MKT2 — аналитика трафика C1 vs продуктовые метрики #42 (разные объекты).

**Координация:** PSR_v1 R10.1 Блок 3 (MCP). Не UI → вне R6.0/R6.1/R14. ADR-015.

### 4.54. Яндекс.Директ+Wordstat MCP — подбор ключевых слов (off-phase, marketing-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #79 | Яндекс.Директ+Wordstat MCP | mcp | off-phase | marketing-tooling | «подбор ключевых слов Wordstat, частотность запросов РФ» | ADR-015 (MKT8 — **Direct-мутации НЕ активированы**; Wordstat-инструменты only) | false | 2026-05-22 |

**Источник:** `SvechaPVL/yandex-mcp` (MIT; IS9-вет `docs/security/marketing-vet.md` C1-3 PASS-with-conditions). Архитектура: 3 модуля — Direct (80 mutation-tools ⚠️), Metrika (43 read-only), Wordstat (5 read-only). Все URL — официальные домены Yandex (`api.direct.yandex.com`, `api-metrika.yandex.net`, `api.wordstat.yandex.net`). Одиночный автор SvechaPVL, 8 коммитов, 16★ — maintenance-риск, SHA-пин обязателен.

**Категория:** off-phase, **marketing-tooling**. Раздел карты **C1**.

**Роль:** инструмент **#79**. **Только Wordstat-модуль** (5 tools, `tools/wordstat.py` — read-only подбор ключевых слов). **Direct-модуль (80 mutation-tools — создание/правка/ставки кампаний) НЕ активирован** (IS9-условие C1-3; OAuth-токен с минимальным Wordstat-scope). Wordstat полезен уже сейчас (до запуска кампаний) — SEO-контент и ключевые слова для лендинга. Граница MKT8: авто-расход рекламного бюджета запрещён.

**Конфликт-аудит (ADR-015):** MKT8 — Direct-мутации hard-block; отброшенный VK-сервер (0★, «can spend money») — прецедент почему важно.

**Координация:** PSR_v1 R10.1 Блок 3 (MCP). Не UI → вне R6.0/R6.1/R14. ADR-015.

### 4.55. Telegram MCP — управление Telegram-каналами (off-phase, marketing-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #80 | Telegram MCP | mcp | off-phase | marketing-tooling | «постинг в Telegram-канал, управление, получение аналитики канала» | ADR-015 (MKT8 — SESSION_STRING только .env, выделенный аккаунт) | false | 2026-05-22 |

**Источник:** `chigwell/telegram-mcp` (Apache-2.0; IS9-вет `docs/security/marketing-vet.md` C1-4 PASS-with-conditions). MTProto user-account через Telethon. 259 коммитов, ~1.1k★, активный зрелый проект (chigwell primary + l1v0n1 contributor). Хост — только Telegram-серверы через Telethon. Защита path-traversal + sanitize_user_content. Верифицированный код (`main.py` + `runtime.py`).

**Категория:** off-phase, **marketing-tooling**. Раздел карты **C1**.

**Роль:** инструмент **#80**. Постинг в Telegram-каналы Лидерры (маркетинговые анонсы, контент). IS9-условия C1-4: `TELEGRAM_SESSION_STRING` — только в `.env` на сервере (не в git/логах); **выделенный аккаунт** (не основной бизнес-аккаунт); режим READ-тяжёлый (отправка только через явное действие оператора); ротация SESSION_STRING при компрометации.

**Конфликт-аудит (ADR-015):** MTProto user-account vs bot-token — операционный риск (не проблема кода); митигируется выделенным аккаунтом и .env-изоляцией.

**Координация:** PSR_v1 R10.1 Блок 3 (MCP). Не UI → вне R6.0/R6.1/R14. ADR-015.

### 4.56. Postiz — планировщик публикаций self-hosted (off-phase, marketing-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #81 | Postiz | mcp | off-phase | marketing-tooling | «планирование и публикация в 30+ соцсетей включая VK и Telegram, контент-календарь» | ADR-015 (MKT7 AGPL self-host без дистрибуции; покрывает VK-постинг вместо отброшенного VK standalone MCP) | false | 2026-05-22 |

**Источник:** `gitroomhq/postiz-app` (~30k★, активный; AGPL-3.0, Copyright Nevo David 2025) + MCP-клиент `antoniolg/postiz-mcp`. IS9-вет `docs/security/marketing-vet.md` C1-5 PASS-with-conditions. **AGPL-3.0** — приемлема для паттерна «внутренний self-host без дистрибуции» (FSF-трактовка §13: private internal use не триггерит обязательство публиковать исходники; мы не распространяем — запускаем у себя). Лицензия `antoniolg/postiz-mcp` не верифицирована → проверить перед активацией MCP-клиента.

**Категория:** off-phase, **marketing-tooling**. Раздел карты **C1**.

**Роль:** инструмент **#81**. Self-hosted планировщик публикаций в 30+ площадок (VK, Telegram, LinkedIn и др.). **Покрывает VK-постинг** (закрывает отказ от VK standalone MCP — `ssm82/full-vk-mcp` 0★ с правом тратить бюджет). AGPL-условия: использовать as-is без модификаций кода; сохранить copyright notice на сервере; не распространять сборки. Boot self-host — отдельный шаг (откладывается до явной потребности); узел зарегистрирован сейчас.

**Конфликт-аудит (ADR-015):** MKT7 — IS9-вет выполнен; AGPL-применимость подтверждена; VK-постинг Postiz устраняет необходимость VK standalone MCP.

**Координация:** PSR_v1 R10.1 Блок 3 (MCP/self-hosted). Не UI → вне R6.0/R6.1/R14. ADR-015.

### 4.57. DataForSEO MCP — SEO-данные РФ (off-phase, marketing-tooling) — DEFERRED

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #82 | DataForSEO MCP | mcp | off-phase | marketing-tooling | «SERP-позиции, ключевые слова, бэклинки, данные РФ-выдачи» | ADR-015 (DEFERRED — платный аккаунт после Б-1) | true | 2026-05-22 |

**Источник:** `dataforseo/mcp-server-typescript` (~204★, официальный DataForSEO). SERP/ключи/бэклинки, включая данные по Яндекс РФ-выдаче. **DEFERRED** — требует платного аккаунта DataForSEO. Активация после Б-1 (регистрация ООО + оплата). Единственный отложенный SEO-данных слот (Ahrefs OSS deprecated; Semrush — платный западный).

**Категория:** off-phase, **marketing-tooling**. Раздел карты **C1**.

**Роль:** инструмент **#82**. **DEFERRED** (pending-слот как Figma MCP #44 / NightOwl #67 / Jupyter MCP #50). Pending-условие: платный аккаунт DataForSEO (после Б-1). До активации — Wordstat #79 покрывает базовый keyword research.

**Конфликт-аудит (ADR-015):** SEO-данные #82 vs Wordstat #79 (локальная частотность) — комплементарны; #82 даёт SERP + бэклинки + более широкую аналитику.

**Координация:** PSR_v1 R10.1 Блок 3 (MCP, DEFERRED). Не UI → вне R6.0/R6.1/R14. ADR-015.

### 4.58. Unisender Go MCP — email-рассылки (off-phase, marketing-tooling) — DEFERRED

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #83 | Unisender Go MCP | mcp | off-phase | marketing-tooling | «массовые email-рассылки через Unisender Go API» | ADR-015 (DEFERRED — нет готового upstream MCP; своя обёртка по потребности) | true | 2026-05-22 |

**Источник:** нет готового качественного MCP-сервера для Unisender Go (только платный Composio-коннектор + клиентские библиотеки без MCP-интерфейса). **DEFERRED** — по потребности написать тонкий MCP-wrapper над API Unisender Go (наш текущий email-сервис для транзакционных писем). Граница MKT5: `email-sequence` (#74) = черновики контента кампаний; **отправка** = этот wrapper #83.

**Категория:** off-phase, **marketing-tooling**. Раздел карты **C1**.

**Роль:** инструмент **#83**. **DEFERRED** (pending-слот — нет upstream-сервера). Unisender Go уже используется в продуктовом коде (транзакционные письма); маркетинговые рассылки через тот же API — логичное расширение. Активация: по потребности массовых маркетинговых рассылок. IS9-вет на wrapper — при создании.

**Конфликт-аудит (ADR-015):** MKT5 — транзакционный email портала (продуктовый код) vs маркетинговые рассылки (этот wrapper) — разные потоки, разные compliance-обязательства (152-ФЗ согласия — cross-ref #77 marketing-ru + #71 pdn-152fz-audit).

**Координация:** PSR_v1 R10.1 Блок 3 (MCP, DEFERRED). Не UI → вне R6.0/R6.1/R14. ADR-015.

---

### 4.59. graphifyy — knowledge graph портала (off-phase, knowledge-graph-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #86 | graphifyy | cli | off-phase | knowledge-graph-tooling | «knowledge graph», «как устроен наш модуль X», «где наша функция Y вызывается», «cross-layer concept query», «структурные связи между спеком и кодом» | ADR-017 (граница ↔ context7 #60 / Boost #10 / openapi-mcp #47 / Sentry MCP #34 / adr-kit #36 / mermaid #37) | false | 2026-05-27 |

**Источник:** npm-пакет `graphifyy` v0.8.20+, бинарь `graphify.exe`. Установка через `uv tool install graphifyy` (Python-based CLI, runs as binary). User-level skill `~/.claude/skills/graphify/SKILL.md` (через `graphify install --platform claude`). Backend семантической экстракции: GEMINI_API_KEY / GOOGLE_API_KEY (если есть) ИЛИ fallback на Claude Code subagent dispatch (используется в Лидерре — нет Gemini-ключа). **НЕ читает** ANTHROPIC_API_KEY, OPENAI_API_KEY, Ollama API.

**Категория:** off-phase, **knowledge-graph-tooling** (19-я подкатегория, после marketing-tooling #74–#83).

**Роль:** инструмент **#86**. Knowledge graph всего портала Лидерры (docs+config+code) для cross-layer навигации. Spike `spike/graphify-2026-05-27` отработал три фазы (docs/ → .claude/ → app/) с воспроизводимой методологией «subfolder + `graphify merge-graphs`». Ultimate combined граф: 6305 узлов / 6753 рёбер / 1009 communities (93% EXTRACTED / 7% INFERRED). Артефакты `graphify-out/{graph.json,GRAPH_REPORT.md,graph.html,cache/}` в CWD откуда запущен — **`graphify-out*/` обязательно в `.gitignore`**.

**Активация:** explicit `/graphify <команда>` (query / path / explain / update / build), не проактивно. Strict gate: если уже существует `graphify-out/graph.json` и вопрос natural-language — fast-path сразу к `graphify query`, не пересборка.

**Стратегия обновлений:**

- **Manual `/graphify --update`** — единственный безопасный режим. AST-only для code-изменений (бесплатно, deterministic), LLM-semantic для doc/MD-изменений (через subagent dispatch, дорого).
- **Auto-update post-commit hook отложен** (см. ADR-017 §«Стратегия обновлений»). Spike-попытка 27.05 разнесла граф 6305 → 41586 узлов (38 МБ bloat) — `graphify update .` от широкого scope подхватил `tools/` + root-level .mjs за пределами трёх фаз. Откат через re-merge phase-бэкапов восстановил canonical. Перед auto-wire-in: спроектировать узкий scope + exclude pattern (vendor/, tools/, node_modules/), узкий manifest, smoke-test.

**Конфликт-аудит (ADR-017):**

- **KG1 — ↔ context7 (#60):** разные слои доков. context7 = внешние SDK/фреймворки (vendor docs); graphify = внутренний codebase Лидерры. Не дублируют.
- **KG2 — ↔ Laravel Boost (#10):** разный grain. Boost = runtime queries в app/ (Eloquent/DB/Laravel-docs); graphify = static cross-layer relationship graph. Boost первый для «выполни SQL»; graphify для «покажи связи».
- **KG3 — ↔ openapi-mcp-server (#47):** разный объект. openapi = introspection одного спека; graphify = весь проект, OpenAPI как часть.
- **KG4 — ↔ Sentry MCP (#34):** разная плоскость. Sentry = runtime errors; graphify = структурные отношения. Post-mortem: Sentry находит X, graphify показывает blast radius.
- **KG5 — ↔ adr-kit (#36) + mermaid-skill (#37):** разная природа. ADR/mermaid = manual authoring (декларативно); graphify = auto-discovery из исходников. ADR — нормативное решение, graphify-граф — наблюдаемая структура.

**Координация:** PSR_v1 R10.1 (CLI off-phase, не UI → вне R6.0/R6.1/R14); R15.6 +knowledge-graph-tooling в список off-phase подкатегорий. ADR-017.

**Ollama compliance:** Ollama установлен в проекте для 152-ФЗ-чувствительных задач (локальный LLM без отправки в Anthropic), но graphify Ollama НЕ использует — два независимых инструмента.

### 4.60. perplexity MCP — ранжированный веб-ответ с источниками (off-phase, research-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #87 | perplexity MCP | mcp | off-phase | research-tooling | «веб-разведка», «актуальные практики», «что говорят источники», «deep research», «sonar» | ADR-019 (RT1 ↔ context7 #60; RT4 ↔ exa #88) | false | 2026-06-14 |

**Роль:** инструмент **#87**. MCP-сервер `@perplexity-ai/mcp-server` (READ-ONLY): `perplexity_search` (ранжированный web-ответ), `perplexity_ask` (sonar-pro real-time с цитатами), `perplexity_research` (sonar-deep-research, 30s+), `perplexity_reason` (sonar-reasoning-pro). Первичный «дай ответ-с-источниками» в research chain L17. Базовый URL через AITUNNEL (`PERPLEXITY_BASE_URL`); ключ `PERPLEXITY_API_KEY` только в env (платный API, owner waiver).

**Категория:** off-phase, **research-tooling** — 20-я off-phase подкатегория (внешние MCP веб-разведки). Не UI → **не** проходит R6.0/R6.1/R14 PSR_v1. Регулируется PSR_v1 R10.1 Блок 3 (MCP-сервер). Gate-постура read_only зафиксирована в `tools/mcp-tool-classifier.mjs` (commit `bfc1f575`).

### 4.61. exa MCP — семантическое обнаружение источников (off-phase, research-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #88 | exa MCP | mcp | off-phase | research-tooling | «семантический поиск», «нейро-поиск», «обнаружение источников по смыслу», «exa» | ADR-019 (RT4 ↔ perplexity #87 / firecrawl #89) | false | 2026-06-14 |

**Роль:** инструмент **#88**. MCP-сервер `exa-mcp-server` (exa-labs, READ-ONLY): `web_search_exa` (находит концептуально близкое, что keyword-поиск пропускает) + `web_fetch_exa` (страница по URL). Слой «обнаружение источников по смыслу» в research chain L17. Ключ `EXA_API_KEY` только в env (платный API).

**Категория:** off-phase, research-tooling — 20-я off-phase подкатегория (внешние MCP веб-разведки). Не UI → вне R6.0/R6.1/R14 PSR_v1. PSR_v1 R10.1 Блок 3. Gate read_only (commit `bfc1f575`).

### 4.62. firecrawl MCP — глубокое чтение и обход веба (off-phase, research-tooling)

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #89 | firecrawl MCP | mcp | off-phase | research-tooling | «глубокое чтение страницы», «обход сайта», «scrape», «crawl», «извлечь структурированное», «firecrawl» | ADR-019 (RT4 ↔ perplexity #87 / exa #88; RT3 ↔ openapi #47) | false | 2026-06-14 |

**Роль:** инструмент **#89**. MCP-сервер `firecrawl-mcp` (Firecrawl/Mendable, READ-ONLY read-тяжёлый): `firecrawl_scrape` / `batch_scrape` / `map` / `search` / `crawl` / `extract` + `firecrawl_agent` (автономный web-research) + `firecrawl_agent_status`. Слой «прочитать страницу целиком / обойти сайт» в research chain L17. Ключ `FIRECRAWL_API_KEY` только в env (платный API).

**Категория:** off-phase, research-tooling — 20-я off-phase подкатегория (внешние MCP веб-разведки). Не UI → вне R6.0/R6.1/R14 PSR_v1. PSR_v1 R10.1 Блок 3. Gate read_only (commit `bfc1f575`).

**Граница research-tooling (ADR-019, RT1–RT9):** открытый веб (практики/нормы/конкуренты); ≠ context7 #60 (SDK-доки) / openapi #47 (наш REST) / Boost #10 (Laravel) / Sentry #34 + Redis #35 (runtime прод) / graphify #86 (внутренний граф) / GitHub #3 (репо). Внутри пака: perplexity #87 (ответ) → exa #88 (обнаружение) → firecrawl #89 (чтение) — связка L17. Платные API, ключи только в env, без авто-трат (RT8). IS9-вет `docs/research/research-vet.md` — все три ПРИНЯТ.

---

## 5. Фаза 3 — pre-production (+5 новых, итого 29 активных)

**Триггер:** ~спринт 12, перед публичным релизом MVP.

| # | Инструмент | Установка | Категория | Роль |
|---|---|---|---|---|
| 25 | **Semgrep + Semgrep MCP** | `pip install semgrep` + `claude mcp add semgrep` | SAST | Скан по антипаттернам Прил. М §6.6: пароль в `<input type="text">`, API-ключи в `<input type="text">`, hardcoded URL вроде `prostats.info/bitrix24/webhook.php` |
| 26 | **Trivy** | GitHub Releases | Container scan | Скан Docker-образов перед push в Yandex Container Registry |
| 27 | **GitHub Dependabot** | `.github/dependabot.yml` | Dependency scan | Авто-PR с фиксом CVE для `composer.json` и `package.json` |
| 28 | **pg_audit** (расширение PostgreSQL) ✅ прод 22.05.2026 | `CREATE EXTENSION pgaudit` | Compliance | Аудит-логи в дополнение к `auth_log`, `pd_processing_log`, `incidents_log` (требование 152-ФЗ) |
| 29 | **pg_anonymizer** (расширение PostgreSQL) ✅ прод 22.05.2026 | `CREATE EXTENSION anon` | Compliance | Маскирование ПДн в dev/staging-дампах. Правило §5.1 правил Claude (`+7XXXXXXXXXX`, `***@***`) |

> Нумерация 25–29 — это глобальные индексы в порядке введения. Активных в финале — 28 (см. §0): из 29 номеров минус #1 (PostgreSQL MCP) — заменён Boost'ом.

### 5.1. Атрибуты узлов фазы 3 (per ADR-011)

Структурированный реестр 9-атрибутов для phase-3 nodes #25–#29 (per ADR-011, см. §0.1). Phase-3 tools — pre-production (триггер фазы ~спринт 12 per CLAUDE.md §6); registry-known but not yet runtime-installed. `dormant=false` (field semantics: installed-but-disabled, not «not-yet-installed»).

#### #25 Semgrep + Semgrep MCP

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #25 | Semgrep + Semgrep MCP | binary-dep | 3 | — | «SAST, security static analysis» | связка binary+mcp | false | 2026-05-19 |

#### #26 Trivy

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #26 | Trivy | binary-dep | 3 | — | «Docker image scan, container vulnerabilities» | none | false | 2026-05-19 |

#### #27 GitHub Dependabot

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #27 | GitHub Dependabot | github-config | 3 | — | «CVE PR auto, dependency updates» | none | false | 2026-05-19 |

#### #28 pg\_audit

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #28 | pg_audit | pg-extension | 3 | — | «audit logs PostgreSQL, mutation tracking» | none | false | 2026-05-22 |

**Статус:** ✅ установлен на боевом `liderra.ru` 22.05.2026 (PostgreSQL 16, `shared_preload_libraries='pgaudit'`, `pgaudit.log='ddl, role, write'`, `log_parameter=off` — ПДн не логируются). Журнал → `/var/log/postgresql/postgresql-16-main.log`. Установка/использование — [`docs/security/pgaudit-anonymizer-setup.md`](security/pgaudit-anonymizer-setup.md).

#### #29 pg\_anonymizer

**Атрибуты:**

| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched |
|---|---|---|---|---|---|---|---|---|
| #29 | pg_anonymizer | pg-extension | 3 | — | «маскирование ПДн в дампах» | none | false | 2026-05-22 |

**Статус:** ✅ установлен на боевом `liderra.ru` 22.05.2026 (anon 3.0.13, Rust/pgrx — собран из исходников; нет готового пакета). Загрузка по требованию (`LOAD 'anon'`), НЕ db-wide preload — портал не замедляется. Установка/использование — [`docs/security/pgaudit-anonymizer-setup.md`](security/pgaudit-anonymizer-setup.md).

---

## 6. Конфликты и решения

10 зон, где без явного правила я выберу не тот инструмент (5 классических из v1.0 + 5 новых из v1.4 PSR_v1, формализованных в Прил. Н v1.13):

| # | Конфликт | Решение |
|---|---|---|
| 1 | **PostgreSQL MCP ↔ Laravel Boost (Database Query)** в момент перехода фазы 0→1 | В момент `boost:install` сразу убрать PG MCP из `.mcp.json`. Не оставлять оба активными |
| 2 | **Pest ↔ PHPUnit** | **Pest 4** (CTO-12 переоткрыт+закрыт 08.05.2026 поздний вечер). На `boost:install` отключить guideline PHPUnit |
| 3 | **vue-tsc ↔ Volar inline check** | Volar — для редактора (быстрый). vue-tsc — только в CI (полный pass) |
| 4 | **ESLint stylistic ↔ Prettier** | `eslint-config-prettier` обязателен. Без него — конфликт правил |
| 5 | **Pa11y ↔ Lighthouse a11y** | Lighthouse не входит в 28 (он инфраструктурный, см. §12). Если будет добавлен — отключить категорию `accessibility` через `--only-categories=performance,best-practices` |
| 6 | **UPM (#31) ↔ Frontend Design (#30) на одной фазе UI-фичи** | PSR_v1 R10.1 + R14.5: **не параллельно**. UPM активируется **последовательно** как fallback (R14.3 «FD выдал не покрывает») или как «третий вариант» в R12 архитектурном (R11.5). Решатель — всегда FD; UPM — материал |
| 7 | **21st Magic MCP (#32) ↔ существующий Vuetify-компонент** | PSR_v1 R0.6 пункт 10: **hard-стоп даже в Auto mode**. Для `v-data-table`/`v-text-field`/`v-dialog`/`v-select`/`v-card`/`v-btn` и др. — использовать Vuetify, 21st не вызывается. Дублирование инструментов на одну задачу = нарушение CLAUDE.md §5 п.6 |
| 8 | **21st Magic MCP (#32) ↔ брендовый компонент App\*** | PSR_v1 R0.6 пункт 9: **hard-стоп**. Для `AppButton`/`AppCard`/`AppDataTable`/`AppDialog` и любых App*-семейств — R12 архитектурное (3 варианта по Pravila §4.5), 21st не вызывается. Брендовая оболочка проектируется руками с FD-принципами |
| 9 | **framer-motion ↔ motion-v** (Vue порт) | PSR_v1 R15.1 + R15.2: framer-motion — **hard-запрет навсегда** (React-only архитектурно, не работает в Vue). motion-v — условно по 4 триггерам (а)+(б)+(в)+(г). По умолчанию ни то, ни другое — стойка R15.3 (Vue native + Vuetify + CSS + View Transitions API) |
| 10 | **UPM (#31) ↔ 21st Magic MCP (#32) на одной фазе** | PSR_v1 R14.5: **не на одной фазе**. UPM работает на фазах 1/2 R2 (brainstorming + visual design); 21st — на фазе 5 R2 (визуальная сборка). Если кажется, что нужны оба — задача декомпозируется на под-задачи |

---

## 7. Source of truth — приоритет правил

При противоречии между правилами (синхронизировано с CLAUDE.md §1, 7-уровневая файловая иерархия; добавлен PSR_v1 уровнем 3 в v1.13):

```
0. docs/Pravila_raboty_Claude_v1_1.md §12 (Superpowers hard rule — выше всех)
        ↓
1. docs/Pravila_raboty_Claude_v1_1.md (остальные параграфы — продуктовые правила, утверждены заказчиком)
        ↓
2. CLAUDE.md (корень — оперативная карта, авто-загружается Claude Code)
        ↓
3. docs/Plugin_stack_rules_v1.md (PSR_v1 — координация paired-stack ядра + расширенного UI-пула + motion-системы)
        ↓
4. .claude/settings.json (хуки, permissions — исполняется средой)
        ↓
5. memory/*.md (динамическая память между сессиями Claude)
        ↓
6. Прочие плагины и встроенные skills Claude Code (поведенческие подсказки, ниже всех)
```

**Правило применения:** при любом конфликте — выбирается верхний источник. Нижестоящие игнорируются в части, которая противоречит верхним. Это правило явно зафиксировано в `CLAUDE.md` §1. **Scope:** общая файловая/слоевая иерархия. Внутрипараграфный приоритет внутри Pravila — см. Pravila §0; scope головенства stack'а — см. PSR_v1 R0.1.

> **Tooling Прил. Н в priority chain (v1.14+):** этот файл (детальный реестр 33 инструментов) сидит **уровнем 2b** alongside CLAUDE.md (общая оперативная карта) — оба operational maps. При прямом конфликте между ними побеждает **CLAUDE.md** как корневая карта Claude Code. Раньше (до v1.14) Tooling формально не был в priority chain ни одного из 4 файлов, хотя PSR_v1 R0.1 говорил «stack ниже Файлы CLAUDE.md / Pravila / Tooling» — формальная дыра при конфликте «Tooling vs PSR_v1». Закрыто в v1.14 (audit P2-01).
>
> Полная цепочка с Tooling: 0 (Pravila §12) → 1 (Pravila) → 2a (CLAUDE.md) + 2b (этот файл, alongside) → 3 (PSR_v1) → 4 (settings.json) → 5 (memory) → 6 (прочие плагины).

---

## 8. Source of truth — конфиги

Где какой конфиг лежит и кто его редактирует:

| Конфиг | Где | Редактирует | В git? |
|---|---|---|---|
| `.markdownlint.json` | корень | разработчик | ✅ |
| `cspell.json` + `cspell-words.txt` | корень | разработчик (словарь обновляется по PR) | ✅ |
| `.lychee.toml` | корень | разработчик | ✅ |
| `.gitleaks.toml` | корень | security lead | ✅ |
| `.stylelintrc.json` | корень | frontend lead (фаза 2) | ✅ |
| `pa11y.config.json` | корень | frontend lead | ✅ |
| `.claude/settings.json` (хуки, permissions) | `.claude/` | Claude (по запросу через `/update-config`) | ✅ |
| `.mcp.json` (MCP-серверы) | корень | разработчик (не Boost) | ✅ — расхождение с дефолтом Boost'а |
| `CLAUDE.md` | корень | Claude (по запросу заказчика) | ✅ |
| `boost.json` | корень | разработчик | ✅ |
| `pint.json` | корень (фаза 1) | backend lead | ✅ |
| `phpstan.neon` (Larastan) | корень (фаза 1) | backend lead | ✅ |
| `eslint.config.js` | корень (фаза 2) | frontend lead | ✅ |
| `.prettierrc` + `.prettierignore` | корень (фаза 2) | frontend lead | ✅ |
| `vitest.config.ts` | корень (фаза 2) | frontend lead | ✅ |
| `histoire.config.ts` | корень (фаза 2) | frontend lead | ✅ |
| `semgrep.yml` | `.github/` (фаза 3) | security lead | ✅ |
| `dependabot.yml` | `.github/` (фаза 3) | DevOps | ✅ |

---

## 9. Что НЕ ставим и почему (10 пунктов + motion-runtime раздел v1.12)

### 9.1. Изначальный список

| Инструмент | Причина отказа |
|---|---|
| ~~**Frontend Design** plugin (Anthropic)~~ | **СНЯТО 09.05.2026** (v1.10): запрет CLAUDE.md §5 п.5 снят, плагин включён как paired stack со Superpowers; координация — `docs/Plugin_stack_rules_v1.md`. Anti-pattern «Inter» нейтрализован hard-override R6.1 PSR_v1 |
| **CodeQL** | Дублирует Semgrep; платный для private-репо; Semgrep CE покрывает наши потребности |
| **Laravel Security Checker** (`enlightn/security-checker`) | Дублирует Dependabot + Roave |
| **PHP-CS-Fixer** | Перекрывается Pint'ом (Pint = надстройка над CS-Fixer) |
| **Psalm** | Перекрывается Larastan |
| **Jest** | Перекрывается Vitest (один тест-раннер) |
| **Storybook** (для Vue) | Histoire легче и нативнее для Vue 3 + Vite |
| **Snyk** (платный) | Dependabot бесплатный и достаточный |
| **markdown-link-check** | lychee быстрее (Rust vs Node) и надёжнее |
| **Sequential Thinking MCP** | Дублирует моё базовое рассуждение, жрёт токены |
| **Memory MCP** | Конфликтует с моей файловой памятью в `memory/` |
| **Tailwind MCP / shadcn-vue** | У нас Vuetify (CTO-11), не Tailwind |
| **Inertia / Livewire / Filament / Flux UI / Nova / Folio / Volt / Wayfinder guidelines** Boost'а | Не используются в стеке проекта |

### 9.2. Motion runtime библиотеки (с v1.16 — technical guidance, не regulatory)

С v1.16 / PSR_v1 v2.0 motion-runtime библиотеки **разрешены к установке без обоснования** (R15 PSR_v1 снят 12.05.2026). Default motion stack — **Vue native `<Transition>` + Vuetify transitions + CSS @keyframes + View Transitions API** — остаётся рекомендацией (CLAUDE.md §2), но не hard-rule. Эта таблица — **technical guidance** о свойствах библиотек, не regulatory denylist.

| Библиотека | Статус | Технические свойства |
|---|---|---|
| **framer-motion** (npm `framer-motion`) | **❌ Technical block (не regulatory)** | React-only архитектурно: peerDeps `react>=18` + `react-dom>=18`. Использует React fiber-tree + hooks + JSX. В Vue 3 + Vuetify стеке физически не работает — runtime crash при `import { motion } from 'framer-motion'` в `.vue` файлах. `npm install` пройдёт с peer-dep warn, но любой import упадёт. Не regulatory rule — свойство библиотеки. |
| **react-spring** (npm `@react-spring/*`) | **❌ Technical block** | React-only по той же причине (peerDep react). |
| **motion-v** (npm `motion-v`) | ✅ Разрешено | Vue 3 порт API framer-motion от того же maintainer'а Motion. ~30 KB gzipped. ~95% API-совместимость с framer-motion (motion.div, animate, variants, layout, drag, gestures). |
| **gsap** (`gsap` npm) | ✅ Разрешено | Imperative timeline-driven. Подходит для marketing/agency UI, сложных choreographed sequences. |
| **anime.js** | ✅ Разрешено | Лёгкая alternative gsap, ~17 KB. |
| **lottie-web** (`lottie-web`) | ✅ Разрешено | Для Lottie/After Effects-ассетов. |
| **popmotion**, **@motionone/dom** | ✅ Разрешено | Низкоуровневые движки. |
| **Auto-Animate** (`@formkit/auto-animate`) | ✅ Разрешено | Один компонент, FLIP под капотом, ~3 KB. |

**Default motion stack (без runtime-зависимостей):**

| Слой | Что покрывает | Размер |
|---|---|---|
| Vue 3 native `<Transition>` / `<TransitionGroup>` | enter/leave hooks, FLIP через TransitionGroup, JS-callbacks | 0 KB (нативно) |
| Vuetify 3 transitions (`v-fade`, `v-slide-y`, `v-slide-x`, `v-scale`, `v-expand`, `v-dialog-transition`) | Material-design анимации; уже в `vuetify@3.12` | 0 KB сверху |
| CSS `@keyframes` + `transition` + `prefers-reduced-motion` | Произвольные анимации, GPU-acceleration через `transform`/`opacity`, поддержка a11y | 0 KB |
| View Transitions API (Chrome 111+, Safari 18+) | Cross-document / cross-route переходы, FLIP под капотом нативно | 0 KB (браузер) |

---

## 10. Процедура перехода между фазами

### 10.1. Фаза 0 → Фаза 1

**Триггер:** `composer create-project laravel/laravel app` (или эквивалент).

**Шаги (исходный план; отметки фактического статуса в правой колонке после прохождения 08.05.2026):**

| # | Шаг | Статус 08.05.2026 |
|---|---|---|
| 1 | `composer require laravel/boost --dev` | ✅ `e04f53b` (Boost v2.4.6) |
| 2 | ~~Запустить `php artisan boost:install` — пройти интерактивный wizard~~ | ⚠️ **обойдено**: wizard сломан на этой машине (кириллица + L13 ConfiguresPrompts bug) — см. §3.1 «Что нового в v1.5» и memory `feedback_environment.md` п.26. **Manual setup** вместо wizard'а |
| 3 | Удалить PostgreSQL MCP из `.mcp.json` | ✅ убран ещё в фазе 0 (`_comment_postgres`) |
| 4 | ~~В `boost.json` — отключить нерелевантные guidelines~~ | ❌ **избыточно**: Boost через Roster auto-detect видит установленные пакеты — не установленных (Inertia/Livewire/Tailwind/Filament/Sail/PHPUnit) не серверит. `boost.json` минимален: 3 ключа (agents/guidelines/mcp) |
| 5 | Создать кастомный guideline для Vuetify 3 в **`app/.ai/guidelines/vuetify.md`** (был `resources/boost/guidelines/vuetify.blade.php` — путь скорректирован на §10.2 после source-проверки) | ✅ `e04f53b` |
| 6 | ~~Слить (не перезаписать) `CLAUDE.md` если Boost создал черновик~~ | ❌ **не применимо**: при manual setup Boost ничего не пишет в `CLAUDE.md` (ни корневой, ни `app/CLAUDE.md`). Корневой остаётся источником истины |
| 7 | Установить Pint, Larastan, Roave/SecurityAdvisories, IDE Helper | ✅ Pint+Larastan+IDE Helper в `0345683`; Roave/SA в `0eb2f72` |
| 8 | Установить squawk, pgFormatter | ✅ squawk v2.51.0 + pgFormatter v5.9 в коммите v1.6 (см. §0 «Что нового в v1.6»). Squawk — pre-commit хук на staged `*.sql` + конфиг `.squawk.toml` (9 правил исключены). pgFormatter — только ручной режим через npm-скрипты, авто-fix хук недопустим (стиль schema.sql ручной) |
| 8a | ~~Установить pg_partman~~ | ❌ **не применимо**: Windows-native PG не имеет pg_partman; заменён ручным cron'ом — см. memory `project_phase1_strategy.md` |
| 9 | Установить **Pest 4** | ✅ `30f0335` (Pest 4.7.0 + plugin-laravel 4.1.0; smoke-test 2/2 за 281 ms) |
| 10 | Обновить `.claude/settings.json` — добавить хуки для Pint и Larastan | ⏸ pending: после установки `lefthook` или эквивалента |
| 11 | Прогнать full-pass всех инструментов | ⏸ pending: после §8/§10 |
| 12 | Обновить эту версию Прил. Н | ✅ v1.0 → v1.1 (Pest 3) → v1.2 (native стек) → v1.3 (Pest 4) → v1.4 (Laravel 13) → **v1.5 (Boost+SA active)** |

### 10.2. Vuetify guideline для Boost (заготовка)

> **Путь к файлу:** `app/.ai/guidelines/vuetify.md` (или `.blade.php`, оба расширения поддерживаются `GuidelineComposer`). Старая формулировка «`resources/boost/guidelines/vuetify.blade.php`» скорректирована в v1.5 после source-проверки `Laravel\Boost\Install\GuidelineComposer::userGuidelineDir = '.ai/guidelines'`. Финальная версия живёт в репозитории — заготовка ниже сохранена как историческая.

```blade
## Vuetify 3

Проект использует Vuetify 3 как UI-библиотеку (CTO-11). Tailwind CSS, shadcn-vue, Element UI, jQuery, Bootstrap — НЕ использовать.

### Палитра — из brandbook.md §3 и §8.2

- primary: `#0F6E56` (Teal 600)
- secondary: `#5DCAA5` (Teal 200)
- background: `#F1EFE8` (Slate 100)
- surface: `#FFFFFF`

Vuetify-тема — `liderraLight` и `liderraDark` — определена в `brandbook.md` §8.2.

### Шрифты

- основной: Inter (через Google Fonts с subset cyrillic)
- код: JetBrains Mono

### Компоненты

Использовать Vuetify-компоненты (`v-card`, `v-btn`, `v-data-table`, `v-form`, `v-text-field`) с дефолтным material-стилем, переопределённым через `:root` CSS-переменные из `brandbook.md` §8.1.

### A11y

Все компоненты должны проходить Pa11y по WCAG 2.1 AA (брендбук §3.4). Контраст текста на белом — минимум 4.5:1.
```

### 10.3. Фаза 1 → Фаза 2

**Триггер:** первый Vue-компонент.

**Шаги:**

1. Установить Volar (VSCode), vue-tsc, ESLint + config-prettier + plugin-vue, Prettier, Vitest, Histoire.
2. Установить Superpowers v5.1.0 — **все 14 skills** (Pravila §12 v1.4+ hard rule «Superpowers first»; Pravila §11 «полное снятие запретов» с v1.8). Установка декларативно через `~/.claude/settings.json`: `extraKnownMarketplaces.superpowers-dev` + `enabledPlugins.superpowers@superpowers-dev=true`. **Без `enabled_skills` ограничителей.** ⚠️ **Историческая контрадикция (закрыта v1.14):** до v1.14 этот шаг гласил «enabled_skills = только 3 (test-driven-development, systematic-debugging, subagent-driven-development)» — устаревшая политика v1.7 (3/13 skills с запретами). v1.8 сняла все запреты через §11 override (вариант «A. Полное снятие»); v1.9 ввела §12 hard rule (skill инвокируется первым). См. §4.1 этого же файла для полной хронологии.
3. Прогнать первый Histoire-story для тестового компонента.
4. Запустить Pa11y на первой Vue-странице (выявить регрессии относительно HTML-прототипов).
5. Обновить Прил. Н: v1.1 → v1.2.

### 10.4. Фаза 2 → Фаза 3

**Триггер:** ~спринт 12, объявление о подготовке к релизу.

**Шаги:**

1. Установить Semgrep + Semgrep MCP, Trivy, Dependabot.
2. Включить расширения PostgreSQL: pg_audit, pg_anonymizer. ✅ выполнено на боевом `liderra.ru` 22.05.2026 (см. `docs/security/pgaudit-anonymizer-setup.md`).
3. Прогнать первый полный SAST-пасс по проекту, зафиксировать baseline.
4. Прогнать Trivy на текущем образе, зафиксировать baseline.
5. Сделать первый dump БД через pg_anonymizer для staging.
6. Обновить Прил. Н: v1.2 → v1.3.

---

## 11. Конфигурация под Windows + PowerShell

Особенности для текущего окружения (Windows 10, PowerShell 5.1):

### 11.1. Пути и кодировки

- Все скрипты в `package.json` — кросс-платформенные (использовать `cross-env`, не `export VAR=...`).
- Файлы `.md` — UTF-8 БЕЗ BOM. Если PowerShell `Set-Content` создал файл с BOM — исправить.
- Длинные пути — включить `git config --global core.longpaths true` перед клонированием в глубокие папки.

### 11.2. Git worktrees

- Skill `using-git-worktrees` Superpowers **разрешён** с 09.05.2026 (см. §4.1; Pravila §11). Запрет был снят вместе с прочими.
- Среда остаётся враждебной: **на этой машине путь содержит кириллицу** (`c:\моя\проекты\портал crm\…`) — worktree-операции будут падать с неинформативной ошибкой. Skill при использовании сам должен обработать ошибку или переключиться на альтернативу.
- Если ручное использование worktree — избегать пробелов и кириллицы (`c:\projects\liderra-feature` ОК, `c:\My Documents\...` или `c:\моя\…` — НЕ).

### 11.3. Pre-commit hooks

- Husky или lefthook (предпочтительно lefthook — на Go, без Node-зависимости).
- Скрипты в hooks — bash-совместимые, запускать через `cmd /c` или WSL.

### 11.4. Глобальные CLI-утилиты

- **gitleaks**, **lychee**, **squawk**, **Trivy**, **Semgrep** — скачать готовые бинарники для Windows из GitHub Releases (squawk: `npm i -g squawk-cli` + копия в `bin/squawk.exe` см. §3.3).
- **pgFormatter** — Perl-скрипт. На этой машине работает через **Cygwin Perl 5.42.2** из Git for Windows (без отдельной установки ActivePerl/Strawberry/WSL). Если Git for Windows не ставился — поставить ActivePerl или Strawberry Perl.
- **Pa11y**, **markdownlint-cli2**, **cspell**, **Histoire** — npm-пакеты, работают нативно.

### 11.5. Yandex Cloud CLI и Terraform

Не входят в 35 формализованных позиций тулчейна (см. §12). Ставятся отдельно для DevOps-роли. На Windows — `yc` и `terraform` через скачивание `.zip` или `winget`.

---

## 12. Что вне реестра формализованных позиций (инфраструктура)

Эти 7 пунктов критичны для проекта, но используются DevOps, не Claude. Поэтому в основной реестр не входят, но фиксирую для полноты:

| Инструмент | Зачем |
|---|---|
| Yandex Cloud CLI (`yc`) | Провижининг по Прил. К |
| Terraform + `yandex-cloud/yandex` provider + terraform-ls | IaC |
| Docker + docker-compose | Локальная разработка |
| GitHub Actions | CI/CD pipeline |
| Sentry self-hosted | Ю-7 (зафиксировано) |
| Grafana + Prometheus + Alertmanager | Прил. И §1 |
| Lighthouse CI | Performance-регрессия в pipeline |

Если позже решим вовлечь Claude в инфраструктурные задачи — добавится фаза 4 (или эти инструменты переедут в основной реестр).

---

## 13. История версий

| Версия | Дата | Что нового |
|---|---|---|
| **v1.0** | 06.05.2026 | Первая версия. Зафиксированы 28 активных инструментов в 4 фазах, перечень того, что НЕ ставим (10+ пунктов), источники истины для конфигураций, процедура перехода между фазами, особенности Windows + PowerShell. Утверждено заказчиком 06.05.2026 («да, A, делай. Подтверждаю»). Архитектурных изменений в основном архиве: 0 (только добавлен новый шифр Н). |
| **v1.10** | 09.05.2026 | Добавлен **#30 Frontend Design plugin (Anthropic)** в фазе 2 — paired stack со Superpowers. Запрет CLAUDE.md §5 п.5 снят по явной команде заказчика. Координация через новый документ `docs/Plugin_stack_rules_v1.md` (10 правил, 8 ранее найденных конфликтов закрыты патчами). Добавлен §4.4 «Доменный слой UI — Frontend Design plugin». Phase 2: 6 → 7, total: 28 → 29 номеров (активных 18 → 19). Установка через `~/.claude/settings.json`. |
| **v1.12** | 10.05.2026 | **Формализация двух фактически включённых внешних UI-инструментов как «инструменты-резерв вне фаз»:** **#31 UI UX Pro Max** (skill, marketplace `nextlevelbuilder/ui-ux-pro-max-skill`) — резерв-библиотека (50+ стилей, 161 палитра, 99 UX-гайдлайнов, 25 типов графиков); активация через PSR_v1 v1.4 R14.3 pipeline (фаза 2 R2 fallback к FD ИЛИ фаза 1 R2 «третий вариант» в R12). **#32 21st.dev Magic MCP** (`magic` MCP-сервер) — генератор стартовых шаблонов; активация через PSR_v1 v1.4 R14.4 pipeline (pre-check R0.6 + R6.0 фильтр + R6.1 hard-override + FD адаптация). Оба не привязаны к фазе по тулчейну (post-MVP инструменты-резерв). Добавлены §4.5 + §4.6. **§9 «Что НЕ ставим» дополнен разделом «Motion runtime библиотеки»:** framer-motion + react-spring (R15.1 hard-запрет, React-only); motion-v + gsap + anime.js + lottie-web + popmotion (R15.2/R15.7 условно по 4 триггерам, R0.6 пункт 11 hard-стоп). Default motion stack: Vue native + Vuetify + CSS + View Transitions API. Total формализованных: 29 → **31 позиций** (активных по фазам — 19/29; +2 off-phase). Связано: PSR_v1 v1.3 → v1.4; Pravila v1.7 → v1.8 (§13.10 hard-link на R14); CLAUDE.md v1.82 → v1.83. |
| **v1.13** | 10.05.2026 | **Закрытие 4 структурных находок аудита нормативной документации:** **§7 «Source of truth»** обновлён с 5-уровневой на 7-уровневую цепочку — добавлен `Plugin_stack_rules_v1.md` (PSR_v1) уровнем 3 (координирующий слой между paired-stack ядром и расширенным UI-пулом); явно вынесен Pravila §12 (Superpowers hard rule) уровнем 0; sync с CLAUDE.md §1. **§4.7 (новый) — #33 claude-md-management plugin** формализован как off-phase инфраструктурный инструмент (был фактически включён в `~/.claude/settings.json` с момента CLAUDE.md §5 п.10, но без формализации); отдельная категория **инфраструктурная**, не UI — поэтому не попадает под Pravila §13 (расширенный UI-пул) и не проходит R6.0/R6.1/R14 pipeline. **§6 «Конфликты и решения»** расширен с 5 до 10 строк — добавлены 5 новых конфликтов из PSR_v1 v1.4: UPM↔FD, 21st↔Vuetify-эквивалент, 21st↔брендовый App*, framer-motion↔motion-v, UPM↔21st. **§4.6 — settings.json → ~/.claude.json:** уточнено, что API-ключ 21st хранится в `~/.claude.json`, **не** в `~/.claude/settings.json`. **§0 — счётчик 31 → 33** (3 off-phase: UPM #31, 21st #32, claude-md-management #33). Total формализованных: 33 (29 активных по фазам + 3 off-phase + 1 заменённый PG MCP исторически). Связано: Pravila v1.8 → v1.9, PSR_v1 v1.4 → v1.5, CLAUDE.md v1.83 → v1.84. |
| **v1.14** | 10.05.2026 (вечер) | **Закрытие 3 находок второго аудита правил использования плагинов и скилов** (P0-01, P0-04, P2-01 в Tooling — из 15 общих находок). **P0-01: §10.3 шаг 2 sync с §4.1** — раньше шаг гласил «Установить Superpowers с конфигом enabled_skills = только 3» (политика v1.7), но §4.1 того же файла говорит «v1.8 снятие запретов через §11 override (полное снятие); v1.9 hard rule §12 первоочерёдное использование» — внутри-документная контрадикция. v1.14: §10.3 шаг 2 переписан на 14 skills с пометкой об устаревшей версии. **P0-04: §13 +v1.13 +v1.14 entries** — раньше история обрывалась на v1.12, хотя шапка описывала v1.13. v1.14: таблица синхронизирована (добавлены v1.13 + v1.14 строки). **P2-01: §7 priority chain +Tooling explicit slot** — раньше Tooling Прил. Н формально не было в priority chain ни одного из 4 файлов, хотя PSR_v1 R0.1 говорил «stack ниже Tooling»; формальная дыра при конфликте «Tooling vs PSR_v1». v1.14: добавлен note про Tooling уровнем 2b alongside CLAUDE.md (оба operational maps; при прямом конфликте — приоритет CLAUDE.md). Total формализованных: **33** (без изменений; правки касаются формулировок и priority chain). Связано: Pravila v1.9 → v1.10, PSR_v1 v1.5 → v1.6, CLAUDE.md v1.84 → v1.85. Через `/claude-md-management:claude-md-improver`. |
| **v1.15** | 10.05.2026 (поздний вечер) | **Закрытие 4 находок третьего аудита правил использования плагинов и скилов** (P1-03/04/05 + §11.5/§12 «28→33» в Tooling — из 13 общих находок). **P1-03/04/05: sync cross-refs шапки** на актуальные версии связанных документов после bump'ов CLAUDE.md v1.85 → v1.86 и PSR_v1 v1.6 → v1.7: «Pravila v1.9+» → «v1.10+», «PSR_v1 v1.5+» → «v1.7+», «CLAUDE.md v1.84+» → «v1.86+». «+»-нотация сохранена (forward-compat). **§11.5/§12 — формулировка «28 инструментов» → «33 формализованные позиции»:** в DevOps-разделе текст застрял с эпохи v1.0, когда счётчик был 28; смысловое назначение фразы — «реестр Лидерры», который теперь имеет 33 формализованных позиции. История версий ниже и changelog'и в шапках v1.0/v1.10/v1.12 — это снимки эпох и не правятся. Total формализованных: **33** (без изменений; правки касаются формулировок и cross-refs). Связано: PSR_v1 v1.6 → v1.7, CLAUDE.md v1.85 → v1.86. Pravila v1.10 — без правок. Через `/claude-md-management:claude-md-improver`. |
| **v1.16** | 12.05.2026 | **Закрытие 1 правки четвёртого аудита — снятие R15 motion-runtime denylist'а из §9.2** синхронно с PSR_v1 v1.7 → v2.0 + CLAUDE.md v1.87 → v1.88 + Pravila v1.10 → v1.11. **§9.2 «Motion runtime библиотеки» переформулирован из regulatory denylist в technical guidance.** R15 PSR_v1 снят целиком (v1.7 → v2.0); motion-v / gsap / anime.js / lottie-web / popmotion / @motionone/dom — безусловно разрешены к установке. framer-motion / react-spring остаются как **technical block** — peerDep на React, не правило проекта. Cross-refs шапки sync: PSR_v1 v1.7+ → v2.0+; CLAUDE.md v1.86+ → v1.88+; Pravila v1.10+ → v1.11+. §6 строка «framer-motion ↔ motion-v» оставлена как historical record v1.4 audited construction. Total формализованных: **33** (без изменений). Через `/claude-md-management:claude-md-improver` + manual Edit. Заказчик: «сними все запреты на использование framer motion». |
| **v1.17** | 13.05.2026 (day +1) | **Формализация retrospective двух off-phase MCP debug-инструментов** установленных на feat/claude-automation (commits `6f7e7d7` sentry, `bd4ec48` redis), merged в main через PR #3 (`cc5f63b`): **§0 счётчик off-phase 3 → 5; итого формализованных позиций 33 → 35**. **§4.8 (новый)** — #34 Sentry MCP (`@sentry/mcp-server@0.33.0+`, official, pending Sentry instance deployment Б-1). **§4.9 (новый)** — #35 Redis MCP (`@modelcontextprotocol/server-redis@2025.4.25`, deprecated Anthropic source, рабочий с Memurai localhost:6379; migration plan на community alternative post-MVP). Категория **debug-runtime**, отдельная от UI-пула (UPM/21st) и инфраструктурного (claude-md-management) — не попадает в R14 pipeline и не trigger'ит R6.0/R6.1 фильтры. Связано: PSR_v1 v2.0 → v2.1 (R10.1 +sentry+redis); CLAUDE.md v1.91 → v1.92 (§3.3 #34/#35; §0 cross-refs); Pravila v1.12 → v1.13 (§13.2 +Off-phase MCP debug-runtime подсекция). Через manual Edit для Tooling/PSR_v1/Pravila + `/claude-md-management:claude-md-improver` для CLAUDE.md. |
| **v2.0** | 15.05.2026 | **Ruflo big-bang:** §0 +ruflo orchestration layer row (35 → 55: 35 формализованных позиций + 20 ruflo plugins); новая §4.10 «Orchestration layer (ruflo)». Major bump reflects architectural inversion — ruflo встаёт entry-point'ом уровня −1 над 8-уровневой иерархией Лидерры (см. CLAUDE.md §1 priority chain). ruflo v3.7.0-alpha.38+ + 20 plugins (`@claude-flow/*`, IPFS-registry — полный CID в §4.10), ~210 MCP tools, 60+ agents (Queen-led: Raft/Byzantine/Gossip), HNSW vector memory, SONA routing. Категория **orchestration** — четвёртая off-phase подкатегория (отдельная от UI-пула, infrastructure, debug-runtime). §4.9 +note «Категории off-phase tools (v2.0)». Runtime state 2026-05-15: scaffold installed + MCP server в `.mcp.json` (7-й MCP); daemon/swarm/memory НЕ активны — opt-in MCP tool, не enforcing overlord. Связано: spec/plan 2026-05-15 (commits `e55572e`/`18c4463`), Pravila v1.14 (`9c3057b`), PSR_v1 v3.0 (`d30cbeb`), CLAUDE.md v2.0 (`5df88a1`). v1.17 наследие — §4.8 Sentry MCP + §4.9 Redis MCP. |
| **v2.1** | **15.05.2026** | §4.10 +абзац «Queen trigger»: триггер queen/королева → безусловный route через ruflo Queen (`hive-mind spawn --claude`), explicit hard-rule Pravila §14, enforcement-хук `tools/ruflo-queen-hook.mjs`; footer-колонтитул v2.1. Связано: spec/plan `docs/superpowers/{specs,plans}/2026-05-15-ruflo-queen-trigger-and-delegation*`, Pravila v1.15 / CLAUDE.md v2.1 / PSR_v1 v3.1. |
| **v2.2** | **16.05.2026** | **§4.10 реколлаж:** ruflo переописан из «entry-point иерархии» в «advisory/automation-подсистему» (декларация приведена к рантайму: рой idle, 0 задач / 0 раундов консенсуса; Claude-сессии работают напрямую). Заголовок §4.10 изменён («Orchestration layer (ruflo) — entry-point иерархии» → «ruflo — advisory/automation-подсистема»); «Архитектурная роль» переписана; §0 table row обновлён; «Категории off-phase tools» обновлены; «Назначение» обновлено; шапка v2.1 → v2.2, дата 16.05.2026. Связано: Pravila v1.16, PSR_v1 v3.2, CLAUDE.md v2.2; spec `docs/superpowers/specs/2026-05-16-ruflo-hierarchy-factual-recollage-design.md`. |
| **v2.3** | **17.05.2026** | **A6 architecture-tooling:** формализованы 3 инструмента раздела A6 карты «Архитектура систем» как новая пятая off-phase подкатегория «architecture-tooling» — **§4.11 #36 adr-kit** (ADR-решения, `adr-judge` lefthook job 9), **§4.12 #37 mermaid-skill** (C4-диаграммы, вендорен в `.claude/skills/mermaid/`), **§4.13 #38 architecture-patterns** (паттерны). §0 счётчик 35→38 формализованных позиций (55→58 total); §0 table row off-phase `+5`→`+8`; «Назначение» обновлено. Конфликт-аудит интеграции — AK1 (git-хук adr-kit не ставится, `adr-judge` через lefthook), AK2 (`init` не пишет CLAUDE.md), AK6 (`adr-judge` без `--llm` → 0 стоимости), MK1 (lefthook exclude вендоренного скила). Связано: PSR_v1 v3.2→v3.3 (R10.1 +3 строки), Pravila v1.16→v1.17 (§13.2 +architecture-tooling абзац), CLAUDE.md v2.2→v2.3 (§3.3 +#36-38). Через manual Edit (Tooling/PSR_v1/Pravila) + `/claude-md-management:claude-md-improver` (CLAUDE.md per §5 п.10). План `docs/superpowers/plans/2026-05-17-a6-architecture-tooling-integration.md`. |
| **v2.4** | 17.05.2026 | **D3 audit-security:** формализованы #39 Trail of Bits Skills (субсет 8 audit-плагинов, marketplace `trailofbits`, CC-BY-SA-4.0) + #40 Security Guidance (Anthropic PreToolUse-хук) как новая 6-я off-phase подкатегория «audit-security» — §4.14/§4.15. §0 счётчик 38→40 (58→60 total); off-phase row +8→+10. Конфликт-аудит — TB1 (граница с Semgrep MCP), TB4 (CC-BY-SA не триггерится — не вендорено), SG1 (5-й PreToolUse-хук). Связано: PSR_v1 v3.3→v3.4 (R10.1 Блок 1 +2 строки), Pravila v1.17→v1.18 (§13.2 +audit-security абзац), CLAUDE.md v2.3→v2.4 (§3.3 +#39-40). План `docs/superpowers/plans/2026-05-17-d3-audit-risk-tooling-integration.md`. |
| **v2.5** | 17.05.2026 | **Фактическая правка #40 Security Guidance:** §4.15 переписан — это **блокирующий** PreToolUse-хук (`sys.exit(2)` на первой за сессию правке с уязвимым паттерном, retry проходит — одноразовый speed-bump), не warn-only; SG1 уточнён; +SG2 — Windows-починка python3-резолва (`python3.exe`-шим, кэш плагина не трогается). Verified end-to-end (manual smoke + in-session Write-блок). Счётчики без изменений — 40 позиций. Связано: PSR_v1 v3.5, Pravila v1.19, CLAUDE.md v2.5. |
| **v2.6** | 17.05.2026 | **C9 project-management:** формализованы #41 CCPM (вендоренный standalone-скил `automazeio/ccpm`) + #42 product-management (Anthropic-verified marketplace plugin) как новая 7-я off-phase подкатегория «project-management» — §4.16/§4.17. §0 счётчик 40→42 (60→62 total); off-phase row +10→+12. Связано: PSR_v1 v3.6, Pravila v1.20, CLAUDE.md v2.6. План `docs/superpowers/plans/2026-05-17-c9-project-management-tooling-integration.md`. |
| **v2.7** | 17.05.2026 | **A6-расширение — deptrac:** формализован #43 deptrac (Composer dev-dep `deptrac/deptrac` v4.6.1, BSD-3) как 4-й инструмент architecture-tooling — архитектурный fitness-гейт направления зависимостей / границ слоёв, врезан lefthook pre-commit job 10; §4.18 новый. Конфиг `app/deptrac.yaml` (13 слоёв), первый прогон 0 нарушений → baseline-файл не нужен (red-green доказан). §0 счётчик 42→43 (62→63 total); off-phase row +12→+13. Конфликт-аудит — DT1 (резолвер чист, PHAR-fallback не нужен), DT3 (0 нарушений — headline-риск не материализовался), DT4/DT5 (границы с Larastan/adr-judge). Связано: PSR_v1 v3.7, Pravila v1.21, CLAUDE.md v2.7. План `docs/superpowers/plans/2026-05-17-deptrac-architecture-fitness-integration.md`. |
| **v2.8** | 17.05.2026 | **A4 design-tooling:** формализованы #44 Figma MCP (remote MCP, extract-only, DEFERRED — нет Figma-аккаунта), #45 Universal Icons MCP (`mcp-universal-icons`, MIT, stdio), #46 Design plugin (Anthropic Verified) как новая 8-я off-phase подкатегория «design-tooling» — §4.19/§4.20/§4.21. §0 счётчик 43→46 (63→66 total); off-phase row +13→+16. Конфликт-аудит — FM1/FM2 (Figma extract-only + DEFERRED), UI1/UI2/CC1 (Universal Icons граница с FD/21st), DP1/DP2/DP4 (Design plugin граница с Pa11y/superpowers:requesting-code-review). Связано: PSR_v1 v3.8, Pravila v1.22, CLAUDE.md v2.8. План `docs/superpowers/plans/2026-05-17-a4-design-tooling-integration.md`. |

---

*Прил. Н v2.24 от 27.05.2026 — knowledge-graph-tooling: §4.59 #86 graphifyy (CLI `uv tool install graphifyy`, user-level skill `~/.claude/skills/graphify/`, activation `/graphify <команда>`, артефакты `graphify-out*/` gitignored) — 19-я off-phase подкатегория **knowledge-graph-tooling**; §0 счётчик 83→84 (103→104 total), off-phase row +53→+54; «Назначение» 83→84 позиции + +knowledge-graph-tooling + graphifyy. ADR-017 (KG1–KG5). Spike `spike/graphify-2026-05-27`: 3 фазы → combined граф 6305 узлов / 6753 рёбер / 1009 communities (93% EXTRACTED / 7% INFERRED). cross-ref Pravila v1.43+ / PSR_v1 v3.23+ / CLAUDE.md v2.32+.*

*Прил. Н v2.23 от 25.05.2026 (cross-ref update) — §0 cross-ref string Pravila v1.41+→**v1.42+** (Pravila §17.7 «Coverage announcement» добавлена). Счётчики #1-#83 без изменений. Связано: Pravila v1.42, CLAUDE.md v2.28, PSR_v1 v3.22.*

*Прил. Н v2.18 от 20.05.2026 — finance-tooling (C6+C7): §4.36 #61 finance plugin (marketplace `finance@knowledge-work-plugins`, homed C7, cross-ref C6) + §4.37 #62 billing-audit (C6, self-authored project-скил `.claude/skills/billing-audit/`) + §4.38 #63 ru-tax-accounting (C7, self-authored project-скил `.claude/skills/ru-tax-accounting/`) — новая 15-я off-phase подкатегория finance-tooling; §0 счётчик 60→63 (80→83 total), off-phase row +30→+33. Применимость finance plugin: ✅ reconciliation/variance (C6), ⚠️ US-GAAP-скилы частично (РСБУ), ❌ SOX-скилы not-applicable РФ, warehouse-MCP DEFERRED. ADR-012. Связано: PSR_v1 v3.18, Pravila v1.34, CLAUDE.md v2.21, routing-off-phase.md v1.2 (связка L13), router-procedure.md v1.1; план `docs/superpowers/plans/2026-05-20-finance-tooling-c6-c7.md`.*

*Прил. Н v2.17 от 19.05.2026 — applied 9-attribute row template per ADR-011 brain-governance spec §4.1. §0.1 row template (one-time) + 58 Атрибуты blocks для всех узлов реестра. Дамп-блоки для phase-active (§2.4/§3.5/§5.1) — phase-0/1/3 nodes живут в table rows, выносим в новые subsection-блоки в конце соответствующей фазы. Inline-блоки для phase-2 (§4.1-§4.4) и off-phase (§4.5-§4.35) — там 1 subsection = 1 node mapping. dormant=true для #1 PG MCP (replaced), #17 pg_partman (no native Windows PG ext), ruflo §4.10 (per Pravila §14.9). 6 atomic commits (`1f77134`, `0718e41`, `16f7f1c`, `ca4da69`, `39231ef`, `3e73396`) + этот header bump. Структурный реестр служит входом для router-procedure.md §step 3 (trigger-based node selection). Связано: ADR-011 (`2ef4ac4`), router-procedure.md v1.0 (`8a2e701`), spec/plan brain-governance, Pravila v1.31 pending (Task A4), PSR_v1 v3.16 pending (Task A5), CLAUDE.md v2.18 pending (Task D1). Через subagent-driven-development skill.*

*Прил. Н v2.16 от 18.05.2026 — компакция «мозга» (SYSTEM-аудит 18.05.2026, findings 2/3/6/7): §0 +«КАНОН СЧЁТЧИКОВ» anchor — Прил. Н §0 объявлен единственным источником числовых счётчиков тулчейна; CLAUDE.md / Pravila §13.2 / PSR_v1 R10.1 переведены на пин-ссылку (finding 3 — устранение «арифметического дрейфа счётчиков»). §12 заголовок «вне 35 формализованных позиций» → «вне реестра формализованных позиций» — убран stale-счётчик (v1.15 уже чинил его «28→33», повторно сдрейфовал до «35»). Счётчики тулчейна не меняются — 60 формализованных + 20 ruflo = 80 total. Связано: CLAUDE.md v2.17, Pravila v1.30, PSR_v1 v3.15; план `docs/superpowers/plans/2026-05-18-brain-compaction-findings-2-3-6-7.md`.*

*Прил. Н v2.15 от 18.05.2026 — ruflo isolation: §4.10 +status block (dormant 18.05.2026, заказчик «изолируй, не удаляй» в Rec2 SYSTEM-аудита `docs/discovery/2026-05-18-system-audit-brain.md`). Live-связи отключены: UserPromptSubmit хуки `tools/ruflo-*-hook.mjs` сняты из `.claude/settings.json`; `ruflo` MCP-server удалён из `.mcp.json`; PM2 daemon stopped + saved-empty + Task Scheduler оставлен (идемпотентен). Артефакты сохранены: npm-пакет, файлы хуков, memory `mem_ruflo`, документация §4.10. Счётчики тулчейна без изменений — 60 формализованных позиций + 20 ruflo plugins = 80 total. Связано: Pravila v1.29, CLAUDE.md v2.16 (pending), memory `feedback_ruflo_isolated.md`. Через прямой Edit (нормативка) + Bash (pm2/runtime) + Edit settings.json/mcp.json.*

*Прил. Н v2.14 от 18.05.2026 — authoring-tooling + dev-support: §4.31 #56 skill-creator / §4.32 #57 plugin-dev / §4.33 #58 hookify (новая 13-я off-phase подкатегория authoring-tooling) + §4.34 #59 claude-code-setup / §4.35 #60 context7 (новая 14-я off-phase подкатегория dev-support) — формализация 5 Anthropic dev-плагинов уже включённых в `~/.claude/settings.json` user-level (L1-паттерн «плагин включён без формализации»); §0 счётчик 55→60 (75→80 total), off-phase row +25→+30. hookify HK1 — pre-check на коллизию хуков, закрывает 🔴-конфликт карты. ADR-010. Связано: PSR_v1 v3.13, Pravila v1.28, CLAUDE.md v2.15; план `docs/superpowers/plans/2026-05-18-anthropic-dev-tooling-formalization.md`.*

*Прил. Н v2.13 от 18.05.2026 — discovery-tooling: §4.30 #55 discovery-interview (self-authored project-скил `.claude/skills/discovery-interview/`, режимы FEATURE+SYSTEM) — новая 12-я off-phase подкатегория discovery-tooling; §0 счётчик 54→55 (74→75 total), off-phase row +24→+25. Триггер-eval 20/20; ADR-009 (DI1–DI6, разрез по слою-источнику с process-analysis #53). Связано: PSR_v1 v3.12, Pravila v1.26, CLAUDE.md v2.13; план `docs/superpowers/plans/2026-05-18-discovery-interview-integration.md`.*

*Прил. Н v2.12 от 17.05.2026 — C10 business-process: §4.26 #51 operations + §4.27 #52 process-modeling + §4.28 #53 process-analysis + §4.29 #54 n8n-mcp (DEFERRED) — новая 11-я off-phase подкатегория business-process; §0 счётчик 50→54 (70→74 total), off-phase row +20→+24. Связано: PSR_v1 v3.11, Pravila v1.25, CLAUDE.md v2.12; план `docs/superpowers/plans/2026-05-17-c10-business-process-tooling-integration.md`.*

*Прил. Н v2.11 от 17.05.2026 — ADR-006 Decision-4 icon-path boundary mirror: §4.20 +UI3 (Lucide-иконки — канонический путь `lucide-vue-next` + Vuetify `IconSet`; raw-SVG `get_icon` — только не-Lucide коллекции). Счётчики без изменений (50 формализованных / 70 total). Связано: CLAUDE.md v2.11, ADR-006 (поправка Decision item 4).*

*Прил. Н v2.10 от 17.05.2026 — A11 ml-ai-tooling: §4.23 #48 promptfoo + §4.24 #49 Data Scientist skill + §4.25 #50 Jupyter MCP (DEFERRED) — новая 10-я off-phase подкатегория ml-ai-tooling; §0 счётчик 47→50 (67→70 total), off-phase row +17→+20. Связано: PSR_v1 v3.10, Pravila v1.24, CLAUDE.md v2.10; план `docs/superpowers/plans/2026-05-17-a11-ml-ai-tooling-integration.md`.*

*Прил. Н v2.9 от 17.05.2026 — A3 integration-tooling: §4.22 #47 openapi-mcp-server, 9-я off-phase подкатегория integration-tooling; §0 счётчик 46→47. Связано: PSR_v1 v3.9, Pravila v1.23, CLAUDE.md v2.9.*

*Прил. Н v2.8 от 17.05.2026 — A4 design-tooling: формализованы #44 Figma MCP (DEFERRED) + #45 Universal Icons MCP + #46 Design plugin — новая 8-я off-phase подкатегория design-tooling, §4.19/§4.20/§4.21 новые. 46 формализованных позиций (29 по фазам + 16 off-phase + 1 PG MCP) + 20 ruflo = 66 total. Связано: PSR_v1 v3.8, Pravila v1.22, CLAUDE.md v2.8.*

*Прил. Н v2.7 от 17.05.2026 — A6-расширение deptrac: формализован #43 deptrac (Composer dev-dep `deptrac/deptrac` v4.6.1, BSD-3) — архитектурный fitness-гейт, lefthook job 10, §4.18 новый. 43 формализованных позиции (29 по фазам + 13 off-phase + 1 PG MCP) + 20 ruflo = 63 total. Связано: PSR_v1 v3.7, Pravila v1.21, CLAUDE.md v2.7.*

*Прил. Н v2.6 от 17.05.2026 — C9 project-management: формализованы #41 CCPM + #42 product-management (§4.16/§4.17), новая 7-я off-phase подкатегория. 42 формализованных позиции (29 по фазам + 12 off-phase + 1 PG MCP) + 20 ruflo = 62 total. Связано: PSR_v1 v3.6, Pravila v1.20, CLAUDE.md v2.6.*

*Прил. Н v2.5 от 17.05.2026 — фактическая правка #40 Security Guidance: блокирующий PreToolUse-хук (`sys.exit(2)`, не warn-only) + SG2 Windows-починка python3-резолва. Связано: PSR_v1 v3.5, Pravila v1.19, CLAUDE.md v2.5.*

*Прил. Н v2.4 от 17.05.2026 — D3 audit-security: формализованы #39 Trail of Bits Skills + #40 Security Guidance (§4.14/§4.15), новая 6-я off-phase подкатегория. 40 формализованных позиций (29 по фазам + 10 off-phase + 1 PG MCP) + 20 ruflo = 60 total. Связано: PSR_v1 v3.4, Pravila v1.18, CLAUDE.md v2.4.*

*Прил. Н v2.3 от 17.05.2026 — A6 architecture-tooling: формализованы #36 adr-kit + #37 mermaid-skill + #38 architecture-patterns (§4.11–4.13), новая пятая off-phase подкатегория. 38 формализованных позиций (29 по фазам + 8 off-phase + 1 PG MCP) + 20 ruflo = 58 total. Связано: PSR_v1 v3.3, Pravila v1.17, CLAUDE.md v2.3.*

*Прил. Н v2.2 от 16.05.2026 — §4.10 реколлаж: ruflo переописан из «entry-point иерархии» в «advisory/automation-подсистему» (декларация приведена к рантайму). Связано: Pravila v1.16, PSR_v1 v3.2, CLAUDE.md v2.2.*

*Прил. Н v2.1 от 15.05.2026 — Ruflo big-bang: добавлен orchestration layer (ruflo) как четвёртая off-phase подкатегория (§4.10). 55 позиций (35 формализованных позиций + 20 ruflo plugins). v2.1 — §4.10 +абзац «Queen trigger» (Pravila §14, хук ruflo-queen-hook.mjs).*

*Прил. Н v1.17 от 13.05.2026 (day +1) — формализация retrospective off-phase MCP #34 Sentry + #35 Redis (debug-runtime category). 35 позиций (29 активных по фазам + 5 off-phase + 1 заменённый PG MCP исторически).*

*Прил. Н v1.16 от 12.05.2026 — снятие R15 motion-runtime denylist'а из §9.2 синхронно с PSR_v1 v1.7 → v2.0. 33 позиций (без изменений).*

*Прил. Н v1.15 от 10.05.2026 (поздний вечер) — закрытие 4 находок третьего аудита (P1-03/04/05 sync cross-refs, §11.5/§12 «28→33»). 33 позиций (без изменений).*

*Прил. Н v1.14 от 10.05.2026 (вечер) — закрытие 3 находок второго аудита (P0-01 §10.3 sync, P0-04 §13 +v1.13 +v1.14 entries, P2-01 §7 +Tooling explicit slot). 33 позиций (без изменений).*

*Прил. Н v1.13 от 10.05.2026 — закрытие 4 структурных находок аудита нормативной документации (§7 +PSR_v1 уровнем 3, §4.7 новый — #33 claude-md-management, §6 +5 конфликтов v1.4, §4.6 settings → .claude.json). 33 позиций (19/29 активны по фазам + 3 off-phase + 1 заменённый PG MCP).*

*Прил. Н v1.12 от 10.05.2026 — формализованы #31 UPM + #32 21st Magic MCP как off-phase tools; §9 расширен motion-runtime denylist'ом. 31 позиций (19/29 активны по фазам + 2 off-phase).*

*Прил. Н v1.10 от 09.05.2026 — добавлен #30 Frontend Design plugin (paired со Superpowers), 19/29 активных.*

*Прил. Н v1.0 от 06.05.2026 — старт документации по tooling.*
*Связано: `CLAUDE.md` (корень), `Pravila_raboty_Claude_v1_1.md` v1.8+, `README_АРХИВ_v8_4.md` v8.4+.*
