SG #40 was characterised across all D3 docs as warn-only / does not block. Verified end-to-end: security_reminder_hook.py does sys.exit(2) — a BLOCKING PreToolUse hook (one-time speed-bump per file+rule per session, the retry passes). SG2: on this Windows host the bundled hooks.json hardcodes python3, absent from PATH — the hook never spawned (inert). Fixed with a python3.exe shim in the Python install dir (env-only, not in repo). Normative sync: Tooling v2.5, PSR_v1 v3.5, Pravila v1.19, CLAUDE.md v2.5; ADR-003 amended; automation-graph sec_guidance nd(). Tool counts unchanged (40 positions). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
128 KiB
Plugin Stack Rules — Superpowers + Frontend Design (v3.5)
Дата: 17.05.2026
Назначение: свод правил совместного использования плагинов Claude Code в проекте Лидерра — paired-stack ядро obra/superpowers (14 skills) + anthropics/frontend-design, плюс расширенный пул UI-инструментов ui-ux-pro-max (skill, marketplace nextlevelbuilder/ui-ux-pro-max-skill) и 21st.dev Magic MCP (MCP-сервер magic), плюс инфраструктурный claude-md-management (skills, marketplace anthropics/claude-plugins-official), плюс debug-runtime MCP @sentry/mcp-server + @modelcontextprotocol/server-redis (v2.1+, R10.1 Блок 3).
v3.5 — фактическая правка R10.1 Блок 1 строки security-guidance: это блокирующий PreToolUse-хук (sys.exit(2), одноразовый speed-bump per «файл+правило» за сессию, retry проходит), не warn-only. Содержательных изменений R0–R14: 0. Связано: Tooling v2.5, Pravila v1.19, CLAUDE.md v2.5; план docs/superpowers/plans/2026-05-17-d3-audit-risk-tooling-integration.md.
v3.4 — D3 audit-security: R10.1 Блок 1 (enabledPlugins) +2 строки — Trail of Bits Skills (trailofbits/skills, субсет 8 плагинов) + security-guidance (anthropics/claude-plugins-official). Новая категория audit-security (Tooling #39-40, раздел D3 карты) — не UI → вне R6.0/R6.1/R14, как debug-runtime/infrastructure/architecture-tooling. Содержательных изменений R0–R9/R11–R14: 0. Связано: Tooling v2.4, Pravila v1.18, CLAUDE.md v2.4.
v3.3 — A6 architecture-tooling: R10.1 Блок 1 (enabledPlugins) +2 строки — adr-kit (rvdbreemen/adr-kit) + architecture-patterns (secondsky/claude-skills); Блок 1 +note про mermaid-skill (вендоренный сторонний скил). Новая категория architecture-tooling (Tooling #36-38, раздел A6 карты) — не UI → вне R6.0/R6.1/R14, как debug-runtime/infrastructure. Содержательных изменений R0–R9/R11–R14: 0. Связано: Tooling v2.3, Pravila v1.17, CLAUDE.md v2.3.
v3.2 — реколлаж R0: sub-policy → top-of-stack gate (ruflo не entry-point по факту рантайма: 0 задач, рой idle). R0 title восстановлен, уровень −1 убран из R0.1 таблицы, R0.2 абзац перед gate-диаграммой возвращён к stack-gate формулировке. Связано: Pravila v1.16, CLAUDE.md v2.2, Tooling v2.2.
v3.1 — sync: cross-ref на Pravila v1.15 (новый §14 Ruflo Queen routing hard-rule — триггер queen/королева → безусловный route через ruflo Queen). Содержательных изменений R0–R14: 0.
v3.0 — major: R0 stack-gate → sub-policy paired-stack delegation pattern под ruflo Queen-led routing. R0.1 +ruflo level −1; R0.6 +п.11 swarm-pause-without-review (sequential continuation после v2.0 R15 removal). Связано: ruflo v3.7.0-alpha.38 big-bang integration 2026-05-15.
Снимает запрет CLAUDE.md §5 п.5 на Frontend Design plugin (действовал до v1.77 включительно). Документ — внутренне непротиворечив: 8 первичных конфликтов закрыты в v1.0 + 5 патчей по реальным трениям A–E в v1.1 + 4 новых правила R10–R13 против перекрытий с другими плагинами в v1.2 + 6 уточняющих патчей F–K по найденным трениям второго порядка в v1.3 + 1 новое правило R14 (pipeline внешних UI-генераторов: UPM + 21st Magic MCP) в v1.4 (R15 motion-системы введены в v1.4 и удалены в v2.0) + 5 структурных правок аудита в v1.5 (R10.1 разбит на 3 блока, R0.4.A SoT cross-ref, R10.4/R14.7 tier-метки, R8 +тай-брейкер FD↔21st, R0.1 scope-метка) + 3 правки второго аудита в v1.6 (R0.4.A свёрнут до cross-ref на Pravila §12.3 SoT — устраняет дрейф формулировок; R0.6 hard-стопы пронумерованы 1–11 для надёжности cross-refs «пункт 9/10/11»; R0.1 +Tooling Прил. Н slot уровня 2b) + 1 правка третьего аудита в v1.7 (sync cross-refs на актуальные версии связанных документов после bump'ов CLAUDE.md v1.86 / Tooling v1.15; description-fix описки «уровня 2.5»→«уровня 2b» внутри changelog'а v1.6, сверка с фактическим R0.1) + 1 правка четвёртого аудита в v2.0 (12.05.2026 — снят R15 motion-runtime по решению заказчика; conscious rollback v1.4 audited construction; framer-motion переведён из regulatory hard-запрета в technical-guidance уровень: peerDep на react+react-dom, не работает в Vue физически) + 2 строки R10.1 Блок 3 в v2.1 (13.05.2026 day +1 — debug-runtime MCP формализованы retrospective после PR #3 merge) + R0 major rewrite в v3.0 (stack-gate → sub-policy под ruflo Queen-led routing, 15.05.2026 afternoon) + R0 реколлаж в v3.2 (sub-policy → top-of-stack gate — ruflo не entry-point по факту рантайма, 16.05.2026) + R10.1 Блок 1 +2 строки в v3.3 (adr-kit + architecture-patterns — категория architecture-tooling, раздел A6 карты, 17.05.2026).
Принцип-аксиома (v1.2, уточнён в v1.3, расширен в v1.4, актуализирован в v3.2): Stack (Superpowers + Frontend Design) — головной над не-stack плагинами и поведенческими слоями в части плагинов и поведенческих слоёв. Stack-gate (R0) — первая точка входа (top-level entry-point среди уровней 3–6). Все остальные плагины (ui-ux-pro-max, 21st Magic MCP, claude-md-management, review, security-review, init, simplify и др.) — инструменты, инвокируемые внутри stack-flow как подзадачи, не как альтернативы или параллельные решатели. Stack исполняет Pravila/CLAUDE.md, а не перебивает их (см. R0.1 для точного scope «головенства»). Другие плагины могут получить работу только по делегированию из stack'а или по явному /имя-плагина от пользователя.
Связанные документы:
- CLAUDE.md v2.2+ — оперативная карта; §1 priority chain, §3.3 строка #33, §5 п.5 ссылается на этот документ (расширенный пул UI-инструментов: FD + UPM + 21st), §5 п.11 cross-ref на Pravila §12.3 SoT, §5 п.12 — резерв (R15 motion-runtime снят в v2.0)
- docs/Pravila_raboty_Claude_v1_1.md v1.16+ — §12 Superpowers hard rule; §14 Ruflo Queen routing hard-rule (триггер queen/королева); §12.3 SoT для exclusions, §13 «paired stack + расширенный пул UI-инструментов» + claude-md-management как off-pool, §13.6 hard-rule tier-таблица (§12 + §14 explicit), §13.9/§13.10 hard-link на R10/R14
- docs/Tooling_v8_3.md v2.2+ — реестр инструментов; #30 Frontend Design + #31 UPM + #32 21st Magic MCP + #33 claude-md-management + §6 +5 конфликтов v1.4 (строка «framer-motion ↔ motion-v» — historical после v2.0) + §7 7-уровневая иерархия (с v1.14 +Tooling explicit slot 2b) + §9.2 motion-runtime guidance (technical-only после v1.16); §10.3 шаг 2 sync (14 skills) с v1.14
Техническая особенность Claude Code: при первой установке Frontend Design plugin в долгой сессии плагин не появляется в системном списке доступных skills до старта новой сессии (новый чат, не reload). Это конструктивная особенность Claude Code (skill list = constant per conversation), не правило и не баг. Файлы плагина доступны на диске сразу, инвокация через
Skilltool — только в новом чате.
Правило 0 — Stack-gate: paired-stack delegation pattern
0.1. Уровень и головенство
Superpowers и Frontend Design — парный stack одного приоритетного уровня внутри stack'а. Между этими двумя плагинами нет иерархии «главный/вспомогательный». Оба подключены к gate stack'а одновременно — gate всегда обращается к обоим. Какой именно плагин получает работу внутри stack'а — определяется Правилом 1.
Stack — головной по отношению к не-stack плагинам и поведенческим слоям ниже. Точный scope «головенства» (по CLAUDE.md §1 priority chain):
Scope этой таблицы: головенство stack'а внутри общей 7-уровневой файловой иерархии CLAUDE.md §1 (с v1.6 — расширена до 8 уровней через подразбиение уровня 2 на 2a CLAUDE.md + 2b Tooling Прил. Н). Не дублирует Pravila §0 (внутрипараграфный приоритет внутри Pravila) и не дублирует CLAUDE.md §1 (общая файловая иерархия) — это третья ось «над чем именно у stack'а есть приоритет». Tooling §7 — то же самое представление, что CLAUDE.md §1, синхронно с v1.14.
| Уровень | Что | Stack головной над этим? |
|---|---|---|
| 0 | Pravila §12 (Superpowers hard rule) | ❌ нет — это часть stack'а же, hard rule сильнее |
| 1 | Pravila (§§1–13) | ❌ нет — stack исполняет Pravila, не перебивает |
| 2a | CLAUDE.md (общая оперативная карта) | ❌ нет — stack исполняет CLAUDE.md, не перебивает |
| 2b | Tooling Прил. Н (детальный реестр инструментов) — добавлен v1.6 | ❌ нет — stack исполняет Tooling, не перебивает (alongside CLAUDE.md, оба operational maps; при прямом конфликте между ними — приоритет CLAUDE.md как корневой карты) |
| 3 | PSR_v1 (этот документ) | — (PSR_v1 — сам stack-документ, вопрос неприменим) |
| 4 | settings.json (поведенческая часть) | ✅ да |
| 5 | memory/*.md | ✅ да |
| 6 | прочие плагины (ui-ux-pro-max, review, simplify, …) | ✅ да |
Любая задача проходит через stack-gate (R0) первой среди уровней 3–6. Pravila и CLAUDE.md (уровни 0–2) применяются автоматически как контекст, не «перебиваются» stack'ом — наоборот, stack действует внутри их рамок.
Все плагины вне stack'а (ui-ux-pro-max, claude-md-management, review, security-review, init, simplify, любые будущие) — инструменты, не решатели. Они инвокируются:
- по делегированию из stack-flow (например, claude-md-improver вызывается из stack'а как подзадача при изменении CLAUDE.md), или
- по явной команде пользователя
/имя-плагина(live-override, действует на одно действие).
Stack никогда не уступает первенство уровням 4–6 — даже когда задача предметно ближе к чужому плагину, stack первой делает классификацию и потом делегирует инструменту, не отдаёт ему gate.
Подробности — Правило 10 (внешние плагины как инструменты), Правило 11 (иерархия источников истины UI/UX).
0.2. Обязательный gate
Каждая задача проходит через stack-gate первой среди слоёв 3–6. Gate всегда обращается к обоим плагинам paired-stack (Superpowers + Frontend Design); какой получает работу — определяет Правило 1.
Любой вход (запрос / /команда / follow-up / course-correction)
│
▼
┌────────────────────────────┐
│ STACK GATE │
│ ├── Правило 1: классификация задачи
│ └── Правило 9: формула решения
└────────────────────────────┘
│
▼
Действие
Запрещены:
- Прямой переход к Edit/Write/Bash без прохождения gate.
- «Тривиальная задача → пропущу gate» — рационализация. Тривиальность определяется внутри Правила 1, не до него.
- Параллельный обход через subagent — subagent тоже под gate на момент его dispatch'а.
0.3. Что значит «прошла через gate»
Задача считается прошедшей gate, когда выполнено всё из:
- Классифицирована по Правилу 1 (процессная / бэкенд / визуальная / UI-фича / вне scope).
- Если попала в scope — назначен ответственный плагин и фаза по Правилу 2.
- Если не попала в scope — явно зафиксировано «вне stack, действую без плагинов» (разрешённый исход, но должен быть явным).
Без всех трёх пунктов — действовать нельзя.
0.4. Исключения и live-отмены
A. Технические исключения (gate не требуется):
Single Source of Truth: Pravila §12.3 (Pravila v1.10+). Не дублировать список здесь. В v1.5 эта секция параллелила Pravila §12.3 расширенной таблицей с риском дрейфа формулировок (audit P2-02, обнаружено 6 строк vs 6 пунктов Pravila §12.3 с разными формулировками). В v1.6 свёрнута до cross-ref'а на Pravila §12.3 как единственный SoT.
Stack-расширения (специфичные для stack-flow, не противоречат Pravila §12.3 — допускают тривиальные действия без gate, но с дополнительным условием):
| Stack-расширение | Условие |
|---|---|
| Документационные правки уровня §4 Pravila для CLAUDE.md | gate не требуется, но обязательно через claude-md-management:claude-md-improver (CLAUDE.md §5 п.10), не «прямой Edit» |
| Конкретные команды tooling'а (composer/npm/git/Boost MCP) | gate не требуется только если не являются частью «debug»/«TDD»/«review» сценария — иначе §12 hard rule перевешивает |
Расширение списка exclusions — только через правку Pravila §12.3 + автоматический пересмотр stack-расширений здесь (если они продолжают быть необходимы). При расхождении между Pravila §12.3 и этой секцией — побеждает Pravila §12.3.
B. Live-команды пользователя (отмена на одно действие):
| Команда пользователя | Эффект |
|---|---|
| «не используй плагины сейчас» / «без stack» | весь stack отключён на текущее действие |
| «не используй Superpowers сейчас» | отключён только Superpowers, Frontend Design остаётся |
| «не используй Frontend сейчас» | отключён только Frontend Design, Superpowers остаётся |
Парность 0.1 действует по умолчанию; live-команда — единственный механизм асимметричного отключения, действует только на текущее действие, не на сессию.
0.5. Перекрытие нижних слоёв
Stack стоит выше в приоритете, чем:
- Дефолтное поведение системного промпта.
- Любые другие плагины.
- Поведенческая часть .claude/settings.json (permissions/hooks остаются техническим слоем среды).
Stack стоит ниже в приоритете, чем:
- Прямые инструкции пользователя в чате (live override).
- Файлы CLAUDE.md / Pravila / Tooling (статические инструкции проекта).
При конфликте: пользователь → CLAUDE.md → stack → остальные плагины → дефолт.
0.6. Сбой gate — действие по уверенности
Если на этапе классификации задача не маршрутизируется однозначно:
| Уверенность | Что делать |
|---|---|
| Высокая — классификация очевидна | действовать без вопросов |
| Средняя — есть разумное предположение | в Auto mode действовать с явной фиксацией: «классифицирую как X, плагин Y; если иначе — поправь». В обычном режиме — спросить |
| Низкая — нет разумного предположения | остановиться и спросить пользователя независимо от режима |
Тихий выбор без gate при низкой уверенности = нарушение даже в Auto mode.
Hard-стоп даже в Auto mode — обязательная остановка независимо от классификации, при любом из триггеров (нумерация введена в v1.6 для надёжности cross-refs «R0.6 пункт N»; при добавлении/удалении пункта — пересмотреть все ссылки в R8/R13/R14):
- Впервые на этой сессии создаю компонент из брендового семейства (
AppButton,AppCard,AppDataTable,AppDialogи т.п.) и вresources/js/components/ещё нет precedent'а того же типа. - Изменение структуры brand-токенов (
resources/js/plugins/vuetify.tspalette config, font-family bindings, theme variants). - Создание нового aesthetic-направления, не описанного в BRANDBOOK_v2.
- Изменение установленных UX-флоу из ТЗ v8.5 (auth-flow, deal-flow, billing-flow, admin-flow, webhook-flow).
- Cross-cutting refactor, затрагивающий ≥3 компонентов или layout-структуру (
AppLayout,AuthLayout,AppShell). - Добавление новой технологии в стек (новый фреймворк, новая UI-библиотека, новый шрифт, новая иконографическая библиотека).
- Изменение брендовой палитры/шрифтов — даже одного значения (Teal, Ivory, теало-нуар, Inter, JetBrains Mono).
- Изменение 14 OKLCH-статусов воронки или их slug-маппинга на UI.
- [v1.4] Использование 21st Magic MCP (
mcp__magic__21st_magic_component_*) для генерации компонента из брендового семейства App* (AppButton,AppCard,AppDataTable,AppDialogи любых других с префиксомAppвresources/js/components/). Брендовые компоненты проходят полный R12 архитектурный flow. - [v1.4] Использование 21st для генерации компонента, для которого уже есть Vuetify-эквивалент (
v-data-table,v-text-field,v-dialog,v-select,v-card,v-btnи т.д.) или существующий компонент вresources/js/components/. Это дублирование стека (нарушение CLAUDE.md §5 п.6 «не два инструмента на одну задачу»).
В этих ситуациях — обязательный стоп + вопрос пользователю, без попытки «middle confidence» обойти. Auto mode не отменяет hard-стоп.
Правило 1 — классификация задачи
Каждая задача попадает ровно в одну ветку:
Задача
├── Процессная (debug, plan, worktree, parallel, finishing, verify, code review, refactor логики)
│ → Внутри stack работает Superpowers. Frontend Design не вызывается.
│
├── Бэкенд / логика без UI (API, БД, миграции, бизнес-правила)
│ → Внутри stack работает Superpowers. Frontend Design не вызывается.
│
├── Чисто визуальная (палитра, типографика, layout-эскиз, выбор паттерна, иконка, состояние hover/focus, скелетон)
│ → Внутри stack работает Frontend Design. Superpowers не вызывается.
│
├── UI-фича (компонент с логикой и визуалом)
│ → Внутри stack работают оба, по фазам Правила 2.
│
└── Вне scope (тривиальная задача из 0.4.A, или live-отмена 0.4.B)
→ Действовать без плагинов, явно зафиксировав это.
Распознавание:
- Процессная — по глаголу: debug, fix bug, write tests, plan, parallel, worktree, finish branch, verify, review code, refactor.
- Визуальная — по артефакту: цвет, шрифт, spacing, layout, иконка, состояние, скелетон, иллюстрация. Чисто визуальное = эскиз, мокап, исследование стиля без поведенческого кода, не предназначенное для коммита в
resources/js/. - UI-фича — есть и логика, и визуал в одном артефакте.
Дезамбигуация по умолчанию:
| Слово в запросе | Дефолт классификации |
|---|---|
«компонент» (component, *.vue файл) |
UI-фича (R2 фазы) — даже если запрос «спроектируй компонент Х», подразумевается логика + визуал |
| «эскиз», «мокап», «концепт», «исследование» | чисто визуальная (R1 ветка Frontend Design) |
| «спроектируй / придумай / сделай», без слов выше, на отдельный артефакт | смотреть на артефакт: если итог = *.vue файл с state/props/events → UI-фича; если итог = картинка/палитра/набор токенов → визуальная |
| «исправь», «дополни», «переделай» существующий компонент | UI-фича, лёгкое возвращение к фазе 2 или 5 (R4) |
| «отрисуй», «покажи варианты» — без коммита в репо | чисто визуальная |
При сомнениях между «компонент» и «чисто визуальное» — побеждает UI-фича (более полный flow R2; чисто визуальное — это «опустить шаги», а не наоборот).
Правило 2 — фазы UI-фичи
| Фаза | Что делается | Кто отвечает |
|---|---|---|
| 1. Intent / requirements | сценарий, edge cases, критерии «готово» | Superpowers brainstorming |
| 2. Visual design | компонент, layout, цвет, шрифт, состояния | Frontend Design |
| 3. Plan | разбивка на шаги, очерёдность файлов | Superpowers writing-plans |
| 4. Логика компонента | state, props, computed, события | Superpowers test-driven-development |
| 5. Визуальная сборка | template, классы, токены — по дизайну из фазы 2 | Frontend Design (look-first итерация разрешена) |
| 6. Verification (логика) | прогон тестов, проверка edge cases | Superpowers verification-before-completion |
| 7. Verification (визуал) | соответствие токенам, состояния, контраст | Frontend Design (UI-чеклист) |
| 8. Review (параллельно) | по аспектам — см. Правило 5 | оба |
Правило 3 — TDD vs визуальная итерация: разделение по типу артефакта
| Тип артефакта | Метод | Плагин |
|---|---|---|
| Поведение (state, computed, props, events, бизнес-логика, валидация) | TDD-rigid — тесты до кода | Superpowers TDD |
| Визуал (template, классы, токены, размеры, отступы) | look-first → snapshot/visual регрессия после | Frontend Design |
| Контракты a11y (aria, фокус-порядок, контраст) | автопроверка после визуала (Pa11y) | вне обоих плагинов |
TDD применяется только к фазе 4 (логика). На фазу 5 (визуал) он не распространяется. Это не нарушение «rigid» дисциплины TDD, а scoping: TDD требует «implement code» — у визуала нет тестируемой пред-условной логики.
Граничные случаи:
- Computed → template binding: тест на computed достаточен; template ловится snapshot'ом.
- Сообщение об ошибке валидации в UI: логика появления — TDD; текст и стиль — визуал.
- Hover/focus state: CSS — визуал; обработчик события — TDD.
Правило 4 — порядок инвокации и возвраты
Базовая последовательность UI-фичи:
1. brainstorming → 2. visual design → 3. writing-plans
→ 4. TDD логика → 5. визуальная сборка → 6/7. verification
→ 8. review (parallel)
Возвраты к ранним фазам разрешены, но классифицируются:
| Тип возврата | Когда | Что делать |
|---|---|---|
| Лёгкое | артефакт меняется, intent (user story, acceptance criteria) — нет | разрешено без re-entry в brainstorming |
| Тяжёлое | меняется intent: новое состояние, новая ветка UX, новое требование | обязателен re-entry в фазу 1 |
Перед каждым возвратом — явная фиксация одной строкой:
- «лёгкое возвращение к фазе 2, intent не меняется»
- «тяжёлое возвращение, intent меняется на X»
Без фиксации возврат запрещён — это правило снимает рационализацию «я просто немного подправлю».
Правило 5 — ревью без конфликта
Ревью разделяется по аспекту, не по файлу. Один файл может попасть в оба ревью одновременно — параллельность сохраняется.
| Аспект | Кто | Что смотрит |
|---|---|---|
| Логика, тесты, безопасность, читаемость | Superpowers requesting-code-review |
handler, state, props, computed, импорты, error handling |
| UI/UX, контраст, состояния, типографика, spacing | Frontend Design | template, классы, токены, hover/focus/disabled, иерархия |
| A11y технический (DOM, aria, keyboard) | Pa11y (CLAUDE.md §5 п.3) | вне плагинов |
Декомпозиция файла на аспекты — задача ревьюера на старте ревью. Если ревьюер один (последовательно): сначала логика (блокирует выпуск), затем UI (блокирует UX-качество).
Правило 6 — стековый фильтр для внешних UI-источников (FD, UPM, 21st)
Все внешние UI-источники предполагают дефолтные стеки React/Tailwind/shadcn (FD по умолчанию универсален, но примеры тяготеют к React-экосистеме; UPM держит библиотеку с 10 стеками включая React/Next/Tailwind/shadcn; 21st Magic MCP по умолчанию генерирует React + Tailwind + shadcn компоненты). В Лидерре стек — Vue 3 + Vuetify 3 (CLAUDE.md §2). Адаптация на стек проекта — обязательная внутренняя часть ответа любого из трёх плагинов, не отдельный шаг и не работа другого плагина.
6.0. Универсальная таблица фильтра (применяется ко всем трём плагинам одинаково)
| Что брать (универсально) | Что отфильтровать (стек-зависимо) |
|---|---|
| Принципы (a11y, контраст, фокус, иерархия, spacing-шкала) | Конкретные имена компонентов чужого стека |
| Паттерны (modal-flow, form-validation UX, empty/loading/error states) | Tailwind-классы, shadcn-импорты, JSX (CLAUDE.md §5 п.2) |
| Структуры состояний и переходов | React imports / hooks (useState, useEffect, useRef, useMemo) |
| Цветовые/типографические системы как принципы | Конкретные палитры/шрифты (у нас Forest v8 + Inter/JetBrains Mono) |
| State-машины и переходы | Конкретные библиотеки иконок (у нас Lucide) |
Ответ внешнего плагина без выполненной адаптации = неполный ответ, возвращается в плагин на доработку. Внешний пост-процессинг другим плагином не предусмотрен — каждый плагин сам обязан выдать стек-совместимый материал.
Per-plugin specifics:
- Frontend Design (
anthropics/frontend-design): фильтр применяется к фразеологии плагина; типичные находки — JSX-снимки, Tailwind-классы, shadcn<Button>/<Dialog>. Конверт: JSX → Vue SFC template, Tailwind → Vuetify utility / inline CSS, shadcn → Vuetify-эквивалент. - UI UX Pro Max (skill
ui-ux-pro-max): библиотека стилей + палитр + UX-гайдлайнов. Фильтр срезает 6 из 10 стеков (React, Next, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn) — оставляем Vue + HTML/CSS как опорные. Конкретные палитры/шрифты из библиотеки не переносим (R11.3 запрет инверсии иерархии); берём только UX-принципы. - 21st Magic MCP (
mcp__magic__21st_magic_component_*): генератор по умолчанию выдаёт React + Tailwind + shadcn. Фильтр обязателен до любого использования сгенерированного кода. Сгенерированный JSX никогда не коммитится вresources/js/напрямую — только после полного конверта (см. R14.4).
6.1. Hard-override (этот проект, применяется к FD/UPM/21st)
SKILL.md плагина Frontend Design содержит директивные «NEVER» в отношении ряда брендовых решений Лидерры. UPM держит библиотеку 161 палитры + 57 шрифтовых пар + 50+ aesthetic-стилей; 21st Magic MCP по умолчанию выдаёт trendy-стиль (часто dark mode + gradients + неоновые акценты). Все эти рекомендации полностью игнорируются — в проекте они зафиксированы как источники истины:
| Артефакт | Что говорят внешние плагины | Что у нас (источник истины) |
|---|---|---|
| Шрифт UI-текста | FD: «NEVER use Inter, Roboto, Arial, system fonts» (overused). UPM: 57 шрифтовых пар на выбор. 21st: trendy display-шрифты | Inter — primary UI font (BRANDBOOK_v2 §4.1) с axis opsz 14..32 |
| Шрифт numerics/code | UPM: разные mono-шрифты | JetBrains Mono с feature tnum (BRANDBOOK_v2 §4.1) |
| Палитра primary | FD: «Avoid timid palettes» (бери жирные, неожиданные). UPM: 161 палитра. 21st: trendy bright accents | Teal #0F6E56 (Forest, BRANDBOOK_v2 §3.6) — неоспариваемый |
| Палитра background | FD: «Avoid solid colors, add atmosphere/textures/gradients». 21st: gradient-backgrounds по умолчанию | Ivory #F6F3EC — однородный page bg (Forest) |
| Палитра sidebar | — | Теало-нуар #012019 (Forest sidebar) |
| Aesthetic направление | FD: «Bold maximalism / brutalism / retro-futuristic». UPM: 50+ стилей (glassmorphism/claymorphism/neumorphism/brutalism). 21st: trendy/playful по умолчанию | Restrained / minimal Forest — спокойный тон, без brutalism/maximalism/glassmorphism/неонов |
| Иконки | UPM: 25 иконографических наборов; 21st: lucide-react / heroicons | Lucide (CLAUDE.md §2), Vue-обёртка |
| Статусы воронки | — | 14 OKLCH-статусов из db/schema.sql:2076, мапить через slug |
| Brand направление в целом | FD: «Bold aesthetic direction», «UNFORGETTABLE differentiation»; UPM/21st: множественные trendy-направления | Forest v8 как зафиксированная эстетическая платформа — отклонения только через изменение брендбука |
Правило применения hard-override: при обработке ответа FD / UPM / 21st — даже если плагин использует категоричные «NEVER» / «NEVER use X» / «AVOID Y» или предлагает альтернативную палитру/шрифт/aesthetic — для пунктов из таблицы 6.1 эти рекомендации полностью игнорируются. Брендовый фундамент Forest приоритетнее любой стилевой эстетики любого внешнего плагина. Плагины остаются ценны на уровне принципов, паттернов, состояний, ритма spacing, UX-флоу — то есть в зоне таблицы 6.0 (универсальное).
При обнаружении нового потенциального hard-override (плагин противоречит ещё какому-то источнику истины проекта) — добавлять строку в таблицу 6.1 через /claude-md-management:claude-md-improver и bump PSR_v1 минор-версии.
Правило 7 — финальный gate готовности по типу артефакта
| Тип артефакта | Кто закрывает | Дополнительные gates |
|---|---|---|
| Логический (бэкенд, бизнес-логика, поведение компонента) | Superpowers verification-before-completion |
Pest 4 / Vitest 4 (CLAUDE.md §3.2/§3.3) |
Чисто визуальный, non-deployable (мокап, эскиз, исследование стиля без коммита в resources/js/) |
Frontend Design (UI-чеклист: токены, состояния, контраст) | — |
| Чисто визуальный, deployable (компонент, страница, layout, скелетон в репозитории) | Frontend Design (UI-чеклист) | + Pa11y проход обязателен перед commit (CLAUDE.md §5 п.3) |
| Смешанный (UI-фича) | оба — Superpowers (фаза 6 = Pest+Vitest) → Frontend Design (фаза 7 = UI-чеклист) | + Pa11y проход на компонент перед commit |
Никакой плагин не может закрыть задачу за пределами своего типа артефакта. Pa11y — независимый технический gate для всех deployable артефактов с UI-выводом, не подменяемый ни одним из плагинов (правило проекта, см. CLAUDE.md §5 п.3 и Pravila §13.5). Это снимает конфликт «Frontend Design closes pure visual» vs «Pa11y is sole a11y truth» через явное разделение: Frontend Design покрывает a11y-принципы (контраст, фокус-порядок, иерархия), Pa11y — технический a11y (DOM, aria, keyboard).
Правило 8 — тай-брейкеры
| Ситуация | Кто/что побеждает |
|---|---|
| Оба молчат — задача не в карте | действовать без плагинов, фиксируя это (Правило 1, ветка «вне scope») |
| Оба активируются на одной фазе | смотреть Правило 2 — фаза однозначно определяет |
| Frontend Design тянет в визуальную итерацию, Superpowers требует TDD | Правило 3 — разделение по типу артефакта |
| Frontend Design предлагает Tailwind, у проекта другой стек | Правило 6 — фильтр внутри Frontend Design |
| Frontend Design «NEVER use Inter» / «bold maximalism» — vs наш Forest+Inter | Правило 6.1 — hard-override, рекомендация плагина игнорируется |
| Superpowers brainstorming тормозит чисто визуальную задачу | Правило 1 — задача классифицирована «визуальная», brainstorming не активируется |
| Нужна правка визуала во время фазы 4 (логики) | Правило 4 — лёгкое возвращение, без re-entry |
| Меняется intent во время фазы 4 | Правило 4 — тяжёлое возвращение, re-entry в brainstorming |
| Один файл попал и в ревью кода, и в ревью UI | Правило 5 — параллельно по аспектам |
| Закрытие чисто визуальной задачи (non-deployable) | Правило 7 — Frontend Design сам, без Superpowers и Pa11y |
| Закрытие чисто визуальной задачи (deployable, идёт в коммит) | Правило 7 — Frontend Design + обязательный Pa11y проход |
| Pa11y нашёл violation, Frontend Design считает «всё ок по чеклисту» | Pa11y побеждает (CLAUDE.md §5 п.3 — единственный источник истины по техническому a11y) |
| Задача под §12.2 Pravila (TDD/debug/plan/parallel/review/verify/brainstorm/...) и одновременно визуальная по R1 | §12.2 first — Superpowers (brainstorming → plans → TDD) запускается первым по фазам R2; Frontend Design подключается на фазах 2/5/7. Нет «либо/либо» — есть R2 phase-flow |
| Глагол неоднозначный («сделай», «спроектируй», «придумай», «покажи») | смотреть на артефакт по дезамбигуации R1: state/props/events → UI-фича (R2); только токены/палитра → визуальная |
| Слово «компонент» в запросе при отсутствии слов «эскиз/мокап/концепт» | UI-фича по дефолту (R1 дезамбигуация) |
Запрос на правку существующего .vue файла |
UI-фича + лёгкое возвращение (R4) |
| Hard-стоп триггер R0.6 сработал в Auto mode | стоп + вопрос пользователю, Auto mode не отменяет hard-стоп |
| §12 Pravila hard rule «Superpowers first» противоречит R1 «Frontend Design только» | §12 побеждает над R1 для §12.2-задач: Superpowers инвокируется первым; если задача чисто визуальная по артефакту — после первой инвокации skill сам передаёт работу Frontend Design (skill не пишет визуал, поэтому это не override) |
| [v1.4] Хочется использовать UPM параллельно с FD на одной фазе | R10.1 + R14.5 — последовательно, не параллельно. UPM — fallback / источник материала, FD — решатель |
| [v1.4] Хочется использовать 21st параллельно с UPM | R14.5 — один генератор на задачу. Если кажется что нужны оба — задача декомпозируется |
| [v1.5] Хочется использовать FD параллельно с 21st на одной задаче | R14.4 implicit + R10.2: 21st вызывается внутри фазы 5 R2 как подзадача FD, не параллельно. FD — ведущий (решатель), 21st — генератор черновика. Параллельный запуск нарушает R10.2 «внешние плагины — read-only для решений» |
| [v1.4] UPM-палитра «выглядит лучше» Forest | R11.3 запрет инверсии иерархии + R6.1 hard-override. Forest — закон, не предложение |
| [v1.4] 21st сгенерировал готовый JSX-компонент с Tailwind, можно ли просто импортировать | нет, R14.4 требует полный pipeline: R6.0 → R6.1 → FD → возврат |
Правило 9 — формула решения
При входе в задачу — три вопроса последовательно:
- Это процесс или артефакт? → Процесс → Superpowers. Артефакт → дальше.
- Артефакт — логика, визуал или оба? → Логика → Superpowers. Визуал → Frontend Design. Оба → Правило 2.
- Какая фаза? → Найти фазу в Правиле 2 → плагин определён.
Лимит итераций:
- Если за 2 прохода Правил 1+9 ответ не найден — стоп, применяется Правило 0.6 (предположение в Auto mode или вопрос пользователю).
- Третья итерация запрещена — она означает, что классификационная схема не покрывает задачу, и нужен внешний ввод.
Правило 10 — внешние плагины как инструменты, не как решатели
Stack — головной. Все плагины вне stack'а — инструменты, инвокируемые внутри stack-flow как подзадачи. Это снимает все overlap'ы с другими установленными плагинами.
10.1. Реестр внешних плагинов и их роль
Реестр разбит на три блока по типу источника (v1.5+) — раньше всё было одним списком, что путало «отключи в settings.json» с «не вызывай /команду». Каждый блок имеет свою механику включения и отмены.
Блок 1: enabledPlugins через marketplace (включаются в ~/.claude/settings.json)
| Плагин | Marketplace | Роль | Когда инвокировать |
|---|---|---|---|
| ui-ux-pro-max (skill) | nextlevelbuilder/ui-ux-pro-max-skill |
резервная UI-библиотека (50+ стилей, 161 палитра, 99 UX-гайдлайнов, 25 типов графиков, 10 стеков). Не источник истины (R11 уровень 5) | (1) когда Frontend Design выдал «не знаю» / не покрывает узкоспецифический вопрос (типичные случаи: chart-стек, экзотические типографические пары, региональные UX-паттерны); (2) [v1.4] когда в фазе 1 R2 нужен «третий вариант» для архитектурного решения R12 (см. R11.5). Активируется внутри R2 как fallback / источник материала, не параллельно с FD. Категория: UI-пул (Pravila §13) |
claude-md-management (skills claude-md-improver + revise-claude-md) |
anthropics/claude-plugins-official |
инфраструктурный плагин для CLAUDE.md edits | обязательно при любом изменении CLAUDE.md (выполнение CLAUDE.md §5 п.10). Не альтернатива stack'у, а инструмент внутри stack-фазы «реализация». Категория: инфраструктурная (вне UI-пула Pravila §13) |
adr-kit (8 skills + агент adr-generator) |
rvdbreemen/adr-kit |
Architecture Decision Records — /adr-kit:adr авторинг, /adr-kit:lint проверка, adr-judge enforcement. Категория: architecture-tooling (Tooling #36, вне UI-пула) |
при авторинге/ревизии архитектурного решения в docs/adr/. adr-judge врезан в lefthook job 9 (декларативно, без --llm). Не UI → вне R6.0/R6.1/R14 |
| architecture-patterns (1 skill) | secondsky/claude-skills |
справочник архитектурных паттернов (Clean / Hexagonal / layered / DDD). Категория: architecture-tooling (Tooling #38). Knowledge-only, не решатель | при проектировании/рефакторинге подсистемы — справка по паттернам. Не источник истины (R11), как UPM |
| Trail of Bits Skills (субсет 8 плагинов) | trailofbits/skills (marketplace trailofbits) |
аудит безопасности — security-аудит diff, supply-chain риск зависимостей, поиск вариантов уязвимостей. Категория: audit-security (Tooling #39, вне UI-пула). CC-BY-SA-4.0, marketplace-плагин (не вендорен) | при глубокой аудит-кампании раздела D3 «Аудит и управление рисками». Не UI → вне R6.0/R6.1/R14 |
| security-guidance (1 PreToolUse-хук, блокирующий) | anthropics/claude-plugins-official |
inline-предупреждения уязвимостей при правке кода — блокирующий хук (sys.exit 2, одноразовый speed-bump per «файл+правило» за сессию, retry проходит), 8 контентных правил + 1 path-правило. Категория: audit-security (Tooling #40) |
автоматически — PreToolUse-хук на Write/Edit/MultiEdit. Не решатель, не UI → вне R6.0/R6.1/R14 |
Блок 1 — note (v3.3): mermaid-skill (Tooling #37, генератор C4/architecture-диаграмм) — вендоренный сторонний скил в .claude/skills/mermaid/ (WH-2099/mermaid-skill, MIT), не через marketplace и не в enabledPlugins. Пассивная утилита (генерация Mermaid-исходника), не решатель — формально вне типологии трёх блоков; регистрируется здесь для полноты. Категория architecture-tooling, вне R6/R14.
Отмена: через удаление из enabledPlugins в ~/.claude/settings.json или через live-override /имя-плагина (R0.4.B) на одно действие.
Блок 2: Built-in skills Claude Code (всегда доступны через Skill tool по /имя)
| Skill | Роль | Когда инвокировать |
|---|---|---|
| review | code review tool | только при явном /review от пользователя. Дефолт код-ревью — Superpowers requesting-code-review (R5) |
| security-review | security audit tool | только при явном /security-review, либо в фазе 3 проекта (Semgrep). Дефолт security-проверка — Superpowers + Semgrep MCP (Tooling §3.4 фаза 3) |
| init | scaffold-tool для CLAUDE.md в новых проектах | никогда в Лидерре (CLAUDE.md уже существует). Только при явном /init для отдельных монорепо-пакетов |
| simplify | code review для упрощения | только при явном /simplify. Дефолт верификация качества кода — Superpowers verification-before-completion (R7) |
| update-config | конфигурация ~/.claude/settings.json |
по явному вызову пользователя; не входит в stack-flow |
| keybindings-help | помощь по ~/.claude/keybindings.json |
по явному вызову пользователя |
| fewer-permission-prompts | оптимизация prompts через allowlist | по явному вызову пользователя |
| loop | recurring task scheduler | по явному вызову пользователя |
| schedule | one-time / cron remote agents | по явному вызову пользователя |
| claude-api | плагин для Claude API/SDK работ | не активен в Лидерре (мы не разрабатываем под Claude API) |
Отмена: built-in skills нельзя отключить — они часть Claude Code. Не вызываются автоматически: только по /имя от пользователя или через делегирование из stack-flow с явным reasoning.
Блок 3: MCP-серверы (включаются в ~/.claude.json или .mcp.json)
| MCP-сервер | Конфиг | Роль | Когда инвокировать |
|---|---|---|---|
21st.dev Magic MCP (magic сервер, deferred tools mcp__magic__21st_magic_component_* + logo_search) |
~/.claude.json (с API-ключом, npm-пакет @21st-dev/magic@latest) |
генератор стартовых шаблонов для UI-компонентов, отсутствующих в Vuetify и resources/js/components/. Не источник истины, не решатель, не закрыватель задачи |
(1) задача = UI-фича по R1; (2) нужный паттерн отсутствует в Vuetify-наборе и resources/js/components/; (3) задача не попадает в R0.6 hard-стоп (не брендовый App*-компонент, не изменение токенов, не cross-cutting); (4) FD на фазе 2 R2 принял решение «нужен кастомный компонент». Активируется на фазе 5 R2 (визуальная сборка) как подзадача: генерация черновика → R6.0 фильтр → R6.1 hard-override → FD адаптация → возврат в фазу 5. Полный pipeline — R14.4. Категория: UI-пул (Pravila §13) |
Boost MCP (laravel-boost сервер, 9 tools) |
.mcp.json (php app/artisan boost:mcp) |
стек-знания (PHP/Laravel/Vue/Vuetify/Pest) + БД-инструменты (database-query, database-schema, database-connections) + диагностика (last-error, read-log-entries, browser-logs) + docs (search-docs) | автоматически на работе с .vue/.php/.sql файлами; слой ниже stack'а — служебный, не конкурирует за gate. Через Roster auto-detect серверит только релевантные guidelines (Inertia/Livewire/Tailwind/Filament/Sail/PHPUnit не серверятся, у нас их нет) |
| playwright | .mcp.json (@playwright/mcp@latest) |
браузерная автоматизация — открыть web/*.html, screenshot, проверка интерактива |
при работе с HTML-прототипами или для UI-смоук-тестов |
| github | .mcp.json (HTTP api.githubcopilot.com/mcp, требует GITHUB_TOKEN) |
официальный hosted GitHub MCP — issues, PRs, search-code, list-commits и т.д. | при работе с GitHub-объектами (PR, issues, branches) |
sentry (@sentry/mcp-server@0.33.0+, official; tools mcp__sentry__*) |
.mcp.json (env SENTRY_URL + SENTRY_AUTH_TOKEN через PowerShell User scope) |
debug-runtime MCP — production error investigation в self-hosted Sentry (Yandex Cloud per CLAUDE.md §2). Категория debug-runtime (v2.1+) — отдельная от UI-пула (UPM/21st) и инфраструктурного (claude-md-management). Tooling #34. Pending Sentry instance deployment (Б-1) | при investigation runtime error / post-incident debug. READ-ONLY scope (org:read/project:read/event:read). Не trigger'ит R6.0/R6.1 фильтры и не входит в R14 pipeline UI-генераторов |
redis (@modelcontextprotocol/server-redis@2025.4.25, deprecated Anthropic source) |
.mcp.json (redis://localhost:6379 к Memurai Windows service) |
debug-runtime MCP — Redis/Memurai inspection (очереди, кэш, Pest --parallel race conditions per quirk 72/77). Категория debug-runtime (v2.1+). Tooling #35. Memurai PONG verified Task 4. Migration plan на community alternative (e.g., @easy-mcps/redis-mcp-server@1.0.8) post-MVP |
при debug Redis runtime. READ-ONLY usage обязателен — никаких DEL/FLUSHDB/SET/LPUSH из Claude. Manual mutations — через memurai-cli напрямую заказчиком. Cosmetic deprecation warning в stderr |
Отмена: через удаление из ~/.claude.json или .mcp.json. Live-override через /команду для MCP не предусмотрен — MCP-серверы не имеют slash-интерфейса.
10.2. Принципы координации
- Stack-gate всегда первый. Любая задача → R0 → R1 (классификация) → выбор плагина внутри stack'а. Внешний плагин получает работу только через делегирование из stack-flow или через явную
/командупользователя. - Внешние плагины — read-only для решений. Их вывод используется как инструмент (палитра, шаблон, gh-команда), но решение «как поступить» принимается внутри stack'а (Superpowers/FD).
- Не параллельная работа. Если ui-ux-pro-max и Frontend Design оба «хотят» одной задачи — побеждает FD (он в stack'е). UPM подключается последовательно, как fallback, не параллельно.
- Явная
/команда— единственная отмена принципа. Если пользователь пишет/review—reviewплагин получает работу напрямую, минуя Superpowersrequesting-code-review. Это live-override на одно действие, аналог R0.4.B.
10.3. Делегирование через stack-flow — пример
Запрос «обнови CLAUDE.md, добавь новое правило»:
- R0 gate → задача в stack
- R1 → классифицирована как «процессная — документация» (из §12.3 exclusions Pravila)
- Stack определяет план: «вызвать claude-md-improver внутри R2 фазы 4 как инструмент»
- Инвокирую
claude-md-management:claude-md-improverкак подзадачу - После выполнения — возвращаюсь в stack-flow для R7 verification
Это не конфликт с CLAUDE.md §5 п.10 — это исполнение §5 п.10 внутри stack'а.
10.4. Запрет на байпас stack'а
Tier: transitive hard-rule (через цепочку Pravila §13.9 → §13). Не explicit hard-rule как Pravila §12, но эквивалент по последствиям (фиксация в feedback memory + утрата головенства stack'а). Pravila §9 «Отступления» к этому правилу не применяется (наследуется от §13 hard-link статуса; см. Pravila §13.6). См. также Pravila §12.4 для аналогичной формулировки про §12.
Категорически запрещено инвокировать любой не-stack плагин до прохождения R0 gate, кроме случаев:
- live-команда
/имя-плагинаот пользователя (R0.4.B); - технические исключения R0.4.A (read-only исследование, тривиальные синки, справочные ответы).
Прямой Skill tool на не-stack плагин до классификации задачи через R1 = нарушение R10, по последствиям сопоставимое с игнорированием §12 Pravila (потеря головенства stack'а, неуправляемая координация). Формально hard-link на это нарушение зафиксирован в Pravila §13.9: нарушение R10 PSR_v1 = нарушение §13 Pravila.
Правило 11 — иерархия источников истины UI/UX
При противоречии между источниками знаний по UI — выбирается верхний уровень. Это снимает тройную избыточность (Brandbook + Boost guidelines + FD + UPM + Vuetify docs).
1. BRANDBOOK_v2 (Forest v8)
↓
2. ТЗ v8.5 + db/schema.sql + Открытые_вопросы
↓
3. Frontend Design plugin (после фильтра R6 + override R6.1)
↓
4. Boost custom guidelines (app/.ai/guidelines/vuetify.md)
↓
5. ui-ux-pro-max plugin (резерв-библиотека)
↓
6. Default Vue 3 + Vuetify 3 documentation
11.1. Что определяет каждый уровень
| Уровень | Роль | Когда определяет |
|---|---|---|
| 1. BRANDBOOK_v2 | Палитра (Teal/Ivory/теало-нуар), шрифты (Inter/JetBrains Mono), иконки (Lucide), Forest aesthetic направление, axis типографики | при любом цветовом/типографическом/направленческом решении |
| 2. ТЗ + schema + Открытые_вопросы | 14 OKLCH-статусов, состояния воронки, состав экранов, поля форм, бизнес-правила | при решениях, связанных с предметной областью (deals, billing, admin, auth) |
| 3. Frontend Design | Принципы a11y, контраст, иерархия, паттерны (modal-flow, form-validation UX), spacing-ритм, состояния loading/empty/error | в фазе 2 R2 (визуальный дизайн UI-фичи) и для чисто визуальных задач R1 |
| 4. Boost guidelines | Паттерны кода Vue 3 + Vuetify 3: какой компонент использовать, как структурировать template, какие composables, как делать v-data-table с пагинацией | при работе с .vue файлами в resources/js/ |
| 5. ui-ux-pro-max | Дополнительные UX-гайдлайны (charts, табличная навигация, региональные паттерны), палитры/шрифты как библиотека (для внутренних утилит, не основного UI) | только когда уровни 1–4 молчат по конкретному вопросу |
| 6. Vue/Vuetify docs | Официальный API компонентов, props/events/slots, конфигурация плагинов | как fallback для технических вопросов API |
11.2. Применение
При вопросе «как стилизовать v-data-table для списка сделок»:
- уровень 1 (Brandbook): даёт палитру (Teal accent, Ivory bg, JetBrains Mono для числовых колонок)
- уровень 2 (ТЗ + schema): даёт 14 OKLCH-статусов для slug-маппинга
- уровень 3 (FD): даёт принципы (контраст 4.5:1, hover-state, фокус-порядок, sortable headers UX)
- уровень 4 (Boost): даёт паттерн
v-data-table+ slots для status badges - уровень 5 (UPM): не активируется — уровни 1–4 уже дали ответ
- уровень 6 (Vuetify docs): только если нужен exact prop name
При противоречии: Brandbook (Inter) > FD «NEVER use Inter» — побеждает уровень 1, FD-рекомендация игнорируется (R6.1).
11.3. Запрет на инверсию иерархии
Никогда не использовать UPM-палитру вместо Forest, даже если UPM «лучше выглядит». Никогда не использовать FD-aesthetic «brutalism» вместо Forest-restrained. Иерархия — это не «можно нарушить ради красоты», это закон.
11.4. Fallback при технической недоступности уровня
Если источник уровня N технически недоступен в текущей сессии или контексте — он считается «молчащим», и решение опускается на уровень N+1 без потери валидности. Технические недоступности и их fallback-маршруты:
| Источник | Возможная недоступность | Fallback |
|---|---|---|
| 1. BRANDBOOK_v2 | файла нет в liderra_v8_handoff/docs/ (репозиторий в неполном состоянии) |
уровень 2 (ТЗ + schema), при отсутствии и того — hard-стоп R0.6 |
| 2. ТЗ + schema + Открытые_вопросы | docs не загружены в контекст | прочитать через Read-tool; если файл отсутствует физически — hard-стоп |
| 3. Frontend Design plugin | skill не в системном списке текущей сессии (skill list = constant per conversation, см. intro) | сразу уровень 4 (Boost guidelines) + явная пометка пользователю «FD недоступен в этом чате, использую Boost+Brandbook; для полной R2 phase-flow открой новый чат» |
| 4. Boost custom guidelines | app/.ai/guidelines/vuetify.md отсутствует или Boost MCP не подключён |
уровень 5 (UPM) — только для технических вопросов API; для дизайн-решений — hard-стоп |
| 5. ui-ux-pro-max | плагин отключён в settings.json | уровень 6 (Vue/Vuetify docs) |
| 6. Vue/Vuetify docs | сетевая недоступность WebFetch | hard-стоп R0.6 — нельзя действовать без официального API |
Правило применения: перед использованием уровня — короткая внутренняя проверка доступности. Если уровни 1 или 2 недоступны — hard-стоп независимо от R13 confidence: brand и предметная область не имеют валидного fallback'а. Уровни 3–6 — мягкий fallback с пометкой.
В этой сессии (после установки FD-плагина 09.05.2026): уровень 3 в текущем разговоре «молчит», работаю по уровням 1, 2, 4, 5, 6. R2 фазы 2/5/7 (FD-зависимые) — частично ослаблены до открытия нового чата.
11.5. Активация UPM в архитектурном решении R12 (v1.4)
Активация уровня 5 (UPM) разрешена не только при «молчании уровней 1–4», но и при архитектурном решении R12, где требуется ≥3 различающихся варианта (A/B/C) по Pravila §4.5: один из вариантов может исходить из UPM-библиотеки. Это снимает рестриктивный «only when silent» и даёт UPM роль на фазе 1 R2 (brainstorming) для архитектурных решений.
Ограничение: даже в этом случае конечное решение принимается через уровни 1–2 (Brandbook + ТЗ); UPM остаётся материалом, не решением (R10.2). UPM не может «выиграть» против Brandbook через факт «вариант UPM красивее» — иерархия R11 остаётся законом (R11.3).
Правило 12 — три паттерна дизайн-решений по типу решения
Снимает неоднозначность между §4.5 «3 варианта», Superpowers brainstorming (свободно), FD «one BOLD direction» — у каждого свой scope.
| Тип решения | Примеры | Паттерн | Источник |
|---|---|---|---|
| Архитектурное | Новое компонент-семейство (AppDataTable уровня системы), новый layout-pattern, новая иконографика (замена Lucide), новая палитра, добавление новой технологии в стек, изменение брендовой основы |
3 варианта A/B/C + рекомендация Claude + дефолт. Триггер hard-стопа R0.6. Override: если пользователь явно вызвал brainstorming skill или сформулировал «свободно / без вариантов / brainstorm» — формат A/B/C снимается, идёт свободный мозговой штурм по Pravila §11.1 (Superpowers override §4.5 разрешён) |
Pravila §4.5; override §11.1 |
| Тактическое с альтернативами (≥2 различных компонента/паттерна) | Выбор Vuetify-компонента из 2–3 близких альтернатив (v-text-field vs v-autocomplete vs v-select), выбор layout-варианта (v-row vs v-container для grid), выбор валидационного паттерна |
A/B/C формат разрешён (для совместимости с user-стилем коротких ответов «а», «б»); либо свободный brainstorming. Не путать с архитектурным §4.5 — здесь нет рекомендации Claude как обязательной строки | Superpowers + user-стиль |
| Тактическое без альтернатив | layout-вариация в рамках одного компонента, расположение элементов на экране, выбор spacing-token, hover-поведение из Vuetify defaults | одна BOLD идея от FD (фаза 2 R2) или прямое решение по контексту | FD R2 |
| Стилевое внутри направления | Цвет акцента из палитры Forest, размер шрифта из axis 14..32, отступ из spacing-шкалы, hover-state intensity, transition timing | одна готовая идея от FD — без вариантов | FD фаза 2 |
| Тривиальное | Padding кнопки на 4px, точное значение border-radius, microcopy в tooltip | прямое решение Claude по контексту, без brainstorm и без FD | по дефолту brandbook + здравый смысл |
12.1. Распознавание типа
| Сомнение | Резолюция |
|---|---|
| Архитектурное или тактическое? | если решение переиспользуется в ≥3 местах или меняет foundation — архитектурное; если в одном экране — тактическое |
| Тактическое или стилевое? | если есть выбор между разными компонентами/паттернами — тактическое; если только параметры одного компонента — стилевое |
| Стилевое или тривиальное? | если затрагивает brand-токены — стилевое; если только локально влияет — тривиальное |
При неуверенности — поднять на уровень выше (тривиальное → стилевое → тактическое → архитектурное). Лишний brainstorm безопаснее, чем пропуск архитектурного решения.
12.2. Запрет на смешение паттернов
- Архитектурное решение никогда не делается через одну BOLD идею FD без согласования — это нарушение Pravila §4.5. Исключение: override через явный вызов
brainstormingskill или просьбу «свободно/без вариантов» от пользователя — снимает требование §4.5 (см. Pravila §11.1). - Тактическое с альтернативами может оформляться как A/B/C для совместимости с user-стилем коротких ответов («а», «б»), но без обязательной структуры §4.5 (рекомендация + дефолт). Альтернативный формат — свободный brainstorming.
- Тактическое без альтернатив никогда не оборачивается в 3 варианта — это пустая трата времени, нет реальных альтернатив.
- Стилевое решение никогда не оформляется как brainstorm — это пустая трата фазы 1 R2.
- Тривиальное решение никогда не оформляется как brainstorm и никогда как 3 варианта — прямое действие по контексту.
Правило 13 — Decision matrix Auto mode + §12 + R0.6
Снимает операционную неоднозначность между Auto mode «execute immediately», Pravila §12 «Superpowers first» и PSR R0.6 «stop on low confidence». Явная таблица «тип задачи → confidence → действие».
| Тип задачи | Уверенность | Действие в Auto mode |
|---|---|---|
Стандартный CRUD по уже существующему precedent'у в app/Http/Controllers/ (новый endpoint типа existing) |
высокая | действую, инвокируя Superpowers TDD по §12 первым шагом |
Новая UI-фича из ТЗ v8.5 с готовым макетом в liderra_v8_handoff/ (1 из 13 экранов handoff) |
высокая | действую по фазам R2; brainstorming фаза 1 — короткая, фаза 2 — FD по handoff |
| Новая UI-фича в рамках уже согласованного MVP-skopa, но без точной детализации в ТЗ (например, side-panel для модерации в admin-зоне — admin-зона есть в ТЗ, side-panel — нет) | средняя | фиксирую предположение «делаю X, исхожу из Y; если иначе — поправь», действую |
| Новая UI-фича вне ТЗ v8.5 и не в Открытые_вопросы (например, «добавь раздел Заметки» — нет в ТЗ, нет открытого вопроса) | низкая | hard-стоп — требуется согласование как новый Биз-/CTO-/Диз- вопрос (Pravila §2.2 + §7). Нельзя действовать с предположением, это нарушение §7 «закрытие открытых вопросов только пользователем» |
| Доработка существующего компонента (правка handler, добавление prop) | высокая | действую, R4 фаза 4 (TDD логика) |
| Изменение visual внутри компонента (добавить hover-state, поменять цвет акцента в рамках Forest) | высокая | действую, R4 лёгкое возвращение к фазе 2 без re-entry brainstorming |
| Изменение visual направления (добавить новое aesthetic, не описанное в Brandbook) | низкая | hard-стоп R0.6 + 3 варианта (R12 архитектурное) |
Изменение vuetify.ts (palette, font, theme variant) |
низкая | hard-стоп R0.6, нельзя пропустить |
| Cross-cutting refactor ≥3 компонентов / layout-структуры | низкая | hard-стоп R0.6 + writing-plans Superpowers |
| Новая абстракция в коде (composable, helper, схема API) | средняя/низкая | 3 варианта Pravila §4.5 + Superpowers brainstorming фаза 1 |
| Изменение бэкенд-логики, поведения API, бизнес-правил | средняя | Superpowers TDD по §12; если меняется поведение существующего эндпоинта — фиксирую предположение про migration impact |
Изменение db/schema.sql |
низкая | hard-стоп + CHANGELOG_schema (CLAUDE.md §5 п.8) |
| Закрытие открытого вопроса (Биз-/CTO-/Ю-/Диз-/DO-/OPEN-) | низкая | hard-стоп — закрытие только пользователем (Pravila §7) |
| Тривиальная синхронизация (опечатка, версия, кросс-ссылка) | высокая | действую без stack (R0.4.A), без §12, без R0.6 |
| Read-only исследование, grep, git log | высокая | действую без stack (R0.4.A) |
| Справочный ответ без действия над кодом | высокая | действую без stack (R0.4.A); §12 не применяется (§12.3) |
[v1.4] UI-фича из ТЗ, нужен паттерн отсутствующий в Vuetify+resources/js/components/, не брендовый |
средняя | действую, инвокирую R14 pipeline: фаза 5 → 21st черновик → R6.0/R6.1 → FD адаптация |
| [v1.4] UI-фича из ТЗ, паттерн есть в Vuetify | высокая | используем Vuetify, 21st не вызывается (R0.6 пункт 10 hard-стоп) |
| [v1.4] UI-фича из ТЗ, паттерн = брендовый компонент App* | низкая | hard-стоп R0.6 пункт 9 + 3 варианта по §4.5 (R12 архитектурное), 21st не вызывается |
| [v1.4] Архитектурное решение R12, FD дал 1–2 варианта, нужен третий | средняя | действую, фаза 1 R2 → подключить UPM (R11.5) для третьего варианта |
13.1. Принципы matrix'а
- §12 Pravila применяется только когда задача не вышла в R0.4.A. Если задача — read-only/тривиальная/справочная, §12 не релевантен (это §12.3 exclusions Pravila).
- R0.6 hard-стоп — неотменяемый, перекрывает Auto mode. Никакие «средняя confidence + Auto» не обходят 10 пунктов R0.6.
- «Высокая уверенность + Auto» — это разрешение действовать без вопроса, но не разрешение пропустить §12 (Superpowers первым) или R6 (стек-фильтр FD) — они применяются автоматически в фоне.
- «Средняя уверенность» в Auto mode — фиксирую предположение одной строкой перед действием. Не лекция, не вопрос — короткая ремарка для пользователя.
13.2. Совместимость с user-стилем «терсе»
Memory feedback: пользователь предпочитает короткие команды, минимум лекций. Поэтому:
- В «высокая + Auto» — действую молча (только сам факт инвокации skill'а Superpowers визуален).
- В «средняя + Auto» — одна строка ремарки максимум.
- В «низкая / hard-стоп» — компактный вопрос (одно предложение или AskUserQuestion с 2–3 вариантами), не развёрнутая лекция.
- Hard-стоп не отменяется ради «терпимости пользователя к вопросам» — это страховка от поломки brand/архитектуры.
Правило 14 — Pipeline внешних UI-генераторов (UPM + 21st Magic MCP, v1.4)
Назначение: одно правило связывает R6.0 / R6.1 / R10.1 / R11.5 / R0.6 в исполнимый pipeline для двух новых UI-инструментов. Снимает риск ad-hoc использования вне stack-flow.
14.1. Триггер активации pipeline'а
Pipeline активируется при одновременном выполнении:
- задача = UI-фича по R1 (логика + визуал) ИЛИ чисто визуальная задача из R1;
- нужный паттерн не покрыт уровнями 1–4 R11 (Brandbook самодостаточно, ТЗ-требование выполнимо без расширения, FD-самодостаточно, Boost guidelines покрывают паттерн);
- задача не попадает в R0.6 hard-стоп (особенно пункты 9, 10, 11 v1.4).
14.2. Шаги pipeline'а
Запрос
│
▼
┌─────────────────────────────────────┐
│ Stack-gate R0 + классификация R1 │
└─────────────────────────────────────┘
│
▼ (UI-фича)
Фаза 1: brainstorming (Superpowers)
├── архитектурное R12? → подключить UPM на этой фазе (R11.5) для третьего варианта
└── продолжить
│
▼
Фаза 2: visual design (FD)
├── FD пытается решить
│ ├── решил → дальше фаза 3
│ └── не покрыл / нужны альтернативы → R14.3 (UPM fallback)
│
▼
Фаза 3: writing-plans (Superpowers)
│
▼
Фаза 4: TDD логика (Superpowers)
│
▼
Фаза 5: визуальная сборка
├── FD ассемблирует на основе фазы 2
├── если нужен черновик template для нестандартного non-brand non-Vuetify
│ компонента → R14.4 (21st Magic MCP)
│
▼
Фаза 6: verification логики (Superpowers verification-before-completion)
│
▼
Фаза 7: verification визуала (FD UI-чеклист) + Pa11y проход (R7) на deployable
│
▼
Фаза 8: review по аспектам (R5 — оба плагина параллельно)
14.3. R14.3 — подключение UPM (в фазах 1 или 2)
- Триггер активации (фаза 2): FD выдал «не покрывает» / «не знаю» / нужна вторая итерация для сравнения.
- Триггер активации (фаза 1): R12 архитектурное решение, нужен «третий вариант» (R11.5).
- Что делает: отдаёт принципы / палитры (как принципы, не как готовые наборы) / типографические пары (как принципы) / chart-паттерны / UX-гайдлайны.
- Обязательные обработки до использования:
- R6.0 фильтр стека (срезать React/Tailwind/shadcn материалы; оставить Vue + HTML/CSS-уровневые принципы);
- R6.1 hard-override Forest (палитра/шрифты/иконки/aesthetic — Forest, не UPM-предложения);
- R11.3 запрет инверсии (UPM-палитра НЕ заменяет Brandbook).
- Решение остаётся за FD (R10.2 «UPM read-only для решений»).
- Не параллельно с FD — последовательно.
- Не закрывает задачу (R7 не упоминает UPM).
14.4. R14.4 — подключение 21st Magic MCP (в фазе 5)
- Триггер активации: FD на фазе 2 принял решение «нужен кастомный компонент», для которого нет ни Vuetify-эквивалента, ни существующего компонента в
resources/js/components/. - Pre-check R0.6 пункты 9–10 ОБЯЗАТЕЛЕН до вызова
mcp__magic__*tool:- Брендовый компонент App*? → hard-стоп, R12 архитектурное (3 варианта по §4.5).
- Vuetify-эквивалент существует? → hard-стоп, использовать Vuetify.
- Существующий компонент в
resources/js/components/? → hard-стоп, использовать его. - Если на все три «нет» → переходим к генерации.
- Шаги генерации:
- Вызов
mcp__magic__21st_magic_component_builder(или_inspiration/_refiner) с описанием паттерна; - Сгенерированный черновик (по умолчанию React + Tailwind + shadcn) → через R6.0 фильтр (JSX → Vue SFC template, Tailwind → utility-CSS / Vuetify, shadcn → Vuetify-эквивалент, React imports/hooks → Vue Composition API);
- → через R6.1 hard-override (палитра/шрифты/иконки → Forest, Lucide);
- → FD адаптирует под фазу 5 (применяет принципы из фазы 2 к стек-совместимому скелету);
- → возврат в фазу 5 stack-flow для финальной сборки.
- Вызов
- Сгенерированный черновик НЕ коммитится в неизменном виде — только после полного pipeline'а.
- Не закрывает задачу (R7 не упоминает 21st).
- Pa11y обязателен на deployable артефакт (R7).
14.5. Запрет дублирования
Одна задача = один генератор. UPM и 21st не запускаются на одной фазе:
- если UPM выдал материал и FD адаптировал — 21st не вызывается;
- если 21st выдал черновик — UPM на этом этапе не нужен.
Если кажется, что нужны оба — это сигнал, что задача декомпозируется (например, на два разных компонента), и каждая под-задача проходит pipeline отдельно.
14.6. Live-override
/ui-ux-pro-max— прямой вызов UPM (R0.4.B, на одно действие). R6.0 фильтр и R6.1 override остаются обязательными.- «вызови magic» / «через 21st» / «дай шаблон через magic» — прямой вызов 21st (R0.4.B). R6.0 + R6.1 + R0.6 пункты 9–10 pre-check остаются обязательными.
В обоих случаях live-override снимает только требование stack-gate первенства (R0.2), но не отменяет фильтрацию и hard-override Forest.
14.7. Hard-link на §13 Pravila
Tier: transitive hard-rule (аналогично R10.4). Не explicit hard-rule как Pravila §12, но эквивалент по последствиям через цепочку R14 → R10.4 → §13.9 → §13.10 → §13. Pravila §9 «Отступления» к этому правилу не применяется (наследуется от §13 hard-link статуса; см. Pravila §13.6).
Нарушение R14 (использование UPM или 21st вне pipeline'а — без R6.0 фильтра, без R6.1 override, без pre-check R0.6, без FD-адаптации) = нарушение §13 Pravila через цепочку R10.4 → §13.9 → §13.10 → §13. Фиксируется в feedback memory аналогично §12.7 / §13.9.
Финальная формула
Любая задача → Правило 0 (gate, stack-головной) → Правило 1 (классификация по типу) → Правило 9 (решение, ≤2 итерации) → Правило 13 (decision matrix по уверенности) → Правило 2 (фаза UI-фичи) → исполнение по Правилам 3, 4, 6 → если нужен внешний UI-генератор: Правило 14 pipeline (UPM на фазах 1/2, 21st на фазе 5) → завершение по Правилу 7 → ревью по Правилу 5. Источники истины — Правило 11 (UI/UX). Паттерны решений — Правило 12. Координация с не-stack плагинами — Правило 10. Тай-брейкеры — Правило 8.
Свойства свода
- Полнота: каждая задача попадает в одну ветку Правила 1, каждая фаза имеет одного владельца (Правило 2), каждый артефакт ревью — один аспект (Правило 5), каждый тип закрытия — один gate (Правило 7), каждое дизайн-решение — один паттерн (Правило 12), каждая комбинация Auto+§12+R0.6 — одна строка matrix'а (Правило 13), каждый внешний UI-генератор имеет одно место в pipeline (Правило 14).
- Головенство stack'а (v1.2 принцип-аксиома, расширена в v1.4): stack — головной при решении любой задачи. Внешние плагины (включая UPM и 21st Magic MCP) — инструменты, инвокируемые внутри stack-flow (Правило 10) через pipeline R14. Иерархия источников UI — закон, не гайдлайн (Правило 11). Runtime-зависимости (motion-библиотеки и т.п.) — вне регулирования PSR_v1 с v2.0 (см. CLAUDE.md §2 «Animation default stack» — рекомендация, не hard-rule).
- Непротиворечивость: все найденные конфликты закрыты:
- v1.0 (8 первичных):
- «Активны» → «подключены к gate» (0.1).
- Закрытие визуальной задачи — Frontend Design (7).
- Возврат к фазе 2 — лёгкий/тяжёлый (4).
- Ревью по аспекту, не по файлу (5).
- Пост-процессинг внутри Frontend Design (6).
- Live-команды поддерживают частичную отмену (0.4.B).
- Auto mode совместим через трёхуровневую логику уверенности (0.6).
- Лимит 2 итерации (9).
- v1.1 (5 трений A–E): hard-override (6.1), дезамбигуация (R1), Pa11y gate на deployable (R7), runtime-заметка (intro), hard-стоп список (R0.6).
- v1.2 (4 проектных перекрытия): ui-ux-pro-max + другие плагины как tools (R10), иерархия источников истины UI (R11), три паттерна дизайн-решений (R12), decision matrix Auto/§12/R0.6 (R13).
- v1.3 (6 трений второго порядка F–K): R12 override через
brainstorming(F); R12 тактическое разделено на «с альтернативами»/«без» для user-стиля «а/б» (G); R13 новая фича вне ТЗ — hard-стоп вместо предположения (H); R11.4 fallback при недоступности уровней источников (I); R10.4 смягчение + hard-link в Pravila §13.9 (J); R0.1 уточнение scope «головенства» через таблицу priority chain (K). - v1.4 (формализация UPM + 21st Magic MCP + motion-системы): R6 расширен на FD/UPM/21st (универсальная таблица 6.0); R6.1 hard-override Forest расширен на все три плагина; R10.1 +1 строка для 21st + ослабление UPM до v1.4 двух-триггера (FD молчит ИЛИ R12 третий вариант); R11.5 активация UPM в R12; R11.6 параллельная иерархия motion-источников (7 уровней); R0.6 +3 hard-стопа (брендовый App* через 21st, Vuetify-эквивалент через 21st, motion-v без R15.2); R13 +9 строк matrix'а; R14 новое правило (pipeline UPM + 21st с R14.3/R14.4 + R14.7 hard-link на §13 Pravila); R15 новое правило (R15.1 framer-motion hard-запрет, R15.2 motion-v 4 условия (а)+(б)+(в)+(г), R15.3 default стойка, R15.4 формальная проверка триггера, R15.5 hard-запрет дублирования, R15.6 live-override запрет, R15.7 расширение на gsap/anime/lottie); R8 +7 тай-брейкеров; финальная формула расширена.
- v2.0 (снятие R15): R15 motion-системы (R15.1–R15.7) удалены полностью; R0.6 п.11 удалён; R8 motion тай-брейкеры удалены; R11.6 motion иерархия удалена; R13 motion-сценарии удалены. Default motion stack перенесён в CLAUDE.md §2 как guidance, не hard-rule. framer-motion — technical block (peerDep react+react-dom), не regulatory rule. Conscious rollback v1.4 audited construction по решению заказчика 12.05.2026; через
/superpowers:brainstorming→ 3 варианта → выбор B (полная отмена R15) →superpowers:writing-plans→/claude-md-management:claude-md-improver.
- v1.0 (8 первичных):
- Действенность: решение — за 3 вопроса (Правило 9) + matrix Правила 13; если не сработало — явный fallback на пользователя (0.6).
- Симметрия: оба плагина stack'а имеют равные права на закрытие задач в своём домене (7), на ревью в своём аспекте (5), на отмену через live-команду (0.4.B). Асимметрия введена только между stack'ом и не-stack плагинами: stack головной, остальные — инструменты (R10/R14). Внутри пула «инструменты» — UPM и 21st имеют разные роли (UPM = библиотека принципов; 21st = генератор кода) и разные точки активации в pipeline (R14.3 фазы 1/2 vs R14.4 фаза 5).
История версий
-
v3.5 (2026-05-17) — фактическая правка R10.1 Блок 1 (security-guidance): хук блокирующий (
sys.exit(2), одноразовый speed-bump per «файл+правило» за сессию), не warn-only. Содержательных изменений R0–R14: 0. Связано: Tooling v2.5, Pravila v1.19, CLAUDE.md v2.5. Планdocs/superpowers/plans/2026-05-17-d3-audit-risk-tooling-integration.md. -
v3.4 (2026-05-17) — D3 audit-security: R10.1 Блок 1 (
enabledPlugins) +2 строки (Trail of Bits Skills #39, security-guidance #40) — новая 6-я off-phase подкатегория audit-security. Связано: Tooling v2.4, Pravila v1.18, CLAUDE.md v2.4. Планdocs/superpowers/plans/2026-05-17-d3-audit-risk-tooling-integration.md. -
v3.3 (2026-05-17) — A6 architecture-tooling: R10.1 Блок 1 (
enabledPlugins) +2 строки — adr-kit (rvdbreemen/adr-kit, 8 skills + агентadr-generator;adr-judgeврезан в lefthook pre-commit job 9 декларативно, без--llm→ 0 вызовов Claude API) + architecture-patterns (secondsky/claude-skills, knowledge-only справочник паттернов). Блок 1 +note про mermaid-skill (вендоренный сторонний скил.claude/skills/mermaid/, генератор C4-диаграмм — пассивная утилита вне типологии 3 блоков). Новая категория architecture-tooling (Tooling #36-38, раздел A6 карты «Архитектура систем») — не UI → вне R6.0/R6.1/R14 pipeline, как debug-runtime и infrastructure. Содержательных изменений R0–R9/R11–R14: 0. Связано: Tooling v2.2→v2.3, Pravila v1.16→v1.17, CLAUDE.md v2.2→v2.3. Через manual Edit. Планdocs/superpowers/plans/2026-05-17-a6-architecture-tooling-integration.md. -
v3.2 (2026-05-16) — реколлаж R0: sub-policy → top-of-stack gate (ruflo не entry-point по факту рантайма: 0 задач, рой idle). Изменено: R0 title → «Stack-gate: paired-stack delegation pattern»; R0.1 таблица — удалена строка уровня −1 (ruflo entry-point), строка уровня 3 (PSR_v1) → «— (PSR_v1 — сам stack-документ, вопрос неприменим)»; R0.1 преамбула — убраны формулировки sub-policy-под-ruflo, stack снова головной над уровнями 4–6; R0.2 абзац перед диаграммой — возвращён к stack-gate формулировке; шапка cross-refs: CLAUDE.md v2.0+ → v2.2+, Pravila v1.15+ → v1.16+, Tooling v2.0+ → v2.2+. ASCII-диаграмма (STACK GATE) и R0.5 не тронуты. R0.6 п.11 удалён (ruflo autonomous-routing hard-stop — висячая ссылка на ruflo как маршрутизатор задач; противоречит реколлажу: ruflo не entry-point, рой idle, 0 задач). Связано: Pravila v1.16 / CLAUDE.md v2.2 / Tooling v2.2; spec
docs/superpowers/specs/2026-05-16-ruflo-hierarchy-factual-recollage-design.md. -
v3.0 (2026-05-15) — major: R0 stack-gate → sub-policy paired-stack delegation pattern под ruflo Queen-led routing. R0.1 +ruflo level −1; R0.2 entry-point shifted ruflo→stack-gate-as-sub-policy; R0.6 +п.11 swarm-pause-without-review (sequential continuation после v2.0 R15 removal, не литерал п.12 как в спеке). Связано: Pravila v1.14 (commit
9c3057b), CLAUDE.md v2.0 (commit5df88a1), Tooling v2.0 (commitf65a8d7), ruflo v3.7.0-alpha.38 integration via spec/plan 2026-05-15 (commits e55572e/18c4463/9bd1bae). -
v2.1 от 13.05.2026 (day +1) — формализация retrospective двух off-phase debug-runtime MCP серверов установленных на feat/claude-automation (commits
6f7e7d7sentry,bd4ec48redis), merged в main через PR #3 (cc5f63b).Изменено:
- R10.1 Блок 3 (MCP-серверы) +2 строки:
sentry(@sentry/mcp-server@0.33.0+, official, Tooling #34, pending Б-1 instance) +redis(@modelcontextprotocol/server-redis@2025.4.25, deprecated Anthropic source, Tooling #35, Memurai PONG verified Task 4). Категория debug-runtime introduced — отличная от UI-пула (UPM/21st) и infrastructure (claude-md-management). Не trigger'ит R6.0/R6.1 фильтры стека (READ-ONLY, не модифицируют code/UI/CLAUDE.md), не входит в R14 pipeline UI-генераторов. - Шапка date: 12.05.2026 → 13.05.2026 (day +1); version: v2.0 → v2.1; L4 narrative +упоминание debug-runtime MCP в v2.1.
НЕ затронуто: R0–R14 целиком (стек-фильтр R6.0/R6.1, paired-stack R10.1 Блоки 1+2, R10.4 transitive hard-rule, иерархия источников R11.1–R11.5, decision matrix R12/R13, UI-pipeline R14 — все в силе). Pravila §12 hard rule Superpowers инвокации — без изменений.
Rationale: sentry + redis MCP уже active в
.mcp.jsonпосле PR #3 merge. Без формализации в R10.1 — повтор precedent v1.83 audit gap («5 инструментов активно без формализации»). Категория debug-runtime — distinguished от UI-пула чтобы не trigger'ить R6/R14 pipeline для не-UI MCP. READ-ONLY constraint enforced (нет mutations).Связанные обновления: Tooling v1.16 → v1.17 (§0 +#34/#35, §4.8 + §4.9 новые subsections), 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 subsection), Memory MEMORY.md + reference_archive.md version refs sync. Через ручные Edit (PSR_v1/Tooling/Pravila) +
/claude-md-management:claude-md-improver(CLAUDE.md per §5 п.10). - R10.1 Блок 3 (MCP-серверы) +2 строки:
-
v2.0 от 12.05.2026 — major bump: removal of R15 motion-runtime restrictions per user decision. Conscious rollback of v1.4 audited construction (10.05.2026, R15 двухуровневая motion + R0.6 п.11 + R8 motion-tie-breakers + R11.6 motion-иерархия + R13 motion-сценарии).
Удалено:
- Правило 15 целиком (R15.1 framer-motion hard-запрет / R15.2 motion-v 4 условия / R15.3 default стойка / R15.4 формальная проверка / R15.5 hard-запрет дублирования / R15.6 live-override / R15.7 расширение на gsap/anime/lottie/popmotion).
- R0.6 пункт 11 (animation runtime hard-стоп).
- R8 три тай-брейкера motion (motion-v, framer-motion, motion-слой R11.6).
- R11.6 параллельная иерархия 7 motion-источников.
- R13 пять строк motion-сценариев decision matrix.
- Финальная формула — фраза «если нужна анимация: Правило 15...» + «+ R11.6 (motion)».
- Свойства свода — фраза «каждая motion-задача — один слой R11.6 (Правило 15)» + «Runtime-зависимости (motion) подчиняются R15».
Изменено:
- Шапка count: «16 правил R0–R15» → «15 правил R0–R14».
- Cross-refs шапки: CLAUDE.md v1.86+ → v1.88+; Pravila v1.10+ → v1.11+; Tooling v1.15+ → v1.16+.
- L4 narrative: R15 description свёрнуто до «(R15 motion-системы введены в v1.4 и удалены в v2.0)»; добавлена v2.0 клауза.
- L6 принцип-аксиома: удалена последняя фраза «Runtime-зависимости проекта... подчиняются R15».
- L10 cross-ref CLAUDE.md §5 п.12: «на R15» → «резерв (R15 motion-runtime снят в v2.0)».
НЕ затронуто: R0–R14 целиком (стек-фильтр R6.0/R6.1, paired-stack R10, иерархия источников R11.1–R11.5, decision matrix R12/R13, UI-pipeline R14 — все в силе). Pravila §12 hard rule Superpowers инвокации — без изменений. CLAUDE.md §5 п.10 правки через claude-md-management — без изменений.
Rationale: заказчик 12.05.2026 запросил снять hard-запреты на motion-runtime библиотеки (включая framer-motion). Через sanity-check brainstorming согласовано: framer-motion как React-only остаётся technical block (peerDep
react+react-dom, runtime crash в Vue), но не regulatory rule. Остальные motion-runtime (motion-v, gsap, anime.js, lottie-web, popmotion, @motionone/dom) — безусловно разрешены. Default motion stack (Vue native + Vuetify + CSS + View Transitions) — переводится в CLAUDE.md §2 как guidance, не hard-rule.Связанные обновления: CLAUDE.md v1.87 → v1.88, Pravila v1.10 → v1.11, Tooling v1.15 → v1.16, CHANGELOG_claude_md.md + MEMORY sync. Через
/claude-md-management:claude-md-improver(для CLAUDE.md) + ручные Edit (для PSR_v1, Tooling, Pravila). -
v1.7 от 10.05.2026 (поздний вечер) — закрытие 5 находок третьего аудита правил использования плагинов и скилов («Все 13 находок (P0+P1+P2)»). Сам PSR_v1 — sync-уровень + одна description-правка:
- Шапка cross-refs приведена к актуальным версиям связанных документов после bump'ов CLAUDE.md v1.85 → v1.86 и Tooling v1.14 → v1.15: «CLAUDE.md v1.84+» → «v1.86+», «Pravila v1.9+» → «v1.10+», «Tooling v1.14+» → «v1.15+». «+»-нотация сохранена (forward-compat). Закрывает audit P1-01/02 (PSR_v1).
- Описка в шапке v1.6 changelog'а исправлена: «slot уровня 2.5» → «slot уровня 2b». Фактическое R0.1 (line 33 этого файла) всегда содержало «уровень 2b»; шапка v1.6 описывала ту же правку, но с опечаткой «2.5», создавая иллюзию ещё одного уровня. Закрывает третий-audit P2-01.
Связанные обновления — CLAUDE.md v1.85 → v1.86 (§3 header «28»→«33»; §3.3 footer «из 30 номеров» → «из 33 номеров (29 phase-slot + 3 off-phase + 1 historic)»; §3.4 «итого 28»→«29»; §6 «19 инструментов из 29»→«24»; §3.3 #33 «вне Pravila §13»→«вне UI-пула §13»; §5 п.5 «v1.5+»→«v1.7+»), Tooling Прил. Н v1.14 → v1.15 (cross-refs sync; §11/§12 «28 инструментов»→«33 формализованные позиции»). Pravila v1.10 — без правок (cross-refs от других документов на Pravila уже подтянуты к актуальной v1.10). Через
/claude-md-management:claude-md-improver. -
v1.6 от 10.05.2026 (вечер) — закрытие 3 структурных правок второго аудита правил использования плагинов и скилов («Все 15 находок (P0+P1+P2)»):
- R0.4.A свёрнут до cross-ref на Pravila §12.3 SoT. Раньше параллелил список exclusions расширенной таблицей (6 строк vs 6 пунктов Pravila §12.3) с разными формулировками — риск дрейфа. v1.5 объявил Pravila §12.3 SoT, но R0.4.A продолжал держать собственную таблицу. v1.6 — таблица удалена, оставлен cross-ref + отдельный блок «Stack-расширения» (CLAUDE.md правки через claude-md-improver + tooling-команды вне debug/TDD/review). Закрывает audit P2-02.
- R0.6 hard-стопы пронумерованы 1–11. Раньше — буллет-list, но в R8/R13/R14/R15 ссылались как «R0.6 пункт 9», «пункт 10», «пункт 11» — требует ручного счёта, при добавлении пункта все cross-refs молча ломаются. v1.6 — explicit numbering 1–11 + примечание про необходимость пересмотра ссылок при изменении списка. Закрывает audit P2-04.
- R0.1 +Tooling Прил. Н slot уровня 2b (между CLAUDE.md уровень 2a и PSR_v1 уровень 3). Раньше R0.1 говорил «stack ниже Файлы CLAUDE.md / Pravila / Tooling», но Tooling не было ни в R0.1 таблице, ни в CLAUDE.md §1, ни в Tooling §7 priority chain — формальная дыра при конфликте «Tooling vs PSR_v1». v1.6 — explicit slot 2b «Tooling Прил. Н — alongside CLAUDE.md, оба operational maps; при прямом конфликте — приоритет CLAUDE.md». Закрывает audit P2-01. (Описание правки в шапке v1.6 содержало описку «slot уровня 2.5» вместо «уровня 2b»; фактически R0.1 таблица всегда содержала «2b». Описка исправлена при описании v1.7.)
Связанные обновления — Pravila v1.9 → v1.10 (§0 +note про §11 override-приоритет; §11.5 «10 правил» → «v1.6, 16»; §13.2/§13.9/§13.10 v1.4→v1.6), CLAUDE.md v1.84 → v1.85 (§1 +Tooling slot 2b; §6 арифметика «33» исправлена; §3.3 #31/#32 + §5 п.12 stale v1.4→v1.6 + v1.12→v1.14), Tooling Прил. Н v1.13 → v1.14 (§7 +Tooling explicit slot; §10.3 шаг 2 «3 skills»→«14»; §13 +v1.13 +v1.14 entries). Через
/claude-md-management:claude-md-improver. -
v1.5 от 10.05.2026 — закрытие 5 структурных правок аудита нормативной документации («исправь все ошибки ... сохраняй максимальную эффективность и всеобъемлющее использование всех плагинов и скилов»):
- R10.1 разбит на 3 блока по типу источника: Блок 1 =
enabledPluginsчерез marketplace (UPM + claude-md-management); Блок 2 = built-in skills Claude Code (review/security-review/init/simplify/update-config/keybindings-help/fewer-permission-prompts/loop/schedule/claude-api); Блок 3 = MCP-серверы (21st Magic, Boost, playwright, github). Закрывает audit находку «R10.1 смешивает плагины и встроенные skills — без явного разделения путает». - R0.4.A — Single Source of Truth cross-ref: добавлена шапка про SoT в Pravila §12.3 (v1.9+); список ниже отражает Pravila §12.3 расширенно для stack-flow (+документационные правки уровня §4 + tooling-команды). Закрывает audit находку «3 места для exclusions §12 — дрейф вероятен».
- R10.4 + R14.7 — tier-метки: обозначен transitive hard-rule статус через цепочку Pravila §13.9/§13.10 → §13. Pravila §9 «Отступления» к этим правилам не применяется (наследуется от §13 hard-link статуса). Закрывает audit находку «скрытая иерархия hard-rule §12 vs §13.9/§13.10».
- R8 +тай-брейкер FD↔21st: «21st вызывается внутри фазы 5 R2 как подзадача FD, не параллельно. FD — ведущий (решатель), 21st — генератор черновика». Закрывает audit находку «не определена пара FD↔21st».
- R0.1 — scope-метка таблицы: «головенство stack'а внутри общей 7-уровневой файловой иерархии CLAUDE.md §1; не дублирует Pravila §0 (внутрипараграфный) и не дублирует CLAUDE.md §1 (общая 7-уровневая); это третья ось». Закрывает audit находку «4 представления приоритетной цепочки путают читателя».
Связанные обновления — Pravila v1.8 → v1.9 (§12.3 SoT, §13.2 +claude-md-management как off-pool, §13.6 hard-rule tier-структура), Tooling Прил. Н v1.12 → v1.13 (§7 +PSR_v1, §4.7 +#33 claude-md-management, §6 +5 конфликтов v1.4, §4.6 settings → .claude.json), CLAUDE.md v1.83 → v1.84 (§1 scope, §3.3 +#33, §5 п.5 свёрнут, §5 п.11 cross-ref на §12.3, §6 счётчик 33). Через
/superpowers:writing-plans+/superpowers:executing-plans+/claude-md-management:claude-md-improver+ ручные Edit (Pravila §12.3 exclusion для документационных правок). Финал —/superpowers:verification-before-completion. - R10.1 разбит на 3 блока по типу источника: Блок 1 =
-
v1.4 от 10.05.2026 — формализация двух новых внешних UI-инструментов (UI UX Pro Max + 21st.dev Magic MCP, оба фактически были включены в
~/.claude/settings.jsonи~/.claude.jsonбез правил) + двухуровневое решение по runtime motion-библиотекам (framer-motion / motion-v / gsap / anime.js / lottie-web):- R6 → R6.0 «Универсальная таблица фильтра» (применяется к FD, UPM, 21st одинаково; per-plugin specifics вынесены отдельным абзацем).
- R6.1 расширен — hard-override Forest применяется к выводу всех трёх плагинов (а не только FD). Таблица из 9 артефактов брендового фундамента остаётся той же; в колонку «Что говорят внешние плагины» добавлены реакции UPM (161 палитра/57 шрифтов/50+ стилей) и 21st (trendy-default).
- R10.1 +1 строка для 21st (роль «генератор стартовых шаблонов»); ослабление UPM (раньше «только когда FD молчит» → теперь «FD молчит ИЛИ R12 третий вариант»).
- R11.5 (новое) — активация UPM в R12 архитектурном решении на фазе 1 R2 (источник «третьего варианта» по §4.5). Снимает рестриктивный «only when silent».
- R11.6 (новое) — параллельная под-иерархия 7 motion-источников: Brandbook → ТЗ → Vue native → Vuetify → CSS → View Transitions API → motion-v (последняя только по R15.2). framer-motion вне иерархии (R15.1).
- R0.6 +3 hard-стопа: (9) 21st для брендового App*-компонента; (10) 21st для компонента с Vuetify-эквивалентом; (11) motion-v / gsap / anime.js / lottie-web без R15.2.
- R13 +9 строк matrix'а: 4 строки UI-фич с/без 21st-pipeline + 1 строка R12 третий вариант UPM + 5 строк motion-сценариев (простая/средняя/cross-route/произвольный motion-runtime/gesture).
- R14 (новое правило) — Pipeline внешних UI-генераторов: R14.1 триггер активации, R14.2 шаги (схема), R14.3 UPM в фазах 1/2, R14.4 21st в фазе 5 с pre-check R0.6 + R6.0 + R6.1 + FD адаптация, R14.5 запрет дублирования, R14.6 live-override (с обязательным сохранением фильтров), R14.7 hard-link на §13 Pravila через R10.4 → §13.9.
- R15 (новое правило) — Motion-системы: R15.1 framer-motion hard-запрет (React-only архитектурно), R15.2 motion-v 4 условия (а) письменный кейс из ТЗ (б) категория оправданности — gesture/shared-layout/spring (в) Brandbook approval (г) полный R12 flow + brainstorming + 3 варианта, R15.3 default стойка (Vue native + Vuetify + CSS + View Transitions), R15.4 формальная проверка «дефолт не покрывает» одной строкой, R15.5 hard-запрет дублирования (motion-v не вытесняет Vuetify transitions), R15.6 live-override запрещён без R15.2, R15.7 аналогичные правила для gsap/anime.js/lottie-web/react-spring.
- R8 +7 тай-брейкеров: UPM параллельно с FD, 21st параллельно с UPM, UPM-палитра «лучше» Forest, 21st JSX import напрямую, motion-v без письменного кейса, framer-motion «у других работает», какой motion-слой R11.6 для задачи.
- Финальная формула расширена ссылками на R14 (внешние UI-генераторы) и R15 (motion).
Заказчик подтвердил v1.4 командой «двух уровневый» (выбор между двухуровневой R15-конструкцией и полным запретом всех motion-runtime библиотек) после полного цикла brainstorming → 3 варианта → итераций → финального предложения с alternatives. Через
/claude-md-management:claude-md-improver. -
v1.3 от 09.05.2026 — закрытие 6 трений второго порядка (F–K), найденных при повторном глубинном аудите v1.2:
- F (R12 архитектурное vs Pravila §11.1): добавлено условие override через
brainstormingskill или просьбу «свободно/без вариантов» — снимает требование §4.5 на 3 варианта A/B/C. R12.2 уточнён (исключение для архитектурного override). - G (R12.2 тактическое vs user-стиль «а/б»): тактическое разделено на «с альтернативами» (≥2 разных компонента — A/B/C формат разрешён для совместимости с короткими ответами user'а) и «без альтернатив» (одна BOLD от FD).
- H (R13 новая фича vs Pravila §7): R13 строка про новую UI-фичу разделена. «В рамках MVP-skopa без детализации» → средняя + предположение. «Вне ТЗ И не в Открытые_вопросы» → низкая + hard-стоп (требуется согласование как новый Биз-/CTO-/Диз- вопрос).
- I (R11 уровень 3 vs runtime skill list): добавлен R11.4 «Fallback при технической недоступности уровня» — таблица 6 уровней с маршрутами при недоступности. Уровни 1–2 (Brandbook, ТЗ) недоступны → hard-стоп; уровни 3–6 — мягкий fallback с пометкой пользователю. В текущей сессии после установки FD (где skill list ещё без frontend-design) — уровень 3 «молчит», работаем по 1, 2, 4, 5, 6.
- J (R10.4 декларация о уровне нарушения): формулировка смягчена («по последствиям сопоставимо с» вместо «уровня §12 Pravila»). Hard-link на нарушение R10 зафиксирован в Pravila §13.9.
- K (R0.1 «не уступает первенство» vs §1 priority chain): добавлена таблица «scope головенства» — Stack головной над уровнями 4–6 (settings.json, memory, прочие плагины), не над 0–2 (Pravila §12, Pravila, CLAUDE.md). Stack их исполняет, не перебивает.
Pravila v1.5 → v1.6 (добавлен §13.9 hard-link). CLAUDE.md v1.80 → v1.81 (синхр. ссылок). Заказчик подтвердил v1.3 командой «все» в ответ на повторный аудит. Через
/claude-md-management:claude-md-improver(четвёртая инвокация в той же сессии). - F (R12 архитектурное vs Pravila §11.1): добавлено условие override через
-
v1.2 от 09.05.2026 — закрытие 9 проектных перекрытий, найденных при глубинном аудите stack'а внутри проекта Лидерра:
- Принцип-аксиома v1.2: stack — головной. Внесён в шапку и в Правило 0.1.
- Правило 10 (новое) — внешние плагины как инструменты, не как решатели. Реестр 11 не-stack плагинов с явными ролями (ui-ux-pro-max = резерв-библиотека, claude-md-management = инструмент CLAUDE.md edits, review/security-review/init/simplify = только по явному
/имя, и т.д.). Закрывает: дублирование с ui-ux-pro-max, неоднозначность с claude-md-management, перекрытия с review/security-review/init/simplify, стек-знания Boost. - Правило 11 (новое) — иерархия источников истины UI/UX из 6 уровней: Brandbook → ТЗ+schema → FD → Boost guidelines → ui-ux-pro-max → Vue/Vuetify docs. Snimaет тройную избыточность UI-домена. При противоречии побеждает верхний уровень — это закон.
- Правило 12 (новое) — три паттерна дизайн-решений по типу: архитектурное (3 варианта §4.5), тактическое (brainstorming или 1 BOLD), стилевое (одна готовая идея FD), тривиальное (прямое решение). Snimaет смешение Pravila §4.5 / Superpowers
brainstorming/ FD aesthetic. - Правило 13 (новое) — decision matrix Auto mode + §12 + R0.6: 14 типов задач × confidence × действие. Закрывает операционную неоднозначность. Учитывает user-стиль «терсе» (одна строка ремарки в средней уверенности).
- Финальная формула обновлена: добавлены ссылки на R10–R13.
Заказчик подтвердил v1.2 командой «Создай правила которые уберут все неопределённости и конфликты, но стек superpowers and Frontend должен доставать первым и главы при решении задач!». Через
/claude-md-management:claude-md-improver(третья инвокация в той же сессии). -
v1.1 от 09.05.2026 — 5 патчей по реальным трениям A–E, найденным после установки плагина:
- A: Правило 6 → +6.1 «Hard-override» — таблица из 9 артефактов, где SKILL.md плагина противоречит брендбуку Forest (Inter, JetBrains Mono, Teal, Ivory, теало-нуар, restrained-направление, Lucide, OKLCH-статусы, Forest brand в целом). Категоричные «NEVER» плагина по этим пунктам игнорируются.
- B: Правило 1 → дезамбигуация (таблица слов запроса → дефолт классификации; «компонент» = UI-фича по умолчанию). Правило 8 → +тай-брейкер «§12.2 + визуальная одновременно» = §12.2 first, R2 phase-flow.
- C: Правило 7 → разделение «non-deployable / deployable» для чисто визуального; Pa11y обязателен на deployable. Правило 8 → +строки про Pa11y vs Frontend Design.
- D: вступительная заметка о техническом ограничении Claude Code (skill list = constant per conversation; новый чат для активации).
- E: Правило 0.6 → hard-стоп список из 8 триггеров, не отменяемый Auto mode (новый brand-компонент, изменение токенов, новое aesthetic направление, изменение UX-флоу из ТЗ, cross-cutting refactor ≥3 компонентов, новая технология в стек, изменение палитры/шрифтов, изменение OKLCH-статусов).
Заказчик подтвердил все 5 патчей одной командой «все». Через
/claude-md-management:claude-md-improver(повторная инвокация в той же сессии). -
v1.0 от 09.05.2026 — первая версия. Создана при снятии запрета CLAUDE.md §5 п.5 на Frontend Design plugin (CLAUDE.md v1.77 → v1.78). Свод выработан и проверен на конфликты в одной сессии заказчика. 10 правил (0–9), 8 встроенных патчей.