397777089e
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1052 lines
189 KiB
Markdown
1052 lines
189 KiB
Markdown
# Plugin Stack Rules — Superpowers + Frontend Design (v3.24)
|
||
|
||
**Дата:** 14.06.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). **17 правил R0–R16** (R15 off-phase routing введён в v3.14 на освободившийся после v2.0 R15-motion слот; R16 brain evidence loop введён в v3.16).
|
||
|
||
**v3.24** — research-tooling (Perplexity Pack): R10.1 Блок 3 +3 MCP-сервера **perplexity** #87 / **exa** #88 / **firecrawl** #89 (внешняя веб-разведка, READ-ONLY, платные API — ключи только в env, gate read_only `bfc1f575`). Новая 20-я off-phase подкатегория **research-tooling**; R15.6 +research-tooling. ADR-019 (RT1–RT9). User-level/external MCP, не UI → вне R6.0/R6.1/R14. Содержательных изменений R0–R16: 0. Связано: Tooling v2.25 (§4.60–§4.62 + §0 счётчик 84→87), Pravila v1.44 (§13.2 +абзац), CLAUDE.md v2.46 (§3.3 +#87-89; §0 cross-refs); план `docs/superpowers/plans/2026-06-14-perplexity-pack-plan3-router-registry.md`.
|
||
|
||
**v3.23** — knowledge-graph-tooling: R10.1 Блок 1 note +**graphifyy** #86 (user-level скил `~/.claude/skills/graphify/SKILL.md`, CLI `graphifyy`, строит knowledge graph портала; активация `/graphify <command>`; артефакты `graphify-out*/` gitignored). Новая 19-я off-phase подкатегория **knowledge-graph-tooling** (раздел A12/graph карты). User-level скил, не project-level → вне R6.0/R6.1/R14. R15.6 +knowledge-graph-tooling. ADR-017 (KG1–KG5). Содержательных изменений R0–R16: 0. Связано: Tooling v2.24 (§4.59 + §0 счётчик 83→84), Pravila v1.43 (§13.2 +абзац), CLAUDE.md v2.31 (§3.3 +#86; §0 cross-refs).
|
||
|
||
**v3.22** — C1 marketing-tooling: R10.1 Блок 1 +2 строки (**marketing** #74, Anthropic `knowledge-work-plugins/marketing`; **brand-voice** #76, Anthropic partner-built/Tribe AI) + Блок 1 note (v3.22 — **marketingskills** #75 вендорен MIT, материал/резерв-библиотека; **marketing-ru** #77 self-authored project-скил, eval 20/20) + Блок 3 +6 строк (**Метрика MCP** #78 `atomkraft/yandex-metrika-mcp` READ-ONLY; **Директ+Wordstat MCP** #79 `SvechaPVL/yandex-mcp` Wordstat-only, Direct-mutations disabled IS9; **Telegram MCP** #80 `chigwell/telegram-mcp` Apache-2.0; **Postiz MCP** #81 self-host AGPL-3.0 internal; **DataForSEO MCP** #82 DEFERRED — платный post-Б-1; **Unisender Go MCP** #83 DEFERRED — своя обёртка). Новая 18-я off-phase подкатегория **marketing-tooling** (раздел C1 карты). Не UI → вне R6.0/R6.1/R14. R15.6 +marketing-tooling. Провенанс-вет IS9 выполнен (`docs/security/marketing-vet.md`, 5 инструментов PASS/PASS-with-conditions). Содержательных изменений R0–R14, R16: 0. Связано: Tooling v2.23+, Pravila v1.42+, CLAUDE.md v2.27+; план `docs/superpowers/plans/2026-05-22-c1-marketing-tooling.md`; spec `docs/superpowers/specs/2026-05-22-c1-marketing-tooling-design.md`.
|
||
|
||
**v3.21** — A8 infosec-tooling install-sync: ZAP #68 + Ward #70 установлены портативно 21.05.2026 (без choco) → в R10.1 Блок 1 note (Ward) + Блок 3 (ZAP MCP-row) снят статус PENDING INSTALL. Содержательных изменений R0–R16: 0; счётчики/состав без изменений. Связано: Tooling v2.21, Pravila v1.38, CLAUDE.md v2.25; setup-доки `docs/security/{zap,ward}-setup.md`; план `docs/superpowers/plans/2026-05-21-a8-infosec-tooling.md`.
|
||
|
||
**v3.20** — A8 infosec-tooling: R10.1 Блок 1 note +infosec-tooling (#69 Nuclei + #70 Ward — CLI-бинари; #71 pdn-152fz-audit / #72 threat-model / #73 security-go-live — self-authored project-скилы) + Блок 3 +OWASP ZAP MCP (#68, PENDING INSTALL — нет Java). Nuclei установлен+verified (CLI, не MCP); Ward заменил Enlightn (abandoned/L13), PENDING INSTALL — нет Go. Каждый внешний инструмент прошёл провенанс-вет IS9 ДО установки (риск ToxicSkills). Новая 17-я off-phase подкатегория infosec-tooling, раздел A8 карты. Не UI → вне R6.0/R6.1/R14. Содержательных изменений R0–R16: 0. Связано: Tooling v2.20, Pravila v1.37, CLAUDE.md v2.24, ADR-014 (IS1–IS9); план `docs/superpowers/plans/2026-05-21-a8-infosec-tooling.md`.
|
||
|
||
**v3.19** — A1 backend-tooling: R10.1 Блок 1 note +backend-tooling (#64 Rector + #65 PHP Insights — Composer dev-deps; #66 laravel-backend-patterns — self-authored project-скил; #67 NightOwl — DEFERRED, MCP при активации). Новая 16-я off-phase подкатегория backend-tooling, раздел A1 карты. R15.6 +backend-tooling в список категорий. Не UI → вне R6.0/R6.1/R14. Содержательных изменений R0–R16: 0. Связано: Tooling v2.19, Pravila v1.35, CLAUDE.md v2.22, ADR-013; план `docs/superpowers/plans/2026-05-20-a1-backend-tooling.md`.
|
||
|
||
**v3.18** — finance-tooling (C6+C7): R10.1 Блок 1 +finance plugin (#61, marketplace `finance@knowledge-work-plugins`, homed C7, cross-ref C6) + note (+billing-audit #62 / ru-tax-accounting #63 — self-authored project-скилы). Новая 15-я off-phase подкатегория finance-tooling, разделы C6/C7 карты. Не UI → вне R6.0/R6.1/R14. Содержательных изменений R0–R16: 0. Связано: Tooling v2.18, Pravila v1.34, CLAUDE.md v2.21, ADR-012; план `docs/superpowers/plans/2026-05-20-finance-tooling-c6-c7.md`.
|
||
|
||
**v3.17** — observer schema v2 sync (ADR-011 amend): R16.1 +предложение про `schema_version` / `decision_provenance` / `environment` / `task_size` / `prompt_signal` + расширенные события (`hook_fired` / `interrupt` / `retry` / `time_burn` / `parse_gap`) + `observer_error` маркер; R16.4 +cross-ref на factor-analysis spec и plan. R0–R15 без изменений. Routing-gate / C5 controller / `/brain-retro` analyzer — нормативно в Pravila §16.7/§16.8 + ADR-011 §5; PSR_v1 фиксирует evidence-сбор (R16), не enforcement. Связано: ADR-011, Pravila v1.32 (§16 amend), spec `docs/superpowers/specs/2026-05-19-observer-factor-analysis-design.md`, plan `docs/superpowers/plans/2026-05-19-observer-factor-analysis.md`.
|
||
|
||
**v3.16** — Brain evidence loop: новое R16 «Brain evidence loop» (R16.1 observer scope — Stop-хук пишет episodes-YYYY-MM.jsonl, 5 обязательных полей incl. `primary_rationale`; R16.2 plugin stack-conscious events — `routing_decision` / `skill_invoked` с `node_id` при использовании R6/R6.1/R15, факторная матрица 5 осей для `/brain-retro`; R16.3 не override — R0–R15 определяют выбор, R16 только фиксирует историю; R16.4 cross-refs ADR-011 / Pravila §16 / spec+plan+procedure). R0–R15 без изменений. Связано: ADR-011 `docs/adr/ADR-011-brain-governance.md`, Pravila §16, spec `docs/superpowers/specs/2026-05-19-brain-governance-design.md`, plan `docs/superpowers/plans/2026-05-19-brain-governance.md`.
|
||
|
||
**v3.15** — Компакция «мозга» (SYSTEM-аудит 18.05.2026, finding 3 — структурный дрейф счётчиков): R10.1 +note «счётчики и нумерация позиций тулчейна — канон [Tooling Прил. Н §0](Tooling_v8_3.md), anchor "КАНОН СЧЁТЧИКОВ"»; реестр R10.1 ссылается per-row на Tooling #NN, агрегатные числа не дублирует. Содержательных изменений R0–R15: 0. Связано: Tooling Прил.Н v2.16 (§0 +«КАНОН СЧЁТЧИКОВ»), CLAUDE.md v2.17 (§3.3 компакция), Pravila v1.30 (§13.2 пин, §14 dormant-метка); план `docs/superpowers/plans/2026-05-18-brain-compaction-findings-2-3-6-7.md`.
|
||
|
||
**v3.14** — Off-phase routing: **R15 новое правило** «Off-phase routing» — закрывает Rec5 SYSTEM-аудита 18.05.2026 «PSR_v1 R-аппарат UI-перекошен (R1-R9 / R11-R14 — UI; off-phase 30 узлов регулировались только R10.1 + меткой "вне R6/R14")». R15.1 — R6.0/R6.1/R14 не применяются к off-phase (codifies существующую практику); R15.2 — routing-таблица 30 узлов вынесена в `docs/routing-off-phase.md` (single home + 12 канонических связок Rec4); R15.3 — приоритет специфичности при коллизии узлов; R15.4 — Pravila §12/§14/§15 перевешивают R15; R15.5 — live-override (заказчик называет узел напрямую). UI-аппарат R0–R14 — без изменений. Финальная формула расширена. ruflo isolation 18.05 (Pravila §14.9) добавляет «ruflo dormant — не маршрутизировать». Связано: `docs/routing-off-phase.md` v1.0, snapshot `docs/discovery/2026-05-18-system-audit-brain.md` Rec5, Pravila v1.29 / Tooling v2.15 / CLAUDE.md v2.16 (pending sync).
|
||
|
||
**v3.13** — Anthropic dev-tooling: R10.1 Блок 1 +5 строк таблицы — **skill-creator** (#56) / **plugin-dev** (#57) / **hookify** (#58) / **claude-code-setup** (#59) / **context7** (#60) — 5 Anthropic-плагинов из `anthropics/claude-plugins-official`, уже включённых в `~/.claude/settings.json` `enabledPlugins` user-level без формализации (L1-паттерн). +note (v3.13). Новые 13-я (**authoring-tooling** — #56-#58) и 14-я (**dev-support** — #59-#60) off-phase подкатегории — не UI → вне R6.0/R6.1/R14. **hookify HK1** — hard-rule pre-check на коллизию с economy/skill-discipline хуками; закрывает 🔴-конфликт карты `hookify_plugin ↔ hk_pre_claude`. Содержательных изменений R0–R14: 0. ADR-010. Связано: Tooling v2.14, Pravila v1.28, CLAUDE.md v2.15; план `docs/superpowers/plans/2026-05-18-anthropic-dev-tooling-formalization.md`.
|
||
|
||
**v3.12** — discovery-interview: R10.1 Блок 1 +note (v3.12) — **discovery-interview** (Tooling #55, self-authored project-скил `.claude/skills/discovery-interview/`, как process-modeling/process-analysis; режимы FEATURE + SYSTEM). Новая 12-я off-phase подкатегория **discovery-tooling** (§4.30) — не UI → вне R6.0/R6.1/R14. Содержательных изменений R0–R14: 0. Связано: Tooling v2.13, Pravila v1.26, CLAUDE.md v2.13; план `docs/superpowers/plans/2026-05-18-discovery-interview-integration.md`.
|
||
|
||
**v3.11** — C10 business-process: R10.1 Блок 1 +1 строка **operations** (`operations@knowledge-work-plugins` v1.2.0, Anthropic Verified, 9 скилов, marketplace-плагин) + Блок 1 note (v3.11) — **process-modeling** + **process-analysis** (self-authored project-скилы `.claude/skills/`) + Блок 3 +1 строка **n8n-mcp** (DEFERRED — workflow-движок n8n, у портала нет n8n). Новая 11-я off-phase подкатегория **business-process** (Tooling #51-54, раздел C10 карты) — не UI → вне R6.0/R6.1/R14, как architecture-tooling/audit-security/ml-ai-tooling. Содержательных изменений R0–R14: 0. Связано: Tooling v2.12, Pravila v1.25, CLAUDE.md v2.12; план `docs/superpowers/plans/2026-05-17-c10-business-process-tooling-integration.md`.
|
||
|
||
**v3.10** — A11 ml-ai-tooling: R10.1 Блок 3 +1 строка **Jupyter MCP** (DEFERRED — требует Python ML-окружения; ml-ai-tooling, off-phase, раздел A11 карты) + Блок 1 note (v3.10) — **promptfoo** (npm devDependency `promptfoo`, CLI-eval LLM-промптов) + **Data Scientist skill** (вендоренный сторонний скил `.claude/skills/data-scientist/`). Десятая off-phase подкатегория ml-ai-tooling. Не UI → вне R6/R14. Содержательных изменений R0–R14: 0. Связано: Tooling v2.10, Pravila v1.24, CLAUDE.md v2.10; план `docs/superpowers/plans/2026-05-17-a11-ml-ai-tooling-integration.md`.
|
||
|
||
**v3.9** — A3 integration-tooling: R10.1 Блок 3 +1 строка **openapi-mcp-server** (категория integration-tooling, off-phase, раздел A3 карты, stdio MCP, server `openapi` в `.mcp.json`, Tooling §4.22 #47). Не UI → вне R6/R14. Содержательных изменений R0–R14: 0. Связано: Tooling v2.9, Pravila v1.23, CLAUDE.md v2.9; план `docs/superpowers/plans/2026-05-17-a3-integration-tooling-integration.md`.
|
||
|
||
**v3.7** — A6-расширение deptrac: R10.1 Блок 1 +note «Блок 1 — note (v3.7)» — **deptrac** (`deptrac/deptrac` v4.6.1, Composer dev-dependency, **не** marketplace-плагин и **не** в `enabledPlugins` — регистрируется нотой, как mermaid-skill/CCPM). Категория **architecture-tooling** (Tooling #43, раздел A6 карты) — 4-й инструмент подкатегории; не UI → вне R6.0/R6.1/R14. deptrac врезан как lefthook pre-commit job 10. Содержательных изменений R0–R14: 0. Связано: Tooling v2.7, Pravila v1.21, CLAUDE.md v2.7; план `docs/superpowers/plans/2026-05-17-deptrac-architecture-fitness-integration.md`.
|
||
|
||
**v3.6** — C9 project-management: R10.1 Блок 1 (`enabledPlugins`) +2 строки — **CCPM** (`automazeio/ccpm`, вендорен в `.claude/skills/ccpm/`) + **product-management** (`anthropics/knowledge-work-plugins`, Anthropic Verified). Блок 1 +note про **CCPM** (вендоренный скил, аналог mermaid-skill). Новая категория **project-management** (Tooling #41-42, раздел C9 карты) — не UI → вне R6.0/R6.1/R14, как architecture-tooling/audit-security. Содержательных изменений R0–R14: 0. Связано: Tooling v2.6, Pravila v1.20, CLAUDE.md v2.6; план `docs/superpowers/plans/2026-05-17-c9-project-management-tooling-integration.md`.
|
||
|
||
**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](../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](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](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), не правило и не баг. Файлы плагина доступны на диске сразу, инвокация через `Skill` tool — только в новом чате.
|
||
|
||
---
|
||
|
||
## Правило 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. Классифицирована по Правилу 1 (процессная / бэкенд / визуальная / UI-фича / вне scope).
|
||
2. Если попала в scope — назначен ответственный плагин и фаза по Правилу 2.
|
||
3. Если не попала в scope — явно зафиксировано «вне stack, действую без плагинов» (разрешённый исход, но **должен быть явным**).
|
||
|
||
Без всех трёх пунктов — действовать нельзя.
|
||
|
||
### 0.4. Исключения и live-отмены
|
||
|
||
**A. Технические исключения** (gate не требуется):
|
||
|
||
> **Single Source of Truth: [Pravila §12.3](Pravila_raboty_Claude_v1_1.md#123-когда-правило-не-применяется)** (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):
|
||
|
||
1. Впервые на этой сессии создаю компонент из брендового семейства (`AppButton`, `AppCard`, `AppDataTable`, `AppDialog` и т.п.) и в `resources/js/components/` ещё нет precedent'а того же типа.
|
||
2. Изменение структуры brand-токенов (`resources/js/plugins/vuetify.ts` palette config, font-family bindings, theme variants).
|
||
3. Создание нового aesthetic-направления, не описанного в [BRANDBOOK_v2](../liderra_v8_handoff/docs/BRANDBOOK_v2.md).
|
||
4. Изменение установленных UX-флоу из ТЗ v8.5 (auth-flow, deal-flow, billing-flow, admin-flow, webhook-flow).
|
||
5. Cross-cutting refactor, затрагивающий ≥3 компонентов или layout-структуру (`AppLayout`, `AuthLayout`, `AppShell`).
|
||
6. Добавление новой технологии в стек (новый фреймворк, новая UI-библиотека, новый шрифт, новая иконографическая библиотека).
|
||
7. Изменение брендовой палитры/шрифтов — даже одного значения (Teal, Ivory, теало-нуар, Inter, JetBrains Mono).
|
||
8. Изменение 14 OKLCH-статусов воронки или их slug-маппинга на UI.
|
||
9. **[v1.4]** Использование 21st Magic MCP (`mcp__magic__21st_magic_component_*`) для генерации компонента из брендового семейства App* (`AppButton`, `AppCard`, `AppDataTable`, `AppDialog` и любых других с префиксом `App` в `resources/js/components/`). Брендовые компоненты проходят полный R12 архитектурный flow.
|
||
10. **[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](../liderra_v8_handoff/docs/BRANDBOOK_v2.md)) с 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](../db/schema.sql#L2076), мапить через 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 — формула решения
|
||
|
||
При входе в задачу — три вопроса последовательно:
|
||
|
||
1. **Это процесс или артефакт?**
|
||
→ Процесс → Superpowers. Артефакт → дальше.
|
||
2. **Артефакт — логика, визуал или оба?**
|
||
→ Логика → Superpowers. Визуал → Frontend Design. Оба → Правило 2.
|
||
3. **Какая фаза?**
|
||
→ Найти фазу в Правиле 2 → плагин определён.
|
||
|
||
**Лимит итераций:**
|
||
|
||
- Если за **2 прохода** Правил 1+9 ответ не найден — стоп, применяется Правило 0.6 (предположение в Auto mode или вопрос пользователю).
|
||
- **Третья итерация запрещена** — она означает, что классификационная схема не покрывает задачу, и нужен внешний ввод.
|
||
|
||
---
|
||
|
||
## Правило 10 — внешние плагины как инструменты, не как решатели
|
||
|
||
Stack — **головной**. Все плагины вне stack'а — **инструменты**, инвокируемые внутри stack-flow как подзадачи. Это снимает все overlap'ы с другими установленными плагинами.
|
||
|
||
### 10.1. Реестр внешних плагинов и их роль
|
||
|
||
Реестр разбит на три блока **по типу источника** (v1.5+) — раньше всё было одним списком, что путало «отключи в settings.json» с «не вызывай /команду». Каждый блок имеет свою механику включения и отмены.
|
||
|
||
**Счётчики (finding 3, v3.15):** числа позиций тулчейна и off-phase подкатегорий — канон [Tooling Прил. Н §0](Tooling_v8_3.md) (anchor «КАНОН СЧЁТЧИКОВ»). Реестр ниже ссылается per-row на Tooling #NN; агрегатные счётчики PSR_v1 не дублирует — это закрывает класс «дрейф счётчиков» (SYSTEM-аудит 18.05.2026).
|
||
|
||
#### Блок 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 |
|
||
| **CCPM** *(vendored standalone skill, `/pm` flow, 14 bash-скриптов)* | `automazeio/ccpm` (вендорен в `.claude/skills/ccpm/`) | PRD→эпик→GitHub-issue→код с полной трассируемостью. GitHub-issue-backed модель (ADR-004). PRD/epic store в `.claude/prds/`/`.claude/epics/`. Категория: **project-management** (Tooling #41, вне UI-пула). Bus-factor mitigation — вендорен (community-проект). 0 хуков | при авторинге PRD/epic и создании GitHub-issue из CCPM flow. Не UI → вне R6.0/R6.1/R14 |
|
||
| **product-management** *(6 команд `/write-spec`, `/roadmap-update` и др.)* | `anthropics/knowledge-work-plugins` (plugin `product-management@knowledge-work-plugins`, Anthropic Verified) | product-strategy церемонии (problem→spec, roadmap, stakeholder updates, research synthesis, competitive analysis, metrics review). Категория: **project-management** (Tooling #42). 0 хуков | при product-strategy work: написание спеки, обновление роадмапа, анализ конкурентов. Не UI → вне R6.0/R6.1/R14 |
|
||
| **Design plugin** *(Design Critique / Accessibility Audit / UX Writing / Research Synthesis)* | `anthropics/knowledge-work-plugins` (Anthropic Verified) | дизайн-критика и UX — ревью макетов, дизайн-уровневый a11y-аудит, UX-копирайт, research synthesis. Категория: **design-tooling** (Tooling #46, вне UI-пула) | при дизайн-критике макета, UX-анализе, написании микрокопирайта — pre-code (ADR-006). Не подменяет FD #30 (генерация) и `requesting-code-review`. Не UI → вне R6.0/R6.1/R14 |
|
||
| **operations** *(9 skills: `process-doc` / `process-optimization` / `change-request` / `capacity-plan` / `compliance-tracking` / `risk-assessment` / `runbook` / `status-report` / `vendor-review`)* | `anthropics/knowledge-work-plugins` (plugin `operations@knowledge-work-plugins` v1.2.0, Anthropic Verified) | бизнес-процессы — документирование процесса, оптимизация, change-management, capacity-планирование. Категория: **business-process** (Tooling #51, вне UI-пула). 0 lifecycle-хуков | при работе с бизнес-процессом — документирование/оптимизация/change-request/capacity. Не UI → вне R6.0/R6.1/R14 |
|
||
| **skill-creator** *(1 skill)* | `anthropics/claude-plugins-official` (Anthropic Verified) | конструктор скилов — создание standalone-скилов с нуля, модификация, performance-eval/benchmark, оптимизация `description` под триггеринг. Категория: **authoring-tooling** (Tooling #56, вне UI-пула) | при создании нового **standalone** проектного скила. SC1 — граница с plugin-dev:skill-development (скилы внутри плагина); SC2 — вендоренные/self-authored скилы правятся прямым Edit, не через skill-creator (риск потери провенанса). Не UI → вне R6.0/R6.1/R14 |
|
||
| **plugin-dev** *(8 skills + агенты `agent-creator` / `plugin-validator` / `skill-reviewer`)* | `anthropics/claude-plugins-official` (Anthropic Verified) | конструктор Claude-плагинов — структура / агенты / скилы / команды / хуки / MCP-интеграция / settings. Категория: **authoring-tooling** (Tooling #57) | при разработке собственного marketplace-плагина. PD1 — не для модификации вендоренного/self-authored (SC2); PD3 — `plugin-dev:hook-development` генерирует хук → применяется правило HK1. Не UI → вне R6.0/R6.1/R14 |
|
||
| **hookify** *(skills `/hookify` / `/configure` / `/list` / `/help` + `writing-rules` + агент `conversation-analyzer`)* | `anthropics/claude-plugins-official` (Anthropic Verified) | генератор хуков из анализа транскриптов диалога / явных инструкций. Категория: **authoring-tooling** (Tooling #58) | **только по явному `/hookify`**, не проактивно (HK2). **HK1 hard-rule:** перед генерацией хука — обязательный pre-check на коллизию с уже-зарегистрированными хуками в `~/.claude/settings.json`; перезапись 6-компонентной economy/skill-discipline архитектуры (economy-mode / skill-marker / skill-check / state-guard / postcompact / verifier) **запрещена**; при коллизии — остановка, ручное согласование. HK3 — закрывает 🔴-конфликт карты `hookify_plugin ↔ hk_pre_claude`. Не UI → вне R6.0/R6.1/R14 |
|
||
| **claude-code-setup** *(skill `claude-automation-recommender`)* | `anthropics/claude-plugins-official` (Anthropic Verified) | рекомендатель Claude Code automations — анализ кодовой базы + советы (хуки / суб-агенты / скилы / плагины / MCP). Read-only. Категория: **dev-support** (Tooling #59, вне UI-пула) | при запросе на оптимизацию Claude Code setup. CCS1 — рекомендации фильтруются R0 stack-gate + R10.1; ничего не устанавливается без явного согласования заказчика. Не UI → вне R6.0/R6.1/R14 |
|
||
| **context7** *(MCP-tools `query-docs` / `resolve-library-id`)* | `anthropics/claude-plugins-official` (Anthropic Verified) — плагин в `enabledPlugins`, не `.mcp.json`-сервер | актуальная документация библиотек / фреймворков / SDK — отдаёт upstream-доки, обходит cutoff training data. Категория: **dev-support** (Tooling #60) | **первый выбор** для документации **известной библиотеки** (Laravel / Vue / Vuetify / Pest / React / …). CTX1 — WebFetch для конкретного URL, WebSearch — поиск без знания библиотеки. Не UI → вне R6.0/R6.1/R14 |
|
||
| **finance** *(8 skills: `reconciliation` / `variance-analysis` / `financial-statements` / `close-management` / `journal-entry` / `journal-entry-prep` / `sox-testing` / `audit-support`)* | `anthropics/knowledge-work-plugins` (plugin `finance@knowledge-work-plugins`, Anthropic Verified, v1.2.0) | финансы/бухгалтерия — сверка, анализ отклонений, US-GAAP-отчётность, закрытие периода, проводки. Категория: **finance-tooling** (Tooling #61, вне UI-пула). Homed C7, cross-ref C6 | при учётно-финансовой работе. Применимость РФ: ✅ reconciliation/variance; ⚠️ US-GAAP-скилы частично; ❌ SOX-скилы not-applicable; warehouse-MCP DEFERRED (ADR-012). Не UI → вне R6.0/R6.1/R14 |
|
||
| **marketing** *(8 skills: `competitive-brief` / `brainstorm` / `sprint-planning` и др.)* | `anthropics/knowledge-work-plugins` (plugin `marketing@knowledge-work-plugins`, Anthropic Verified) | **первичный решатель C1** — маркетинговый контент, кампании, SEO-стратегия, конкурент-брифы, email-цепочки, план кампании. Категория: **marketing-tooling** (Tooling #74, вне UI-пула). Раздел C1 карты | при маркетинговых задачах (контент / кампании / SEO-стратегия / конкурент-анализ). Не UI → вне R6.0/R6.1/R14 |
|
||
| **brand-voice** *(3 skills)* | `anthropics/knowledge-work-plugins` (partner-built, Tribe AI) | вербальный бренд — тон голоса, согласованность маркетинговых текстов, brand-voice guidelines. Категория: **marketing-tooling** (Tooling #76, вне UI-пула). Раздел C1 карты. Парный к marketing #74 | при задачах вербального бренда (tone-of-voice, ревью маркетинговых текстов). Не 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.
|
||
|
||
**Блок 1 — note (v3.6):** **CCPM** (Tooling #41) — аналогично mermaid-skill: вендоренный сторонний скил в `.claude/skills/ccpm/` (`automazeio/ccpm`, MIT), **не** через marketplace и **не** в `enabledPlugins`. Активируется через `/pm` в Claude Code. Категория **project-management**, вне R6/R14.
|
||
|
||
**Блок 1 — note (v3.7):** **deptrac** (Tooling #43, архитектурный fitness-гейт) — Composer dev-dependency (`deptrac/deptrac` v4.6.1, BSD-3), **не** marketplace-плагин и **не** в `enabledPlugins`; врезан как lefthook pre-commit job 10 (`deptrac analyse` на staged `app/**/*.php`). CLI-инструмент статического анализа направления зависимостей между слоями — не решатель; формально вне типологии трёх блоков, регистрируется здесь для полноты. Категория **architecture-tooling** (как adr-kit/architecture-patterns), вне R6.0/R6.1/R14.
|
||
|
||
**Блок 1 — note (v3.10):** **promptfoo** (Tooling #48, ml-ai-tooling) — npm devDependency (`promptfoo`, MIT) в корневом `package.json`, **не** marketplace-плагин и **не** в `enabledPlugins`; CLI-инструмент eval LLM-промптов, запуск `npx promptfoo` вручную/CI (платные LLM-вызовы — никогда в хук, ML1). **Data Scientist skill** (Tooling #49, ml-ai-tooling) — аналогично mermaid-skill/CCPM: вендоренный сторонний скил в `.claude/skills/data-scientist/` (`sickn33/antigravity-awesome-skills`, код MIT / контент CC BY 4.0), **не** через marketplace. Оба формально вне типологии трёх блоков, регистрируются здесь для полноты. Категория **ml-ai-tooling** (раздел A11 карты), вне R6.0/R6.1/R14.
|
||
|
||
**Блок 1 — note (v3.11):** **process-modeling** (Tooling #52) + **process-analysis** (Tooling #53) — self-authored project-скилы в `.claude/skills/process-modeling/` и `.claude/skills/process-analysis/`, **не** вендоренные сторонние и **не** через marketplace; написаны проектом (паттерн project-скилов `audit-portal`/`regression`). В отличие от вендоренных mermaid-skill/CCPM/Data Scientist — **линтуются** lefthook'ом (cspell+markdownlint), **не** в `cspell.json` `ignorePaths` / `.markdownlintignore` (конфликт-аудит LINT1). Категория **business-process** (раздел C10 карты), вне R6.0/R6.1/R14.
|
||
|
||
**Блок 1 — note (v3.12):** **discovery-interview** (Tooling #55) — self-authored project-скил в `.claude/skills/discovery-interview/`, **не** вендоренный сторонний и **не** через marketplace; написан проектом (паттерн project-скилов `audit-portal`/`regression`/`process-modeling`/`process-analysis`). **Линтуется** lefthook'ом (cspell+markdownlint), **не** в `cspell.json` `ignorePaths` / `.markdownlintignore` (LINT1). Категория **discovery-tooling** (12-я off-phase подкатегория), вне R6.0/R6.1/R14.
|
||
|
||
**Блок 1 — note (v3.13):** 5 Anthropic dev-плагинов — **skill-creator** (#56) / **plugin-dev** (#57) / **hookify** (#58) / **claude-code-setup** (#59) / **context7** (#60) — marketplace-плагины из `anthropics/claude-plugins-official`, включены в `~/.claude/settings.json` `enabledPlugins` user-level. Формализованы 18.05.2026 после аудита «мозга» (L1-паттерн «плагин включён без формализации» — повтор UPM/21st 10.05 и Sentry/Redis 13.05). Две новые off-phase подкатегории: **authoring-tooling** (13-я — #56-#58, создание Claude-артефактов) + **dev-support** (14-я — #59-#60, поддержка/документация Claude-разработки), не UI → вне R6.0/R6.1/R14. **hookify** несёт hard-rule HK1 (pre-check на коллизию с existing хуками). `context7` — плагин из marketplace (не `.mcp.json`-сервер Блока 3), хотя предоставляет MCP-tools. ADR-010, Tooling §4.31–§4.35.
|
||
|
||
**Блок 1 — note (v3.18):** **billing-audit** (Tooling #62) + **ru-tax-accounting** (Tooling #63) — self-authored project-скилы в `.claude/skills/billing-audit/` и `.claude/skills/ru-tax-accounting/`, **не** вендоренные и **не** через marketplace; написаны проектом (паттерн `audit-portal`/`regression`/`process-*`/`discovery-interview`). **Линтуются** lefthook'ом (cspell+markdownlint), **не** в ignorePaths (LINT1). Категория **finance-tooling** (15-я off-phase подкатегория, разделы C6/C7 карты), вне R6.0/R6.1/R14. ADR-012.
|
||
|
||
**Блок 1 — note (v3.19):** **Rector** (Tooling #64) + **PHP Insights** (Tooling #65) — Composer dev-dependencies (`rector/rector` + `driftingly/rector-laravel`; `nunomaduro/phpinsights`), **не** marketplace-плагины и **не** в `enabledPlugins` (как deptrac #43 / promptfoo #48). CLI-инструменты: Rector — авто-рефакторинг/version-upgrade (`composer rector`/`rector:fix`), manual/CI, dry-run baseline 16 файлов → **не** блокирующий lefthook; PHP Insights — метрики complexity/architecture (`composer insights`), on-demand/CI с порогами → **не** блокирующий (BT9). **laravel-backend-patterns** (Tooling #66) — self-authored project-скил в `.claude/skills/laravel-backend-patterns/`, **линтуется** (LINT1, как billing-audit/process-*). **NightOwl** (Tooling #67) — `laravel/nightwatch` + self-hosted `lemed99/nightowl-agent`, **DEFERRED** (native-Windows нет pcntl/posix; OSS без MCP; hosted 152-ФЗ); при активации (Linux/Б-1) — MCP в Блок 3 или Boost `database-query`. Категория **backend-tooling** (16-я off-phase подкатегория, раздел A1 карты), вне R6.0/R6.1/R14. ADR-013.
|
||
|
||
**Блок 1 — note (v3.20):** **Nuclei** (Tooling #69) + **Ward** (Tooling #70) — CLI-бинари (как deptrac #43 / gitleaks / squawk), **не** marketplace-плагины и **не** в `enabledPlugins`. Nuclei (`projectdiscovery/nuclei` v3.8.0, MIT, Go) — `bin/nuclei.exe`, **установлен+verified**; широкое сканирование известных уязвимостей; **CLI, не MCP** (nuclei не говорит на MCP → нет Блока 3 / l1-watcher alias). Ward (`Eljakani/ward`, MIT, Go) — безопасность настроек Laravel; **ЗАМЕНИЛ Enlightn** (abandoned/L13); **установлен 21.05** портативно (собран portable Go → `bin/ward.exe` v0.4.1, `docs/security/ward-setup.md`). **pdn-152fz-audit** (#71) + **threat-model** (#72) + **security-go-live** (#73) — self-authored project-скилы в `.claude/skills/`, **линтуются** (LINT1, как billing-audit/process-*). Каждый внешний инструмент прошёл провенанс-вет IS9 (`docs/security/infosec-vet.md`) ДО установки (риск ToxicSkills). Категория **infosec-tooling** (17-я off-phase подкатегория, раздел A8 карты), вне R6.0/R6.1/R14. ADR-014 (IS1–IS9).
|
||
|
||
**Блок 1 — note (v3.22):** **marketingskills** (Tooling #75) — вендоренный сторонний скил-набор в `.claude/skills/marketingskills/` (`coreyhaines31/marketingskills`, MIT, ~30k★), **не** через marketplace и **не** в `enabledPlugins`; аналог mermaid-skill/CCPM/Data Scientist по паттерну вендоринга. Содержит только Markdown-скилы (`skills/` директория) — исполняемый код в проект не включается (условие вендоринга C1-1 из `docs/security/marketing-vet.md`). Роль — **материал/резерв-библиотека** (40 маркетинговых фреймворков), не первичный решатель (маппинг на паттерн UPM #31). **marketing-ru** (Tooling #77) — self-authored project-скил в `.claude/skills/marketing-ru/`, **не** вендоренный и **не** через marketplace; написан проектом (паттерн `audit-portal`/`billing-audit`/`process-modeling`); РФ-специфика (Яндекс-каналы / 152-ФЗ согласия / конверсия лендинга Лидерры); eval 20/20. **Линтуется** lefthook'ом (cspell+markdownlint), **не** в ignorePaths (LINT1, как billing-audit/process-*). Каждый внешний инструмент прошёл провенанс-вет IS9 (`docs/security/marketing-vet.md`) ДО установки. Категория **marketing-tooling** (18-я off-phase подкатегория, раздел C1 карты), вне R6.0/R6.1/R14.
|
||
|
||
**Блок 1 — note (v3.23):** **graphifyy** (Tooling #86) — user-level скил `~/.claude/skills/graphify/SKILL.md` (`/graphify` активация), CLI `graphifyy` (npm, строит knowledge graph из docs+code); **не** project-level и **не** в `enabledPlugins` (user-level — вне `enabledPlugins` проекта). Артефакты `graphify-out*/` в корне — gitignored. Категория **knowledge-graph-tooling** (19-я off-phase подкатегория), вне R6.0/R6.1/R14. ADR-017 (KG1–KG5: границы ↔ context7 #60 / Boost #10 / openapi-mcp #47 / Sentry #34 / adr-kit #36 + mermaid #37).
|
||
|
||
**Отмена:** через удаление из `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 |
|
||
| **Universal Icons MCP** *(`universal-icons` сервер, tools `search_icons`/`get_icon`/`health_check`)* | `.mcp.json` (`npx -y mcp-universal-icons`, MIT) | поиск/вставка SVG-иконок — 10 коллекций включая Lucide (брендовый icon-set). Категория: **design-tooling** (Tooling #45) | при поиске иконки для Vue-компонента. НЕ запрашивать jsx/Tailwind-формат (R6.0). Материал, не решатель (R10.2). Вне R14 pipeline |
|
||
| **Figma MCP** *(remote `https://mcp.figma.com/mcp`)* — **DEFERRED** | `.mcp.json` (HTTP-транспорт, OAuth) — не установлен, precondition: Figma-аккаунт | извлечение дизайн-токенов/variables из Figma-источника (`get_variable_defs`). **Extract-only** (ADR-006) — code-gen не используется. Категория: **design-tooling** (Tooling #44) | DEFERRED (FM2 — у проекта нет Figma-файла). При появлении Figma-аккаунта. Extract-only — FD #30 остаётся UI-решателем. Вне R6.0/R6.1/R14 |
|
||
| **openapi-mcp-server** *(`openapi` сервер, tools `mcp__openapi__*`)* | `.mcp.json` (stdio MCP, env `OPENAPI_SPEC_URL` или локальный файл) | **integration-tooling MCP** — OpenAPI/Swagger-спецификации интеграций (inspect, introspect внешних API). Категория: **integration-tooling** (Tooling §4.22 #47). Раздел A3 карты «Программирование — интеграции (API, вебхуки)». Off-phase | при работе с внешними API-интеграциями (introspection спецификаций). **READ-ONLY introspection** — не мутировать внешние API из Claude. Не trigger'ит R6.0/R6.1 фильтры и не входит в R14 pipeline UI-генераторов. Вне R6/R14 |
|
||
| **Jupyter MCP** *(`jupyter` сервер)* — **DEFERRED** | `.mcp.json` (stdio MCP) — не установлен, precondition: Python ML-окружение | **ml-ai-tooling MCP** — исполняемые ноутбуки (классический ML: обучение моделей). Категория: **ml-ai-tooling** (Tooling §4.25 #50). Раздел A11 карты «ML / AI-разработка». Off-phase | DEFERRED — на native-Windows машине нет Python ML-рантайма и нет модели для обучения. Зарегистрирован как pending-слот (как Figma MCP); устанавливается отдельной severable-задачей при появлении конкретной модели. Вне R6/R14 |
|
||
| **n8n-mcp** *(`n8n` сервер)* — **DEFERRED** | `.mcp.json` (stdio MCP) — не установлен, precondition: принятие n8n в стек портала | **business-process MCP** — workflow-движок платформы n8n (построение/запуск автоматизированных workflow). Категория: **business-process** (Tooling §4.29 #54). Раздел C10 карты «Бизнес-процессы (общее)». Off-phase | DEFERRED — стек Лидерры не содержит n8n (движок процессов = очередь Laravel + события/джобы); принятие n8n как инфраструктуры — отдельное архитектурное решение (свой ADR), не выбор инструмента (N8N1). Зарегистрирован как pending-слот (как Figma MCP / Jupyter MCP); устанавливается отдельной severable-задачей. Вне R6/R14 |
|
||
| **OWASP ZAP MCP** *(`zap` сервер, официальный ZAP «MCP Integration» add-on)* — **установлен 21.05** | `bin/ZAP_2.17.0/` + MCP-аддон `mcp-alpha-0.0.1` на portable Temurin JRE 17 (`bin/_runtimes/`, без choco); MCP-эндпоинт (SSE) регистрируется в `.mcp.json` при запущенном ZAP-демоне (`docs/security/zap-setup.md`) | **infosec-tooling MCP** — глубокая боевая DAST работающего портала (spider + active scan: обход входа, инъекции, XSS). Категория: **infosec-tooling** (Tooling §4.43 #68). Раздел A8 карты. Off-phase | Установлен (daemon API verified → 2.17.0); MCP-аддон alpha. Цель по умолчанию **локальная копия** (127.0.0.1), бой — только по явной команде (IS8). READ-only сканер. Провенанс OWASP/Checkmarx (IS9-вет). Не trigger'ит R6.0/R6.1 и не входит в R14 pipeline. Вне R6/R14. ADR-014 |
|
||
| **Яндекс.Метрика MCP** *(`yandex-metrika` сервер, tools `mcp__yandex_metrika__*`)* | `.mcp.json` (stdio MCP, `atomkraft/yandex-metrika-mcp`, MIT; env `METRIKA_TOKEN`; пинить SHA в конфиге) | **marketing-tooling MCP** — веб-аналитика сайта через Яндекс.Метрика API: трафик, источники, поведение посетителей. Категория: **marketing-tooling** (Tooling #78). Раздел C1 карты. Off-phase. Провенанс-вет C1-2 PASS (`docs/security/marketing-vet.md`) | при анализе веб-аналитики лендинга/портала. **READ-ONLY** — только запросы данных. Активируется при появлении счётчика Метрики (⏸ Б-1). Не trigger'ит R6.0/R6.1/R14. Вне R6/R14 |
|
||
| **Яндекс.Директ+Wordstat MCP** *(`yandex-mcp` сервер, **только Wordstat-модуль**, 5 tools)* | `.mcp.json` (stdio MCP, `SvechaPVL/yandex-mcp`, MIT; env `YANDEX_OAUTH_TOKEN` с минимальным scope Wordstat-only) | **marketing-tooling MCP** — исследование ключевых слов через Яндекс.Wordstat (частотность, семантика для SEO/контента). Категория: **marketing-tooling** (Tooling #79). Раздел C1 карты. Off-phase. Провенанс-вет C1-3 PASS-with-conditions | **Только Wordstat-инструменты** (5 read-only tools из `tools/wordstat.py`). **Direct-модуль (80 mutation-tools) не активировать** — IS9 запрет (Direct умеет тратить бюджет). OAuth-токен с минимальным scope. Не trigger'ит R6.0/R6.1/R14 |
|
||
| **Telegram MCP** *(`telegram-mcp` сервер, MTProto user-account)* | `.mcp.json` (stdio MCP, `chigwell/telegram-mcp`, Apache-2.0; env `TELEGRAM_SESSION_STRING` + API credentials — только в `.env`, не в git) | **marketing-tooling MCP** — управление Telegram-каналами: отправка постов, получение аналитики канала, мониторинг упоминаний. Категория: **marketing-tooling** (Tooling #80). Раздел C1 карты. Off-phase. Провенанс-вет C1-4 PASS-with-conditions | при постинге в Telegram-канал Лидерры или мониторинге канала. `SESSION_STRING` — только в `.env` на сервере; использовать **выделенный аккаунт** (не основной бизнес); READ-тяжёлый режим, отправка — по явному действию. Не trigger'ит R6.0/R6.1/R14 |
|
||
| **Postiz MCP** *(`postiz-mcp` сервер)* — **self-hosted AGPL-3.0** | `.mcp.json` (stdio MCP, `antoniolg/postiz-mcp`; precondition: запущенный self-hosted Postiz `gitroomhq/postiz-app`, AGPL-3.0 — допустим для внутреннего self-host без дистрибуции) | **marketing-tooling MCP** — мультиканальный постинг в соцсети (VK через Postiz, Telegram, и др.). Категория: **marketing-tooling** (Tooling #81). Раздел C1 карты. Off-phase. Провенанс-вет C1-5 PASS-with-conditions | при мультиканальном постинге контента. AGPL-3.0: self-host as-is без модификаций, copyright сохранить. Проверить лицензию `antoniolg/postiz-mcp` перед активацией (Open note в marketing-vet.md). Не trigger'ит R6.0/R6.1/R14 |
|
||
| **DataForSEO MCP** *(`dataforseo-mcp` сервер)* — **DEFERRED** | `.mcp.json` (stdio MCP, `dataforseo/mcp-server-typescript`, ~204★ официальный) — не установлен; precondition: платный аккаунт DataForSEO | **marketing-tooling MCP** — SEO-данные (ключевые слова, SERP, backlinks, технический SEO-аудит). Категория: **marketing-tooling** (Tooling #82). Раздел C1 карты. Off-phase | DEFERRED — **платный** аккаунт DataForSEO; активация после Б-1. Зарегистрирован как pending-слот (как Figma MCP #44). Не trigger'ит R6.0/R6.1/R14 |
|
||
| **Unisender Go MCP** *(своя обёртка)* — **DEFERRED** | `.mcp.json` (stdio MCP — нет готового upstream-сервера; обёртка над Unisender Go API пишется по мере необходимости) | **marketing-tooling MCP** — email-маркетинг через Unisender Go (массовые рассылки, шаблоны, аналитика доставки). Категория: **marketing-tooling** (Tooling #83). Раздел C1 карты. Off-phase | DEFERRED — нет готового MCP-сервера Unisender Go; написать тонкий wrapper когда понадобится массовая рассылка. Unisender Go уже в стеке как SMTP-relay (транзакционный). Зарегистрирован как pending-слот. Не trigger'ит R6.0/R6.1/R14 |
|
||
| **perplexity MCP** *(`perplexity` сервер, tools `mcp__perplexity__*`)* | `.mcp.json` (stdio MCP, `@perplexity-ai/mcp-server`; env `PERPLEXITY_API_KEY` + `PERPLEXITY_BASE_URL` через AITUNNEL — только в env) | **research-tooling MCP** — ранжированный веб-ответ с источниками (search/ask/research/reason поверх sonar). Категория: **research-tooling** (Tooling §4.60 #87). Off-phase. Провенанс-вет `docs/research/research-vet.md` ПРИНЯТ; gate read_only (`bfc1f575`) | при веб-разведке (актуальные практики/нормы/конкуренты, deep-research). **READ-ONLY**; платный API, без авто-трат. Связка L17 (research chain). Не trigger'ит R6.0/R6.1/R14. Вне R6/R14. ADR-019 |
|
||
| **exa MCP** *(`exa` сервер, tools `mcp__exa__*`)* | `.mcp.json` (stdio MCP, `exa-mcp-server` exa-labs; env `EXA_API_KEY` — только в env) | **research-tooling MCP** — семантическое/нейро обнаружение источников (`web_search_exa` / `web_fetch_exa`). Категория: **research-tooling** (Tooling §4.61 #88). Off-phase. Провенанс-вет ПРИНЯТ | при обнаружении источников по смыслу (что keyword-поиск пропускает). **READ-ONLY**; платный API. Связка L17. Не trigger'ит R6.0/R6.1/R14. Вне R6/R14. ADR-019 |
|
||
| **firecrawl MCP** *(`firecrawl` сервер, tools `mcp__firecrawl__*`)* | `.mcp.json` (stdio MCP, `firecrawl-mcp` Firecrawl/Mendable; env `FIRECRAWL_API_KEY` — только в env) | **research-tooling MCP** — глубокое чтение/обход веба (scrape/batch/map/search/crawl/extract + agent). Категория: **research-tooling** (Tooling §4.62 #89). Off-phase. Провенанс-вет ПРИНЯТ | при глубоком чтении страницы / обходе сайта / извлечении структурированного. **READ-ONLY** (read-тяжёлый); платный API. Связка L17. Не trigger'ит R6.0/R6.1/R14. Вне R6/R14. ADR-019 |
|
||
|
||
**Отмена:** через удаление из `~/.claude.json` или `.mcp.json`. Live-override через `/команду` для MCP не предусмотрен — MCP-серверы не имеют slash-интерфейса.
|
||
|
||
### 10.2. Принципы координации
|
||
|
||
1. **Stack-gate всегда первый.** Любая задача → R0 → R1 (классификация) → выбор плагина внутри stack'а. Внешний плагин получает работу **только** через делегирование из stack-flow или через явную `/команду` пользователя.
|
||
2. **Внешние плагины — read-only для решений.** Их вывод используется как инструмент (палитра, шаблон, gh-команда), но решение «как поступить» принимается внутри stack'а (Superpowers/FD).
|
||
3. **Не параллельная работа.** Если ui-ux-pro-max и Frontend Design оба «хотят» одной задачи — побеждает FD (он в stack'е). UPM подключается **последовательно**, как fallback, не параллельно.
|
||
4. **Явная `/команда` — единственная отмена принципа.** Если пользователь пишет `/review` — `review` плагин получает работу напрямую, минуя Superpowers `requesting-code-review`. Это live-override на одно действие, аналог R0.4.B.
|
||
|
||
### 10.3. Делегирование через stack-flow — пример
|
||
|
||
Запрос «обнови CLAUDE.md, добавь новое правило»:
|
||
|
||
1. **R0 gate** → задача в stack
|
||
2. **R1** → классифицирована как «процессная — документация» (из §12.3 exclusions Pravila)
|
||
3. **Stack** определяет план: «вызвать claude-md-improver внутри R2 фазы 4 как инструмент»
|
||
4. Инвокирую `claude-md-management:claude-md-improver` как **подзадачу**
|
||
5. После выполнения — возвращаюсь в 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](Pravila_raboty_Claude_v1_1.md): нарушение 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 через явный вызов `brainstorming` skill или просьбу «свободно/без вариантов» от пользователя — снимает требование §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'а
|
||
|
||
1. **§12 Pravila применяется только когда задача не вышла в R0.4.A.** Если задача — read-only/тривиальная/справочная, §12 не релевантен (это §12.3 exclusions Pravila).
|
||
2. **R0.6 hard-стоп — неотменяемый, перекрывает Auto mode.** Никакие «средняя confidence + Auto» не обходят 10 пунктов R0.6.
|
||
3. **«Высокая уверенность + Auto»** — это разрешение действовать без вопроса, но **не** разрешение пропустить §12 (Superpowers первым) или R6 (стек-фильтр FD) — они применяются автоматически в фоне.
|
||
4. **«Средняя уверенность» в 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-гайдлайны.
|
||
- **Обязательные обработки до использования:**
|
||
1. R6.0 фильтр стека (срезать React/Tailwind/shadcn материалы; оставить Vue + HTML/CSS-уровневые принципы);
|
||
2. R6.1 hard-override Forest (палитра/шрифты/иконки/aesthetic — Forest, не UPM-предложения);
|
||
3. 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-стоп**, использовать его.
|
||
- Если на все три «нет» → переходим к генерации.
|
||
- **Шаги генерации:**
|
||
1. Вызов `mcp__magic__21st_magic_component_builder` (или `_inspiration` / `_refiner`) с описанием паттерна;
|
||
2. Сгенерированный черновик (по умолчанию React + Tailwind + shadcn) → через **R6.0 фильтр** (JSX → Vue SFC template, Tailwind → utility-CSS / Vuetify, shadcn → Vuetify-эквивалент, React imports/hooks → Vue Composition API);
|
||
3. → через **R6.1 hard-override** (палитра/шрифты/иконки → Forest, Lucide);
|
||
4. → **FD адаптирует** под фазу 5 (применяет принципы из фазы 2 к стек-совместимому скелету);
|
||
5. → возврат в фазу 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.
|
||
|
||
---
|
||
|
||
## Правило 15 — Off-phase routing
|
||
|
||
Закрывает Rec5 SYSTEM-аудита 18.05.2026: R-аппарат R0–R14 регулирует почти исключительно UI-фичи (stack-gate R0, классификация R1, фазы R2, фильтр R6, источники UI R11, паттерны решений R12, decision matrix R13, UI-pipeline R14). Off-phase множество (30 узлов #31-#60 + ruflo + infrastructure) регулировалось одним R10.1 + меткой «не UI → вне R6.0/R6.1/R14», без явной матрицы «задача → узел». R15 — собственный слой регламента для off-phase.
|
||
|
||
### 15.1. Off-phase узлы вне UI-фильтров
|
||
|
||
R6.0 / R6.1 / R14 pipeline **не применяются** к off-phase узлам. Причина: эти узлы не производят UI-код / визуал бренда — Trail of Bits сканирует security, deptrac анализирует слои зависимостей, openapi-mcp интроспектирует REST API, sentry читает production errors. Применять стек-фильтр к их выводу — категорийная ошибка. Codifies существующую практику (PSR_v1 v3.3–v3.13 каждая интеграция помечала off-phase как «не UI → вне R6/R14»; теперь это явно правило).
|
||
|
||
**R15 — пост-R1 слой.** Off-phase routing срабатывает **после** классификации задачи Правилом 1, как выбор инструмента внутри назначенной ветки, а не как отдельная шестая ветка R1. Задача «сделай security-аудит diff» классифицируется R1 как процессная → внутри stack работает Superpowers → если требуется off-phase инструмент (Trail of Bits #39), его выбор регулирует R15-таблица. Финальная формула это отражает: «→ если задача off-phase: Правило 15». R15 не конкурирует с R0/R1 за gate — он работает внутри их рамок.
|
||
|
||
### 15.2. Routing-таблица — внешний документ
|
||
|
||
Полная таблица «задача → off-phase узел» вынесена в [`docs/routing-off-phase.md`](routing-off-phase.md) v1.0+. Там же — 12 канонических связок 2+ узлов (L1–L12, закрывает Rec4 SYSTEM-аудита: brainstorming-chain, security-слой, project-management-связка, runtime-debug, ML-trio и т.д.) + список anti-pattern связок.
|
||
|
||
PSR_v1 не дублирует 30-строчную таблицу — single home в routing-off-phase.md. При коллизии содержимого побеждает routing-off-phase.md (он SoT по off-phase routing); R15.1/R15.3–R15.5 этого правила — мета-слой.
|
||
|
||
### 15.3. Приоритет специфичности при коллизии узлов
|
||
|
||
Если задача попадает под 2+ off-phase узлов:
|
||
|
||
1. **Более специфичный узел** перевешивает менее специфичный (например задача «процессное узкое место из кода Laravel» → `process-analysis` #53 специфичнее общего `operations` #51).
|
||
2. **ADR-границы** имеют приоритет над интуицией: пары узлов, где границы зафиксированы в ADR (DI1–DI6 в ADR-009 для discovery-interview ↔ process-analysis; OPS1–OPS5 в ADR-008 для operations ↔ process-modeling; UI1–UI3 в ADR-006 для Universal Icons; TB1 для Trail of Bits ↔ Semgrep) — следуем ADR.
|
||
3. **DEFERRED-узлы** (mcp_figma #44 / Jupyter MCP #50 / n8n-mcp #54) — пропускать; эскалация заказчику если задача требует их.
|
||
4. **Изолированные узлы** (ruflo на 18.05.2026 — Pravila §14.9 dormant) — не маршрутизировать; queen-триггер сейчас не работает.
|
||
|
||
### 15.4. Hard-rules перевешивают R15
|
||
|
||
Pravila §12 (Superpowers инвокация первой), §14 (queen-роутинг — сейчас dormant), §15 (параллельные сессии + субагенты git Sonnet/Opus only) — explicit hard-rules. При коллизии с R15 побеждают они. Например запрос с триггером `queen` (когда §14 не dormant) маршрутизируется через ruflo Queen независимо от R15-таблицы; git-коммит-субагент идёт через Sonnet/Opus независимо от того, в каком off-phase узле задача.
|
||
|
||
### 15.5. Live-override
|
||
|
||
Заказчик может явно назвать узел в промпте («через `process-modeling`», «возьми `mermaid`», «`adr-kit` сделай»). В этом случае R15-таблица **не применяется** — выполнить именно названный узел. Если выбор кажется неоптимальным — кратко отметить (одна строка) и продолжить.
|
||
|
||
### 15.6. Гранулярные особенности категорий
|
||
|
||
- **debug-runtime** (#34 sentry, #35 redis) — READ-ONLY обязательно. Никаких DEL/SET/FLUSH из Claude.
|
||
- **UI-пул** (#31 UPM, #32 21st) — здесь R15 не применяется; R14 pipeline ведёт (это UI-задачи по природе).
|
||
- **infrastructure** (#33 claude-md-management) — единственный канал для правок CLAUDE.md (Pravila §5 п.10 + R10.1 Блок 1).
|
||
- **authoring-tooling** (#56-#58) — политика триггеров: skill-creator ≥3 повторений workflow → новый скил; hookify повторяющаяся ошибка → новый хук (с pre-check HK1); plugin-dev — для расширений plugin-grain.
|
||
- **business-process / discovery-tooling / ml-ai-tooling / architecture-tooling / audit-security / project-management / design-tooling / integration-tooling / dev-support / finance-tooling / backend-tooling / infosec-tooling / marketing-tooling / knowledge-graph-tooling / research-tooling** — следуют routing-off-phase.md.
|
||
|
||
### 15.7. Тип правила и enforcement
|
||
|
||
R15 — обычное правило (не hard-rule). Pravila §9 «Отступления» применяется при необходимости с явным указанием. Нарушение R15 (использование «не того» off-phase узла) — фиксируется в feedback memory, не trigger'ит hard-rule violations.
|
||
|
||
---
|
||
|
||
## Правило 16 — Brain evidence loop
|
||
|
||
**Status**: introduced PSR_v1 v3.16 (2026-05-19) per ADR-011.
|
||
|
||
### 16.1. Observer scope
|
||
|
||
Observer Stop-хук (`tools/observer-stop-hook.mjs`) пишет evidence в `docs/observer/episodes-YYYY-MM.jsonl` каждую сессию. Поля: `task_id` / `timestamps` / `path_type` / `outcome` / `primary_rationale` + optional `events[]` (per spec v1.1 §5.2.1).
|
||
|
||
Схема v2 (2026-05-19, ADR-011 amend): эпизод несёт `schema_version`, `decision_provenance` (autonomous / user_directed_method + контрфактуал), `environment` (`economy_level` / `model` / `post_compaction` / `session_turn` / `parallel_session`), `task_size`, `task_ref`, `prompt_signal`; события расширены `hook_fired` / `interrupt` / `retry` / `time_burn` / `parse_gap`. При внутреннем отказе хука — минимальный `observer_error` маркер вместо тихого пропуска. Spec — `docs/superpowers/specs/2026-05-19-observer-factor-analysis-design.md`.
|
||
|
||
### 16.2. Plugin stack-conscious events
|
||
|
||
Когда в сессии используется UI-фильтр стека (R6/R6.1) или off-phase узел (R15), observer записывает событие `routing_decision` или `skill_invoked` с `node_id` (ссылка на Tooling Прил. Н §4.NN). Это позволяет `/brain-retro` проагрегировать «какие R6/R15 решения чаще всего применялись» через факторную матрицу (5 осей: triggers_matched / candidates_dropped_because / boundaries_applied / hard_floor.rules / task_classification).
|
||
|
||
### 16.3. Не override
|
||
|
||
R16 — evidence-сбор, не правило выбора. R0–R15 продолжают определять выбор узлов; R16 фиксирует историю и enables факторный анализ.
|
||
|
||
### 16.4. Cross-refs
|
||
|
||
- ADR-011 `docs/adr/ADR-011-brain-governance.md`
|
||
- Pravila §16 (brain governance hard-rule tier-§13)
|
||
- spec: `docs/superpowers/specs/2026-05-19-brain-governance-design.md`
|
||
- spec (factor-analysis): `docs/superpowers/specs/2026-05-19-observer-factor-analysis-design.md`
|
||
- plan: `docs/superpowers/plans/2026-05-19-brain-governance.md`
|
||
- plan (factor-analysis): `docs/superpowers/plans/2026-05-19-observer-factor-analysis.md`
|
||
- procedure: `docs/router-procedure.md`
|
||
|
||
---
|
||
|
||
## Финальная формула
|
||
|
||
> **Любая задача → Правило 0 (gate, stack-головной) → Правило 1 (классификация по типу) → Правило 9 (решение, ≤2 итерации) → Правило 13 (decision matrix по уверенности) → Правило 2 (фаза UI-фичи) → исполнение по Правилам 3, 4, 6 → если нужен внешний UI-генератор: Правило 14 pipeline (UPM на фазах 1/2, 21st на фазе 5) → если задача off-phase (security / архитектура / процесс / discovery / ML / debug / интеграция / authoring / docs-tooling): Правило 15 (routing-off-phase.md + ADR-границы) → завершение по Правилу 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 первичных):**
|
||
1. «Активны» → «подключены к gate» (0.1).
|
||
2. Закрытие визуальной задачи — Frontend Design (7).
|
||
3. Возврат к фазе 2 — лёгкий/тяжёлый (4).
|
||
4. Ревью по аспекту, не по файлу (5).
|
||
5. Пост-процессинг внутри Frontend Design (6).
|
||
6. Live-команды поддерживают частичную отмену (0.4.B).
|
||
7. Auto mode совместим через трёхуровневую логику уверенности (0.6).
|
||
8. Лимит 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`.
|
||
- **Действенность:** решение — за 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.23 (2026-05-27)** — knowledge-graph-tooling: R10.1 Блок 1 note +graphifyy #86 (user-level скил, CLI `graphifyy`, knowledge graph портала, активация `/graphify`, артефакты `graphify-out*/` gitignored); R15.6 +knowledge-graph-tooling; 19-я off-phase подкатегория; user-level → вне R6.0/R6.1/R14. ADR-017 (KG1–KG5). Содержательных изменений R0–R16: 0. Связано: Tooling v2.24 (§4.59 + §0 83→84), Pravila v1.43 (§13.2), CLAUDE.md v2.31 (§3.3 +#86).
|
||
|
||
- **v3.22 (2026-05-25, cross-ref update)** — §0 cross-ref string Pravila v1.39+→**v1.42+** (Pravila §17.7 «Coverage announcement» добавлена — правило аннотировать каждую non-conversation задачу `coverage: <channel>:<id>`). Содержательных изменений R0–R16: 0. Связано: Pravila v1.42, Tooling v2.23, CLAUDE.md v2.28.
|
||
|
||
- **v3.17 (2026-05-19)** — observer schema v2 sync (ADR-011 amend): R16.1 +предложение про `schema_version` / `decision_provenance` / `environment` / `task_size` / `prompt_signal` + расширенные события (`hook_fired` / `interrupt` / `retry` / `time_burn` / `parse_gap`) + `observer_error` маркер; R16.4 +cross-ref на factor-analysis spec и plan. R0–R15 без изменений. Routing-gate / C5 controller / `/brain-retro` analyzer — нормативно в Pravila §16.7/§16.8 + ADR-011 §5; PSR_v1 фиксирует evidence-сбор (R16), не enforcement. Связано: ADR-011, Pravila v1.32 (§16 amend), CLAUDE.md v2.19, spec `docs/superpowers/specs/2026-05-19-observer-factor-analysis-design.md`, plan `docs/superpowers/plans/2026-05-19-observer-factor-analysis.md`. Per spec v1.0 §7.
|
||
|
||
- **v3.16 (2026-05-19)** — Brain evidence loop: новое R16 «Brain evidence loop» (R16.1 observer scope — Stop-хук `tools/observer-stop-hook.mjs` пишет `docs/observer/episodes-YYYY-MM.jsonl`, 5 обязательных полей: `task_id` / `timestamps` / `path_type` / `outcome` / `primary_rationale` + optional `events[]` per spec v1.1 §5.2.1; R16.2 plugin stack-conscious events — при использовании R6/R6.1 или R15 off-phase observer пишет `routing_decision` / `skill_invoked` с `node_id`, факторная матрица 5 осей для `/brain-retro`: triggers_matched / candidates_dropped_because / boundaries_applied / hard_floor.rules / task_classification; R16.3 не override — R0–R15 определяют выбор узлов, R16 только фиксирует историю; R16.4 cross-refs). R0–R15 без изменений. Связано: ADR-011 `docs/adr/ADR-011-brain-governance.md`, Pravila §16, spec `docs/superpowers/specs/2026-05-19-brain-governance-design.md`, plan `docs/superpowers/plans/2026-05-19-brain-governance.md`, procedure `docs/router-procedure.md`. Per spec v1.1 §5.2.1 amendment.
|
||
|
||
- **v3.14 (2026-05-18)** — Off-phase routing: новое R15 «Off-phase routing» (R15.1 off-phase узлы вне UI-фильтров R6.0/R6.1/R14 — codifies существующую практику; R15.2 routing-таблица в `docs/routing-off-phase.md` v1.0+ как single home; R15.3 приоритет специфичности + ADR-границы (DI1-DI6 / OPS1-OPS5 / UI1-UI3 / TB1) при коллизии; R15.4 Pravila §12/§14/§15 перевешивают R15; R15.5 live-override заказчика; R15.6 гранулярные категории; R15.7 обычное правило, не hard-rule). Финальная формула расширена шагом «→ Правило 15 (routing-off-phase.md + ADR-границы) для off-phase». Свойства свода — добавлено R15 в полноту и непротиворечивость. UI-аппарат R0-R14 — без изменений. Слот R15 был свободен после удаления motion-системы в v2.0; теперь занят off-phase routing. Связано: `docs/routing-off-phase.md` v1.0 (новый файл, 30 off-phase узлов + 12 канонических связок Rec4), Pravila v1.29 / Tooling v2.15 / CLAUDE.md v2.16 (pending sync). Snapshot — `docs/discovery/2026-05-18-system-audit-brain.md` Rec5. Через manual Edit. **In-place 18.05 вечер (аудит дисциплины R15):** R15.1 +абзац «R15 — пост-R1 слой» (off-phase routing срабатывает после классификации R1, как выбор инструмента внутри ветки, не отдельная шестая ветка R1 — M2-находка аудита). Содержательных изменений R-аппарата 0; routing-off-phase.md синхронно → v1.1 (note про UI-пул #31/#32 — делегирующие ссылки на R14, не R15-routed; +строка «диагностика конверсии» → process-analysis #53).
|
||
|
||
- **v3.8 (2026-05-17)** — A4 design-tooling: R10.1 Блок 1 +Design plugin (`anthropics/claude-plugins-official`, Anthropic Verified) — дизайн-критика и UX, новая 8-я off-phase подкатегория design-tooling; Блок 3 +Universal Icons MCP (`npx -y mcp-universal-icons`, MIT) + Figma MCP (remote `https://mcp.figma.com/mcp`, DEFERRED). Не UI → вне R6.0/R6.1/R14. Содержательных изменений R0–R14: 0. Связано: Tooling v2.8, Pravila v1.22, CLAUDE.md v2.8. План `docs/superpowers/plans/2026-05-17-a4-design-tooling-integration.md`.
|
||
|
||
- **v3.7 (2026-05-17)** — A6-расширение deptrac: R10.1 Блок 1 +note «Блок 1 — note (v3.7)» — **deptrac** (`deptrac/deptrac` v4.6.1, BSD-3, Composer dev-dependency — **не** marketplace-плагин и **не** в `enabledPlugins`, регистрируется нотой как mermaid-skill/CCPM; врезан lefthook pre-commit job 10). Категория **architecture-tooling** (Tooling #43, раздел A6 карты) — 4-й инструмент подкатегории, не UI → вне R6.0/R6.1/R14. Содержательных изменений R0–R14: 0. Связано: Tooling v2.7, Pravila v1.21, CLAUDE.md v2.7. План `docs/superpowers/plans/2026-05-17-deptrac-architecture-fitness-integration.md`.
|
||
|
||
- **v3.6 (2026-05-17)** — C9 project-management: R10.1 Блок 1 (`enabledPlugins`) +2 строки (**CCPM** `automazeio/ccpm` вендорен в `.claude/skills/ccpm/`, **product-management** `anthropics/knowledge-work-plugins` Anthropic Verified) + Блок 1 note про CCPM (vendored скил, аналог mermaid-skill). Новая категория **project-management** (Tooling #41-42, раздел C9 карты «Управление проектами») — 7-я off-phase подкатегория, не UI → вне R6.0/R6.1/R14. Содержательных изменений R0–R14: 0. Связано: Tooling v2.6, Pravila v1.20, CLAUDE.md v2.6. План `docs/superpowers/plans/2026-05-17-c9-project-management-tooling-integration.md`.
|
||
|
||
- **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 (commit 5df88a1), Tooling v2.0 (commit f65a8d7), 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 `6f7e7d7` sentry, `bd4ec48` redis), 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).
|
||
|
||
- **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`.
|
||
|
||
- **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 через `brainstorming` skill или просьбу «свободно/без вариантов» — снимает требование §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` (четвёртая инвокация в той же сессии).
|
||
- **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 встроенных патчей.
|