Files
portal/docs/registry/nodes.yaml
T
Дмитрий bb9b9849ee fix(registry): chain_membership alphabetic sort per code review (task 9)
6 узлов имели numeric sort (L7,L13) вместо alphabetic (L13,L7):
#10 Boost / #25 Semgrep / #34 Sentry / #35 Redis / #39 Trail of Bits / #43 deptrac.

Alphabetic порядок («L13» < «L7» char-by-char) — спецификация
этапа 1 (rendered tables дают стабильный output без числовых сюрпризов).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 19:50:37 +03:00

1501 lines
45 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
version: "0.1.0"
nodes:
- id: "#2"
name: "Playwright MCP"
slug: "playwright-mcp"
category: "phase-0"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "html prototype", weight: 1.0}
- {keyword: "screenshot", weight: 1.0}
- {keyword: "interaction smoke", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§2.4 #2"
- id: "#3"
name: "GitHub MCP"
slug: "github-mcp"
category: "phase-0"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "issues", weight: 1.0}
- {keyword: "pr", weight: 1.0}
- {keyword: "commits", weight: 1.0}
- {keyword: "открытые вопросы", weight: 1.0}
boundaries: []
chain_membership: ["L9"]
attributes:
tooling_section: "§2.4 #3"
- id: "#4"
name: "markdownlint-cli2"
slug: "markdownlint"
category: "phase-0"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "lint .md", weight: 1.0}
- {keyword: "markdown style", weight: 1.0}
- {keyword: "заголовки/таблицы", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§2.4 #4"
install: "npm run lint:md"
- id: "#5"
name: "cspell"
slug: "cspell"
category: "phase-0"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "орфография ru/en", weight: 1.0}
- {keyword: "кастомный словарь", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§2.4 #5"
install: "npm run spell"
- id: "#6"
name: "lychee"
slug: "lychee"
category: "phase-0"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "проверка ссылок .md", weight: 1.0}
- {keyword: "кросс-ссылки архива", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§2.4 #6"
install: "npm run links"
- id: "#7"
name: "Stylelint"
slug: "stylelint"
category: "phase-0"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "css lint", weight: 1.0}
- {keyword: "vue sfc style", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§2.4 #7"
install: "npm run lint:css"
- id: "#8"
name: "gitleaks"
slug: "gitleaks"
category: "phase-0"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "секреты в diff", weight: 1.0}
- {keyword: "pre-commit hook", weight: 1.0}
boundaries: []
chain_membership: ["L15"]
attributes:
tooling_section: "§2.4 #8"
- id: "#9"
name: "Pa11y"
slug: "pa11y"
category: "phase-0"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "a11y wcag 2.1 aa", weight: 1.0}
- {keyword: "прототипы", weight: 1.0}
- {keyword: "технический sot", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§2.4 #9"
install: "npm run a11y"
- id: "#10"
name: "Laravel Boost"
slug: "boost"
category: "phase-1"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "sql", weight: 1.0}
- {keyword: "eloquent", weight: 1.0}
- {keyword: "docs laravel", weight: 1.0}
- {keyword: "roster auto-detect", weight: 1.0}
boundaries:
- {pair: "#1", relation: "replaces"}
chain_membership: ["L13", "L7"]
attributes:
tooling_section: "§3.5 #10"
install: "composer require laravel/boost --dev"
- id: "#11"
name: "Laravel Pint"
slug: "pint"
category: "phase-1"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "php code style", weight: 1.0}
- {keyword: "форматтер", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§3.5 #11"
install: "composer pint"
- id: "#12"
name: "Larastan"
slug: "larastan"
category: "phase-1"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "статанализ php", weight: 1.0}
- {keyword: "типы", weight: 1.0}
boundaries: []
chain_membership: ["L14"]
attributes:
tooling_section: "§3.5 #12"
install: "composer stan"
- id: "#13"
name: "Roave/SecurityAdvisories"
slug: "roave-security"
category: "phase-1"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "cve на install", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§3.5 #13"
install: "composer install (автоматически)"
- id: "#14"
name: "Laravel IDE Helper"
slug: "ide-helper"
category: "phase-1"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "ide-stubs php", weight: 1.0}
- {keyword: "@mixin", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§3.5 #14"
install: "php artisan ide-helper:generate"
- id: "#15"
name: "squawk"
slug: "squawk"
category: "phase-1"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "линт миграций postgresql", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§3.5 #15"
- id: "#16"
name: "pgFormatter"
slug: "pg-formatter"
category: "phase-1"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "форматирование sql", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§3.5 #16"
- id: "#17"
name: "pg_partman"
slug: "pg-partman"
category: "phase-1"
subcategory: null
status: "dormant"
dormancy_reason: "native Windows PG не поддерживает расширение; заменён ручным cron'ом partitions:create-months"
triggers:
- {keyword: "партиционирование pg", weight: 1.0}
boundaries:
- {relation: "replaced by Artisan partitions:create-months (CLAUDE.md §6)"}
chain_membership: []
attributes:
tooling_section: "§3.5 #17"
- id: "#19"
name: "Superpowers v5.1.0"
slug: "superpowers"
category: "phase-2"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {classification: "feature", weight: 1.0}
- {classification: "planning", weight: 1.0}
- {classification: "bugfix", weight: 0.8}
- {classification: "refactor", weight: 0.8}
- {keyword: "tdd", weight: 1.0}
- {keyword: "brainstorm", weight: 1.0}
- {keyword: "debug", weight: 0.8}
boundaries:
- {adr: "ADR-011", role: "hard-floor source"}
- {pair: "#30", relation: "paired stack"}
chain_membership: []
attributes:
tooling_section: "§3.3 #19"
install: "marketplace plugin, enabled in ~/.claude/settings.json"
- id: "#18"
name: "Pest 4"
slug: "pest"
category: "phase-1"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {classification: "bugfix", weight: 1.0}
- {keyword: "test", weight: 1.0}
- {keyword: "тест", weight: 1.0}
- {file_pattern: "tests/**/*.php", weight: 1.0}
boundaries: []
chain_membership: ["L13"]
attributes:
tooling_section: "§3.2 #18"
install: "composer require pestphp/pest --dev"
- id: "#1"
name: "PostgreSQL MCP"
slug: "postgres-mcp"
category: "phase-0"
subcategory: null
status: "historic"
dormancy_reason: "Заменён #10 Laravel Boost в фазе 1 (08.05.2026)"
triggers: []
boundaries:
- {pair: "#10", relation: "replaced by"}
chain_membership: []
attributes:
tooling_section: "§3.1 #1 (historic)"
- id: "#20"
name: "Volar"
slug: "volar"
category: "phase-2"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "vue language server (vscode)", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§4.2 #20"
- id: "#21"
name: "vue-tsc"
slug: "vue-tsc"
category: "phase-2"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "type-check vue (ci only)", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§4.2 #21"
install: "npm i -D vue-tsc typescript"
- id: "#22"
name: "ESLint + Prettier + plugin-vue + config-prettier"
slug: "eslint-prettier"
category: "phase-2"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "lint js/vue", weight: 1.0}
- {keyword: "форматтер", weight: 1.0}
boundaries:
- {relation: "связка (R0.4)"}
chain_membership: []
attributes:
tooling_section: "§4.2 #22"
install: "npm i -D eslint prettier eslint-config-prettier eslint-plugin-vue"
- id: "#23"
name: "Vitest"
slug: "vitest"
category: "phase-2"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "тесты vue", weight: 1.0}
- {keyword: "unit/component", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§4.2 #23"
install: "npm i -D vitest @vue/test-utils @vitest/ui"
- id: "#24"
name: "Histoire"
slug: "histoire"
category: "phase-2"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "каталог компонентов", weight: 1.0}
- {keyword: "stories", weight: 1.0}
boundaries:
- {relation: "не storybook"}
chain_membership: []
attributes:
tooling_section: "§4.3 #24"
install: "npm i -D --legacy-peer-deps histoire @histoire/plugin-vue"
- id: "#25"
name: "Semgrep + Semgrep MCP"
slug: "semgrep"
category: "phase-3"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "sast", weight: 1.0}
- {keyword: "security static analysis", weight: 1.0}
boundaries:
- {relation: "связка binary+mcp"}
chain_membership: ["L15", "L6"]
attributes:
tooling_section: "§5.1 #25"
install: "npm run sast"
- id: "#26"
name: "Trivy"
slug: "trivy"
category: "phase-3"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "docker image scan", weight: 1.0}
- {keyword: "container vulnerabilities", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§5.1 #26"
- id: "#27"
name: "GitHub Dependabot"
slug: "dependabot"
category: "phase-3"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "cve pr auto", weight: 1.0}
- {keyword: "dependency updates", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§5.1 #27"
- id: "#28"
name: "pg_audit"
slug: "pg-audit"
category: "phase-3"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "audit logs postgresql", weight: 1.0}
- {keyword: "mutation tracking", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§5.1 #28"
- id: "#29"
name: "pg_anonymizer"
slug: "pg-anonymizer"
category: "phase-3"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "маскирование пдн в дампах", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§5.1 #29"
- id: "#30"
name: "Frontend Design plugin"
slug: "frontend-design"
category: "phase-2"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "ui компоненты", weight: 1.0}
- {keyword: "паттерны", weight: 1.0}
- {keyword: "состояния", weight: 1.0}
- {keyword: "a11y-принципы", weight: 1.0}
boundaries:
- {pair: "#19", relation: "paired stack"}
chain_membership: []
attributes:
tooling_section: "§4.4 #30"
install: "enabledPlugins.frontend-design@anthropics-claude-plugins в ~/.claude/settings.json"
- id: "#31"
name: "UI UX Pro Max"
slug: "ui-ux-pro-max"
category: "off-phase"
subcategory: "UI-pool"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "резерв ui", weight: 1.0}
- {keyword: "стили", weight: 1.0}
- {keyword: "палитры", weight: 1.0}
- {keyword: "графики", weight: 1.0}
- {keyword: "ux-гайдлайны", weight: 1.0}
boundaries:
- {relation: "PSR_v1 R14.3 pipeline"}
chain_membership: []
attributes:
tooling_section: "§4.5 #31"
- id: "#32"
name: "21st.dev Magic MCP"
slug: "21st-magic"
category: "off-phase"
subcategory: "UI-pool"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "генератор ui-шаблонов (llm-based)", weight: 1.0}
boundaries:
- {relation: "PSR_v1 R14.4 pipeline + Pa11y mandatory"}
chain_membership: []
attributes:
tooling_section: "§4.6 #32"
- id: "#33"
name: "claude-md-management"
slug: "claude-md-management"
category: "off-phase"
subcategory: "infrastructure"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "правки claude.md", weight: 1.0}
- {keyword: "обязательный канал", weight: 1.0}
boundaries:
- {relation: "CLAUDE.md §5 п.10 + PSR_v1 R10.1"}
chain_membership: ["L12"]
attributes:
tooling_section: "§4.7 #33"
install: "enabledPlugins.claude-md-management@claude-plugins-official в ~/.claude/settings.json"
- id: "#34"
name: "Sentry MCP"
slug: "sentry-mcp"
category: "off-phase"
subcategory: "debug-runtime"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "отладка production runtime errors", weight: 1.0}
boundaries: []
chain_membership: ["L13", "L8"]
attributes:
tooling_section: "§4.8 #34"
- id: "#35"
name: "Redis MCP"
slug: "redis-mcp"
category: "off-phase"
subcategory: "debug-runtime"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "отладка redis/memurai очередей", weight: 1.0}
- {keyword: "кэша", weight: 1.0}
- {keyword: "pest-race", weight: 1.0}
boundaries:
- {relation: "read-only"}
chain_membership: ["L13", "L8"]
attributes:
tooling_section: "§4.9 #35"
- id: "#36"
name: "adr-kit"
slug: "adr-kit"
category: "off-phase"
subcategory: "architecture-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "архитектурные решения", weight: 1.0}
- {keyword: "adr", weight: 1.0}
- {keyword: "enforcement", weight: 1.0}
boundaries:
- {relation: "adr-judge lefthook job 9"}
chain_membership: ["L4", "L5"]
attributes:
tooling_section: "§4.11 #36"
install: "claude plugin install adr-kit@rvdbreemen-adr-kit"
- id: "#37"
name: "mermaid-skill"
slug: "mermaid"
category: "off-phase"
subcategory: "architecture-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "c4", weight: 1.0}
- {keyword: "architecture-диаграммы", weight: 1.0}
boundaries: []
chain_membership: ["L4"]
attributes:
tooling_section: "§4.12 #37"
install: "vendored в .claude/skills/mermaid/"
- id: "#38"
name: "architecture-patterns"
slug: "architecture-patterns"
category: "off-phase"
subcategory: "architecture-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "справочник архитектурных паттернов", weight: 1.0}
boundaries: []
chain_membership: ["L5"]
attributes:
tooling_section: "§4.13 #38"
install: "claude plugin install architecture-patterns@claude-skills"
- id: "#39"
name: "Trail of Bits Skills"
slug: "trail-of-bits"
category: "off-phase"
subcategory: "audit-security"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "deep аудит безопасности", weight: 1.0}
- {keyword: "diff", weight: 1.0}
- {keyword: "supply-chain", weight: 1.0}
boundaries: []
chain_membership: ["L15", "L6"]
attributes:
tooling_section: "§4.14 #39"
install: "enabledPlugins subsets из trailofbits/skills"
- id: "#40"
name: "Security Guidance"
slug: "security-guidance"
category: "off-phase"
subcategory: "audit-security"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "inline-блокировка уязвимых паттернов", weight: 1.0}
boundaries:
- {relation: "блокирующий PreToolUse (sys.exit 2)"}
chain_membership: ["L6"]
attributes:
tooling_section: "§4.15 #40"
install: "claude plugin install security-guidance@claude-plugins-official"
- id: "#41"
name: "CCPM"
slug: "ccpm"
category: "off-phase"
subcategory: "project-management"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "prd эпик issue код", weight: 1.0}
- {keyword: "dev-проекты", weight: 1.0}
boundaries: []
chain_membership: ["L9"]
attributes:
tooling_section: "§4.16 #41"
install: "vendored в .claude/skills/ccpm/"
- id: "#42"
name: "product-management"
slug: "product-management"
category: "off-phase"
subcategory: "project-management"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "prd", weight: 1.0}
- {keyword: "роадмап", weight: 1.0}
- {keyword: "метрики", weight: 1.0}
- {keyword: "продуктовые церемонии", weight: 1.0}
boundaries: []
chain_membership: ["L9"]
attributes:
tooling_section: "§4.17 #42"
install: "claude plugin install product-management@knowledge-work-plugins"
- id: "#43"
name: "deptrac"
slug: "deptrac"
category: "off-phase"
subcategory: "architecture-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "направление зависимостей", weight: 1.0}
- {keyword: "границы слоёв", weight: 1.0}
boundaries:
- {relation: "lefthook job 10"}
chain_membership: ["L14", "L5"]
attributes:
tooling_section: "§4.18 #43"
install: "composer require --dev deptrac/deptrac"
- id: "#44"
name: "Figma MCP"
slug: "figma-mcp"
category: "off-phase"
subcategory: "design-tooling"
status: "deferred"
dormancy_reason: "нет Figma-аккаунта; дизайн-источник Лидерры — статический handoff Платона, не Figma-файл"
triggers:
- {keyword: "извлечение дизайн-токенов из figma", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§4.19 #44"
- id: "#45"
name: "Universal Icons MCP"
slug: "universal-icons-mcp"
category: "off-phase"
subcategory: "design-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "svg-иконки non-lucide коллекции", weight: 1.0}
boundaries:
- {adr: "ADR-006", role: "Lucide → lucide-vue-next; raw-SVG только для не-Lucide коллекций"}
chain_membership: []
attributes:
tooling_section: "§4.20 #45"
install: "npx -y mcp-universal-icons (в .mcp.json)"
- id: "#46"
name: "Design plugin"
slug: "design-plugin"
category: "off-phase"
subcategory: "design-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "дизайн-критика", weight: 1.0}
- {keyword: "ux-копирайт", weight: 1.0}
- {keyword: "research synthesis", weight: 1.0}
boundaries:
- {relation: "pre-code; Pa11y остаётся a11y SoT"}
chain_membership: []
attributes:
tooling_section: "§4.21 #46"
install: "claude plugin install design@knowledge-work-plugins"
- id: "#47"
name: "openapi-mcp-server"
slug: "openapi-mcp"
category: "off-phase"
subcategory: "integration-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "introspection openapi/rest-спек", weight: 1.0}
boundaries:
- {relation: "read-only"}
chain_membership: ["L7"]
attributes:
tooling_section: "§4.22 #47"
install: "npm install @ivotoby/openapi-mcp-server (в .mcp.json)"
- id: "#48"
name: "promptfoo"
slug: "promptfoo"
category: "off-phase"
subcategory: "ml-ai-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "тестирование llm-промптов", weight: 1.0}
- {keyword: "eval", weight: 1.0}
boundaries:
- {relation: "только вручную/CI, никогда в хук"}
chain_membership: ["L10"]
attributes:
tooling_section: "§4.23 #48"
install: "npm install --save-dev promptfoo"
- id: "#49"
name: "Data Scientist skill"
slug: "data-scientist"
category: "off-phase"
subcategory: "ml-ai-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "классический ml-воркфлоу", weight: 1.0}
boundaries: []
chain_membership: ["L10"]
attributes:
tooling_section: "§4.24 #49"
install: "vendored в .claude/skills/data-scientist/"
- id: "#50"
name: "Jupyter MCP"
slug: "jupyter-mcp"
category: "off-phase"
subcategory: "ml-ai-tooling"
status: "deferred"
dormancy_reason: "нет Python ML-окружения (pandas/scikit-learn/Jupyter) на native-Windows машине"
triggers:
- {keyword: "исполняемые jupyter-ноутбуки", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§4.25 #50"
- id: "#51"
name: "operations"
slug: "operations"
category: "off-phase"
subcategory: "business-process"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "документирование/оптимизация бизнес-процессов", weight: 1.0}
boundaries: []
chain_membership: ["L4"]
attributes:
tooling_section: "§4.26 #51"
install: "claude plugin install operations@knowledge-work-plugins"
- id: "#52"
name: "process-modeling"
slug: "process-modeling"
category: "off-phase"
subcategory: "business-process"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "моделирование to-be процесса", weight: 1.0}
- {keyword: "bpmn 2.0", weight: 1.0}
boundaries:
- {relation: "self-authored project skill"}
chain_membership: ["L3", "L4"]
attributes:
tooling_section: "§4.27 #52"
- id: "#53"
name: "process-analysis"
slug: "process-analysis"
category: "off-phase"
subcategory: "business-process"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "анализ as-is процесса", weight: 1.0}
- {keyword: "discovery из кода", weight: 1.0}
boundaries:
- {relation: "self-authored project skill; ADR-009 граница с #55"}
chain_membership: ["L3"]
attributes:
tooling_section: "§4.28 #53"
- id: "#54"
name: "n8n-mcp"
slug: "n8n-mcp"
category: "off-phase"
subcategory: "business-process"
status: "deferred"
dormancy_reason: "n8n не в стеке; движок процессов = очередь Laravel; принятие n8n — отдельное архитектурное решение"
triggers:
- {keyword: "workflow-движок автоматизации", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§4.29 #54"
- id: "#55"
name: "discovery-interview"
slug: "discovery-interview"
category: "off-phase"
subcategory: "discovery-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "интервью-discovery", weight: 1.0}
- {keyword: "jtbd", weight: 1.0}
- {keyword: "feature system режим", weight: 1.0}
boundaries:
- {adr: "ADR-009", role: "граница с #53 process-analysis: discovery-interview = интервью человека; process-analysis = discovery из кода"}
chain_membership: ["L1", "L2"]
attributes:
tooling_section: "§4.30 #55"
- id: "#56"
name: "skill-creator"
slug: "skill-creator"
category: "off-phase"
subcategory: "authoring-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "создание standalone-скилов", weight: 1.0}
- {keyword: "eval", weight: 1.0}
boundaries: []
chain_membership: ["L11"]
attributes:
tooling_section: "§4.31 #56"
- id: "#57"
name: "plugin-dev"
slug: "plugin-dev"
category: "off-phase"
subcategory: "authoring-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "разработка claude-плагинов", weight: 1.0}
boundaries: []
chain_membership: ["L11"]
attributes:
tooling_section: "§4.32 #57"
- id: "#58"
name: "hookify"
slug: "hookify"
category: "off-phase"
subcategory: "authoring-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "генерация хуков (только по явному /hookify)", weight: 1.0}
boundaries:
- {adr: "ADR-010", role: "HK1 pre-check коллизии с существующими хуками перед генерацией"}
chain_membership: ["L11"]
attributes:
tooling_section: "§4.33 #58"
- id: "#59"
name: "claude-code-setup"
slug: "claude-code-setup"
category: "off-phase"
subcategory: "dev-support"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "рекомендатель claude code automations (read-only)", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§4.34 #59"
- id: "#60"
name: "context7"
slug: "context7"
category: "off-phase"
subcategory: "dev-support"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "актуальная документация библиотек/sdk", weight: 1.0}
boundaries:
- {relation: "первый выбор для документации известной библиотеки; WebFetch — fallback на конкретный URL; WebSearch — без знания библиотеки"}
chain_membership: []
attributes:
tooling_section: "§4.35 #60"
- id: "#61"
name: "finance plugin"
slug: "finance-plugin"
category: "off-phase"
subcategory: "finance-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "сверка", weight: 1.0}
- {keyword: "variance-анализ", weight: 1.0}
- {keyword: "us-gaap-отчётность", weight: 1.0}
- {keyword: "проводки", weight: 1.0}
- {keyword: "close", weight: 1.0}
boundaries:
- {adr: "ADR-012", role: "граница C6/C7; US-GAAP-скилы частично применимы; SOX not-applicable РФ; warehouse-MCP DEFERRED"}
chain_membership: []
attributes:
tooling_section: "§4.36 #61"
install: "claude plugin install finance@knowledge-work-plugins"
- id: "#62"
name: "billing-audit"
slug: "billing-audit"
category: "off-phase"
subcategory: "finance-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "аудит списания", weight: 1.0}
- {keyword: "money-инварианты", weight: 1.0}
- {keyword: "идемпотентность", weight: 1.0}
- {keyword: "тариф-резолюция", weight: 1.0}
- {keyword: "дрейф reconcile", weight: 1.0}
boundaries:
- {adr: "ADR-012", role: "граница с process-*/D3/ru-tax; аудит кода биллинга, не налогов и не процесса"}
chain_membership: ["L13"]
attributes:
tooling_section: "§4.37 #62"
- id: "#63"
name: "ru-tax-accounting"
slug: "ru-tax-accounting"
category: "off-phase"
subcategory: "finance-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "рсбу", weight: 1.0}
- {keyword: "ндс/усн", weight: 1.0}
- {keyword: "налоговая база", weight: 1.0}
- {keyword: "налогооблагаемое событие", weight: 1.0}
- {keyword: "выгрузка бухгалтеру", weight: 1.0}
boundaries:
- {adr: "ADR-012", role: "закрывает РФ-gap US-GAAP-плагина #61; ≠ billing-audit #62 (корректность кода), ≠ D1/D2"}
chain_membership: ["L13"]
attributes:
tooling_section: "§4.38 #63"
- id: "#64"
name: "Rector"
slug: "rector"
category: "off-phase"
subcategory: "backend-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "авто-рефакторинг", weight: 1.0}
- {keyword: "version-upgrade laravel", weight: 1.0}
- {keyword: "удаление мёртвого кода", weight: 1.0}
boundaries:
- {adr: "ADR-013", role: "BT1 vs Pint (трансформация vs форматирование); BT2 vs Larastan (комплементарны); BT3 vs deptrac"}
chain_membership: ["L14"]
attributes:
tooling_section: "§4.39 #64"
install: "composer require rector/rector --dev"
- id: "#65"
name: "PHP Insights"
slug: "php-insights"
category: "off-phase"
subcategory: "backend-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "метрики качества/сложности/архитектуры php-кода", weight: 1.0}
boundaries:
- {adr: "ADR-013", role: "BT4 vs Pint/Larastan; уникум — оси complexity + architecture"}
chain_membership: ["L14"]
attributes:
tooling_section: "§4.40 #65"
install: "composer require nunomaduro/phpinsights --dev"
- id: "#66"
name: "laravel-backend-patterns"
slug: "laravel-backend-patterns"
category: "off-phase"
subcategory: "backend-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "как писать backend в лидерре", weight: 1.0}
- {keyword: "паттерн controller/service/job", weight: 1.0}
- {keyword: "rls", weight: 1.0}
- {keyword: "деньги", weight: 1.0}
boundaries:
- {adr: "ADR-013", role: "BT5 ≠ architecture-patterns #38 (generic vs проектные конвенции); BT6 ≠ billing-audit #62"}
chain_membership: []
attributes:
tooling_section: "§4.41 #66"
- id: "#67"
name: "NightOwl"
slug: "nightowl"
category: "off-phase"
subcategory: "backend-tooling"
status: "deferred"
dormancy_reason: "pending Б-1/Linux: native-Windows нет pcntl/posix; OSS без MCP; hosted 152-ФЗ риск"
triggers:
- {keyword: "коррелированный runtime-трейс request/job/query (self-hosted)", weight: 1.0}
boundaries:
- {adr: "ADR-013", role: "BT7 ≠ Sentry #34 (трейс vs ошибки); BT8 ≠ Pail/Boost (сквозной трейс vs tail/снапшот)"}
chain_membership: []
attributes:
tooling_section: "§4.42 #67"
- id: "#68"
name: "OWASP ZAP"
slug: "owasp-zap"
category: "off-phase"
subcategory: "infosec-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "глубокая боевая dast", weight: 1.0}
- {keyword: "обход входа", weight: 1.0}
- {keyword: "инъекции", weight: 1.0}
- {keyword: "xss", weight: 1.0}
boundaries:
- {adr: "ADR-014", role: "IS1 ≠ Semgrep #25 (динамика vs статика); IS2 ≠ Nuclei #69 (глубина vs широта)"}
chain_membership: ["L15"]
attributes:
tooling_section: "§4.43 #68"
- id: "#69"
name: "Nuclei"
slug: "nuclei"
category: "off-phase"
subcategory: "infosec-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "известные уязвимости/экспозиция/слабый tls снаружи", weight: 1.0}
boundaries:
- {adr: "ADR-014", role: "IS2 ≠ ZAP #68 (широта vs глубина — комплементарны)"}
chain_membership: ["L15"]
attributes:
tooling_section: "§4.44 #69"
- id: "#70"
name: "Ward"
slug: "ward"
category: "off-phase"
subcategory: "infosec-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "безопасность настроек laravel", weight: 1.0}
- {keyword: ".env/config/заголовки/cookie/secrets/deps", weight: 1.0}
boundaries:
- {adr: "ADR-014", role: "IS3 ≠ Larastan #12/Semgrep #25; заменил Enlightn (abandoned/L13)"}
chain_membership: ["L15"]
attributes:
tooling_section: "§4.45 #70"
- id: "#71"
name: "pdn-152fz-audit"
slug: "pdn-152fz-audit"
category: "off-phase"
subcategory: "infosec-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "аудит пдн / соответствие 152-фз", weight: 1.0}
boundaries:
- {adr: "ADR-014", role: "IS4 ≠ pg_anonymizer #29 (аудит vs инструмент маскирования); IS5 ≠ D2 (техника vs юридическое оформление)"}
chain_membership: ["L15"]
attributes:
tooling_section: "§4.46 #71"
- id: "#72"
name: "threat-model"
slug: "threat-model"
category: "off-phase"
subcategory: "infosec-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "stride угрозы портала", weight: 1.0}
- {keyword: "going-public", weight: 1.0}
- {keyword: "что защищать первым", weight: 1.0}
boundaries:
- {adr: "ADR-014", role: "IS6 ≠ Trail of Bits #39 (портал+STRIDE+going-public vs generic deep code-audit)"}
chain_membership: ["L15"]
attributes:
tooling_section: "§4.47 #72"
- id: "#73"
name: "security-go-live"
slug: "security-go-live"
category: "off-phase"
subcategory: "infosec-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "прогон безопасности перед релизом", weight: 1.0}
- {keyword: "go/no-go", weight: 1.0}
boundaries:
- {adr: "ADR-014", role: "IS7 ≠ audit-portal (только безопасность + go-live-вердикт vs полный 14-фазный аудит)"}
chain_membership: ["L15"]
attributes:
tooling_section: "§4.48 #73"
- id: "#74"
name: "marketing"
slug: "marketing-plugin"
category: "off-phase"
subcategory: "marketing-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "маркетинговый контент", weight: 1.0}
- {keyword: "кампания", weight: 1.0}
- {keyword: "seo-аудит", weight: 1.0}
- {keyword: "email-цепочка", weight: 1.0}
- {keyword: "конкурент-бриф", weight: 1.0}
- {keyword: "performance-report", weight: 1.0}
boundaries:
- {adr: "ADR-015", role: "MKT1 vs C2/C3; MKT2 vs product-management #42; MKT3 vs marketingskills #75 (решатель, не материал)"}
chain_membership: ["L16"]
attributes:
tooling_section: "§4.49 #74"
install: "claude plugin install marketing@knowledge-work-plugins"
- id: "#75"
name: "marketingskills"
slug: "marketingskills"
category: "off-phase"
subcategory: "marketing-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "фреймворки cro", weight: 1.0}
- {keyword: "копирайтинг", weight: 1.0}
- {keyword: "programmatic-seo", weight: 1.0}
- {keyword: "ad-creative", weight: 1.0}
- {keyword: "cold-email", weight: 1.0}
- {keyword: "lead-magnets", weight: 1.0}
- {keyword: "pricing", weight: 1.0}
- {keyword: "marketing-psychology", weight: 1.0}
boundaries:
- {adr: "ADR-015", role: "MKT3 — материал/резерв-библиотека, не решатель; решатель = marketing #74"}
chain_membership: []
attributes:
tooling_section: "§4.50 #75"
- id: "#76"
name: "brand-voice"
slug: "brand-voice"
category: "off-phase"
subcategory: "marketing-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "тон бренда", weight: 1.0}
- {keyword: "голос бренда", weight: 1.0}
- {keyword: "brand guidelines для текстов", weight: 1.0}
- {keyword: "тон копирайта", weight: 1.0}
boundaries:
- {adr: "ADR-015", role: "MKT6 — вербальный бренд vs Brandbook v2 визуальный бренд; взаимодополняют"}
chain_membership: []
attributes:
tooling_section: "§4.51 #76"
- id: "#77"
name: "marketing-ru"
slug: "marketing-ru"
category: "off-phase"
subcategory: "marketing-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "яндекс.директ", weight: 1.0}
- {keyword: "яндекс.метрика", weight: 1.0}
- {keyword: "vk", weight: 1.0}
- {keyword: "telegram как каналы", weight: 1.0}
- {keyword: "конверсия лендинга лидерры", weight: 1.0}
- {keyword: "маркетинг 152-фз согласия на рассылки", weight: 1.0}
boundaries:
- {adr: "ADR-015", role: "MKT9 — 152-ФЗ cross-ref #71; закрывает РФ-специфику маркетинга"}
chain_membership: ["L16"]
attributes:
tooling_section: "§4.52 #77"
- id: "#78"
name: "Яндекс.Метрика MCP"
slug: "yandex-metrika-mcp"
category: "off-phase"
subcategory: "marketing-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "веб-аналитика лендинга", weight: 1.0}
- {keyword: "визиты", weight: 1.0}
- {keyword: "источники трафика", weight: 1.0}
- {keyword: "гео", weight: 1.0}
- {keyword: "демография", weight: 1.0}
- {keyword: "поведение", weight: 1.0}
boundaries:
- {adr: "ADR-015", role: "MKT8 READ-ONLY; активация при живом лендинге (Б-1)"}
chain_membership: ["L16"]
attributes:
tooling_section: "§4.53 #78"
- id: "#79"
name: "Яндекс.Директ+Wordstat MCP"
slug: "yandex-wordstat-mcp"
category: "off-phase"
subcategory: "marketing-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "подбор ключевых слов wordstat", weight: 1.0}
- {keyword: "частотность запросов рф", weight: 1.0}
boundaries:
- {adr: "ADR-015", role: "MKT8 — Direct-мутации НЕ активированы; только Wordstat-модуль (5 read-only tools)"}
chain_membership: ["L16"]
attributes:
tooling_section: "§4.54 #79"
- id: "#80"
name: "Telegram MCP"
slug: "telegram-mcp"
category: "off-phase"
subcategory: "marketing-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "постинг в telegram-канал", weight: 1.0}
- {keyword: "управление", weight: 1.0}
- {keyword: "получение аналитики канала", weight: 1.0}
boundaries:
- {adr: "ADR-015", role: "MKT8 — SESSION_STRING только .env; выделенный аккаунт"}
chain_membership: ["L16"]
attributes:
tooling_section: "§4.55 #80"
- id: "#81"
name: "Postiz"
slug: "postiz"
category: "off-phase"
subcategory: "marketing-tooling"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "планирование и публикация в 30+ соцсетей включая vk и telegram", weight: 1.0}
- {keyword: "контент-календарь", weight: 1.0}
boundaries:
- {adr: "ADR-015", role: "MKT7 AGPL self-host без дистрибуции; покрывает VK-постинг"}
chain_membership: ["L16"]
attributes:
tooling_section: "§4.56 #81"
- id: "#82"
name: "DataForSEO MCP"
slug: "dataforseo-mcp"
category: "off-phase"
subcategory: "marketing-tooling"
status: "deferred"
dormancy_reason: "post-Б-1: требует платного аккаунта DataForSEO"
triggers:
- {keyword: "serp-позиции", weight: 1.0}
- {keyword: "ключевые слова", weight: 1.0}
- {keyword: "бэклинки", weight: 1.0}
- {keyword: "данные рф-выдачи", weight: 1.0}
boundaries:
- {adr: "ADR-015", role: "комплементарен Wordstat #79; даёт SERP + бэклинки + широкую аналитику"}
chain_membership: []
attributes:
tooling_section: "§4.57 #82"
- id: "#83"
name: "Unisender Go MCP"
slug: "unisender-go-mcp"
category: "off-phase"
subcategory: "marketing-tooling"
status: "deferred"
dormancy_reason: "нет готового upstream MCP; своя обёртка по потребности массовых рассылок"
triggers:
- {keyword: "массовые email-рассылки через unisender go api", weight: 1.0}
boundaries:
- {adr: "ADR-015", role: "MKT5 — транзакционный email (продуктовый код) vs маркетинговые рассылки; 152-ФЗ согласия cross-ref #77/#71"}
chain_membership: []
attributes:
tooling_section: "§4.58 #83"
chains:
L1:
name: "feature discovery & implementation chain"
sequence:
- "#55"
- "superpowers:brainstorming"
- "superpowers:writing-plans"
- "superpowers:subagent-driven-development"
triggers:
- {classification: "feature"}
- {classification: "planning"}
L2:
name: "system orientation chain"
sequence:
- "#55"
- "audit-portal"
L3:
name: "as-is ↔ to-be process chain"
sequence:
- "#53"
- "#52"
L4:
name: "diagram rendering chain"
sequence:
- "#36"
- "#37"
- "#51"
- "#52"
L5:
name: "architecture triangle chain"
sequence:
- "#36"
- "#38"
- "#43"
L6:
name: "security layered chain"
sequence:
- "#40"
- "#25"
- "#39"
- "/security-review"
L7:
name: "integration development chain"
sequence:
- "#47"
- "api-docs"
- "#10"
L8:
name: "runtime debug chain"
sequence:
- "superpowers:systematic-debugging"
- "#34"
- "#35"
triggers:
- {classification: "bugfix"}
- {keyword: "runtime bug"}
L9:
name: "project management chain"
sequence:
- "#41"
- "#42"
- "#3"
L10:
name: "LLM feature chain"
sequence:
- "#48"
- "#49"
- "claude-api"
L11:
name: "Claude infra extension chain"
sequence:
- "#56"
- "#58"
- "#57"
L12:
name: "CLAUDE.md capture chain"
sequence:
- "#33"
- "claude-md-management:revise-claude-md"
L13:
name: "finance chain"
sequence:
- "#62"
- "#18"
- "#10"
- "#34"
- "#35"
- "#63"
L14:
name: "backend-quality chain"
sequence:
- "#64"
- "#65"
- "#12"
- "#43"
L15:
name: "security go-live chain"
sequence:
- "#73"
- "#8"
- "#25"
- "#70"
- "#39"
- "#71"
- "#72"
- "#69"
- "#68"
L16:
name: "marketing chain"
sequence:
- "superpowers:brainstorming"
- "#74"
- "#77"
- "#78"
- "#79"
- "#80"
- "#81"