feat(registry): токенизация needs/produces — группа knowledge-work (этап 2b, роутер-реестр)
Phase 2b группа A: 43 контракта (product-management/design/marketing/ operations/finance/brand-voice) переведены с прозы на токены словаря. Словарь +67, всего 106 токенов, v0.4.0. Достроены мостовые цепочки графа: - user-research -> research-synthesis / synthesize-research (raw-research) - content-creation -> draft-content -> brand-review (content-framework/marketing-draft) - journal-entry-prep -> close-management (close-entries) - write-spec -> (feature-spec, кормит writing-plans) - design-handoff <- ui-design (от frontend-design, цепочка в группе tools) Тест: новый замок-тест группы (43 контракта проходят словарь + рёбра). Регрессия 4369 passed, exit 0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"version": "0.3.0",
|
||||
"version": "0.4.0",
|
||||
"tokens": [
|
||||
{
|
||||
"token": "running-portal",
|
||||
@@ -234,6 +234,408 @@
|
||||
"category": "given",
|
||||
"label": "намерение создать/править навык",
|
||||
"description": "Намерение создать или править навык. Вход superpowers:writing-skills."
|
||||
},
|
||||
{
|
||||
"token": "competitive-brief",
|
||||
"category": "produced",
|
||||
"label": "конкурентный бриф (продукт)",
|
||||
"description": "Позиционирование/gap/угрозы по конкурентам. Выход product-management:competitive-brief."
|
||||
},
|
||||
{
|
||||
"token": "metrics-scorecard",
|
||||
"category": "produced",
|
||||
"label": "разбор метрик + scorecard",
|
||||
"description": "Тренды/scorecard/рекомендации по продуктовым метрикам. Выход product-management:metrics-review."
|
||||
},
|
||||
{
|
||||
"token": "product-directions",
|
||||
"category": "produced",
|
||||
"label": "проработанные продукт-идеи",
|
||||
"description": "Идеи и направления продукта (sparring-partner). Выход product-management:product-brainstorming."
|
||||
},
|
||||
{
|
||||
"token": "updated-roadmap",
|
||||
"category": "produced",
|
||||
"label": "обновлённый роадмап",
|
||||
"description": "Now/Next/Later роадмап. Выход product-management:roadmap-update."
|
||||
},
|
||||
{
|
||||
"token": "sprint-plan",
|
||||
"category": "produced",
|
||||
"label": "план спринта",
|
||||
"description": "Scope/оценки/цели/P0-vs-stretch. Выход product-management:sprint-planning."
|
||||
},
|
||||
{
|
||||
"token": "stakeholder-update",
|
||||
"category": "produced",
|
||||
"label": "апдейт стейкхолдерам",
|
||||
"description": "Апдейт под аудиторию (exec/eng/customer). Выход product-management:stakeholder-update."
|
||||
},
|
||||
{
|
||||
"token": "research-insights",
|
||||
"category": "produced",
|
||||
"label": "инсайты исследования",
|
||||
"description": "Структурированные инсайты/темы/рекомендации из сырого research. Выход synthesize-research / research-synthesis."
|
||||
},
|
||||
{
|
||||
"token": "a11y-audit",
|
||||
"category": "produced",
|
||||
"label": "аудит доступности",
|
||||
"description": "WCAG 2.1 AA аудит дизайна/страницы. Выход design-plugin:accessibility-review."
|
||||
},
|
||||
{
|
||||
"token": "design-critique",
|
||||
"category": "produced",
|
||||
"label": "дизайн-критика",
|
||||
"description": "Критика usability/иерархии/консистентности макета. Выход design-plugin:design-critique."
|
||||
},
|
||||
{
|
||||
"token": "handoff-spec",
|
||||
"category": "produced",
|
||||
"label": "спека хэндоффа",
|
||||
"description": "Токены/props/состояния/breakpoints/edge-cases для разработки. Выход design-plugin:design-handoff."
|
||||
},
|
||||
{
|
||||
"token": "design-system-output",
|
||||
"category": "produced",
|
||||
"label": "аудит/док/паттерн дизайн-системы",
|
||||
"description": "Аудит консистентности / документация / новый паттерн. Выход design-plugin:design-system."
|
||||
},
|
||||
{
|
||||
"token": "ux-copy",
|
||||
"category": "produced",
|
||||
"label": "UX-копирайт",
|
||||
"description": "Microcopy/ошибки/пустые состояния/CTA. Выход design-plugin:ux-copy."
|
||||
},
|
||||
{
|
||||
"token": "brand-review-flags",
|
||||
"category": "produced",
|
||||
"label": "ревью бренд-контента",
|
||||
"description": "Флаги по severity + before/after-фиксы. Выход marketing-plugin:brand-review."
|
||||
},
|
||||
{
|
||||
"token": "campaign-brief",
|
||||
"category": "produced",
|
||||
"label": "бриф кампании",
|
||||
"description": "Цели/аудитория/каналы/контент-календарь/метрики. Выход marketing-plugin:campaign-plan."
|
||||
},
|
||||
{
|
||||
"token": "marketing-competitive-brief",
|
||||
"category": "produced",
|
||||
"label": "конкурентный бриф (маркетинг)",
|
||||
"description": "Позиционирование/messaging-гэпы/угрозы/battlecards. Выход marketing-plugin:competitive-brief."
|
||||
},
|
||||
{
|
||||
"token": "email-sequence",
|
||||
"category": "produced",
|
||||
"label": "email-цепочка",
|
||||
"description": "Multi-email: ветвление/timing/бенчмарки. Выход marketing-plugin:email-sequence."
|
||||
},
|
||||
{
|
||||
"token": "marketing-performance-report",
|
||||
"category": "produced",
|
||||
"label": "маркетинг-отчёт",
|
||||
"description": "Тренды/инсайты/рекомендации оптимизации. Выход marketing-plugin:performance-report."
|
||||
},
|
||||
{
|
||||
"token": "seo-audit",
|
||||
"category": "produced",
|
||||
"label": "SEO-аудит",
|
||||
"description": "Keyword/тех-секция/контент-гэпы. Выход marketing-plugin:seo-audit."
|
||||
},
|
||||
{
|
||||
"token": "capacity-forecast",
|
||||
"category": "produced",
|
||||
"label": "прогноз ёмкости",
|
||||
"description": "Прогноз utilization + hire/deprioritize. Выход operations:capacity-plan."
|
||||
},
|
||||
{
|
||||
"token": "change-request",
|
||||
"category": "produced",
|
||||
"label": "change request",
|
||||
"description": "Impact-анализ + rollback-план. Выход operations:change-request."
|
||||
},
|
||||
{
|
||||
"token": "compliance-tracking",
|
||||
"category": "produced",
|
||||
"label": "трекинг комплаенса",
|
||||
"description": "Audit-readiness (SOC2/ISO/GDPR). Выход operations:compliance-tracking."
|
||||
},
|
||||
{
|
||||
"token": "process-documentation",
|
||||
"category": "produced",
|
||||
"label": "документация процесса",
|
||||
"description": "Structured process documentation. Выход operations:process-doc."
|
||||
},
|
||||
{
|
||||
"token": "process-optimization",
|
||||
"category": "produced",
|
||||
"label": "оптимизация процесса",
|
||||
"description": "Устранение узких мест/лишних шагов. Выход operations:process-optimization."
|
||||
},
|
||||
{
|
||||
"token": "risk-register",
|
||||
"category": "produced",
|
||||
"label": "risk register",
|
||||
"description": "Идентификация/оценка/митигация рисков. Выход operations:risk-assessment."
|
||||
},
|
||||
{
|
||||
"token": "runbook",
|
||||
"category": "produced",
|
||||
"label": "runbook",
|
||||
"description": "Пошаговые команды/troubleshooting/rollback/эскалация. Выход operations:runbook."
|
||||
},
|
||||
{
|
||||
"token": "status-report",
|
||||
"category": "produced",
|
||||
"label": "статус-отчёт",
|
||||
"description": "KPI/риски/action items (green/yellow/red). Выход operations:status-report."
|
||||
},
|
||||
{
|
||||
"token": "vendor-assessment",
|
||||
"category": "produced",
|
||||
"label": "оценка вендора",
|
||||
"description": "TCO/риски/рекомендация. Выход operations:vendor-review."
|
||||
},
|
||||
{
|
||||
"token": "audit-workpapers",
|
||||
"category": "produced",
|
||||
"label": "SOX workpapers",
|
||||
"description": "Workpapers/sample/классификация deficiency. Выход finance-plugin:audit-support."
|
||||
},
|
||||
{
|
||||
"token": "close-calendar",
|
||||
"category": "produced",
|
||||
"label": "календарь close",
|
||||
"description": "Sequencing/dependencies/статус month-end. Выход finance-plugin:close-management."
|
||||
},
|
||||
{
|
||||
"token": "financial-statements",
|
||||
"category": "produced",
|
||||
"label": "финансовая отчётность",
|
||||
"description": "P&L/balance sheet/cash flow + variance. Выход finance-plugin:financial-statements."
|
||||
},
|
||||
{
|
||||
"token": "journal-entry",
|
||||
"category": "produced",
|
||||
"label": "проводка с обоснованием",
|
||||
"description": "Journal entry с обоснованием для аудита. Выход finance-plugin:journal-entry."
|
||||
},
|
||||
{
|
||||
"token": "reconciliation-result",
|
||||
"category": "produced",
|
||||
"label": "рекконсиляция",
|
||||
"description": "Сверка + категоризация reconciling items. Выход finance-plugin:reconciliation."
|
||||
},
|
||||
{
|
||||
"token": "sox-testing-result",
|
||||
"category": "produced",
|
||||
"label": "SOX-тестирование",
|
||||
"description": "Sample/workpaper/оценка deficiency. Выход finance-plugin:sox-testing."
|
||||
},
|
||||
{
|
||||
"token": "variance-analysis",
|
||||
"category": "produced",
|
||||
"label": "разбор variance",
|
||||
"description": "Декомпозиция драйверов + waterfall + narrative. Выход finance-plugin:variance-analysis."
|
||||
},
|
||||
{
|
||||
"token": "brand-aligned-content",
|
||||
"category": "produced",
|
||||
"label": "контент по голосу бренда",
|
||||
"description": "Контент, выровненный по brand-гайдам. Выход brand-voice:brand-voice-enforcement."
|
||||
},
|
||||
{
|
||||
"token": "brand-discovery-report",
|
||||
"category": "produced",
|
||||
"label": "discovery-отчёт бренда",
|
||||
"description": "Найденные brand-материалы по платформам. Выход brand-voice:discover-brand."
|
||||
},
|
||||
{
|
||||
"token": "brand-guidelines",
|
||||
"category": "produced",
|
||||
"label": "brand voice guidelines",
|
||||
"description": "Гайдлайны голоса бренда из материалов. Выход brand-voice:guideline-generation."
|
||||
},
|
||||
{
|
||||
"token": "competitor-input",
|
||||
"category": "given",
|
||||
"label": "конкурент(ы) для анализа",
|
||||
"description": "Конкурент(ы)/область для анализа. Вход competitive-brief."
|
||||
},
|
||||
{
|
||||
"token": "product-metrics",
|
||||
"category": "given",
|
||||
"label": "продуктовые метрики",
|
||||
"description": "Набор продуктовых метрик для анализа. Вход product-management:metrics-review."
|
||||
},
|
||||
{
|
||||
"token": "product-problem",
|
||||
"category": "given",
|
||||
"label": "продуктовая проблема",
|
||||
"description": "Проблема/возможность для проработки. Вход product-management:product-brainstorming."
|
||||
},
|
||||
{
|
||||
"token": "priority-change",
|
||||
"category": "given",
|
||||
"label": "изменение приоритетов",
|
||||
"description": "Изменение приоритетов/новая инициатива. Вход product-management:roadmap-update."
|
||||
},
|
||||
{
|
||||
"token": "backlog-and-capacity",
|
||||
"category": "given",
|
||||
"label": "бэклог + ёмкость",
|
||||
"description": "Бэклог + ёмкость команды на спринт. Вход product-management:sprint-planning."
|
||||
},
|
||||
{
|
||||
"token": "progress-input",
|
||||
"category": "given",
|
||||
"label": "прогресс для коммуникации",
|
||||
"description": "Прогресс для стейкхолдеров. Вход product-management:stakeholder-update."
|
||||
},
|
||||
{
|
||||
"token": "design-or-page",
|
||||
"category": "given",
|
||||
"label": "дизайн/страница",
|
||||
"description": "Дизайн/макет/страница для аудита/критики. Вход accessibility-review / design-critique."
|
||||
},
|
||||
{
|
||||
"token": "design-system-input",
|
||||
"category": "given",
|
||||
"label": "дизайн-система",
|
||||
"description": "Дизайн-система для аудита/документации/расширения. Вход design-plugin:design-system."
|
||||
},
|
||||
{
|
||||
"token": "ui-element-for-copy",
|
||||
"category": "given",
|
||||
"label": "элемент интерфейса под текст",
|
||||
"description": "Элемент UI, требующий текста. Вход design-plugin:ux-copy."
|
||||
},
|
||||
{
|
||||
"token": "marketing-goal",
|
||||
"category": "given",
|
||||
"label": "маркетинговая цель",
|
||||
"description": "Цель (запуск/лидген/awareness). Вход marketing-plugin:campaign-plan."
|
||||
},
|
||||
{
|
||||
"token": "email-goal",
|
||||
"category": "given",
|
||||
"label": "цель email-последовательности",
|
||||
"description": "Цель email-цепочки. Вход marketing-plugin:email-sequence."
|
||||
},
|
||||
{
|
||||
"token": "marketing-metrics",
|
||||
"category": "given",
|
||||
"label": "маркетинговые метрики",
|
||||
"description": "Метрики для отчёта. Вход marketing-plugin:performance-report."
|
||||
},
|
||||
{
|
||||
"token": "site-for-seo",
|
||||
"category": "given",
|
||||
"label": "сайт/контент для SEO",
|
||||
"description": "Сайт/контент для SEO-аудита. Вход marketing-plugin:seo-audit."
|
||||
},
|
||||
{
|
||||
"token": "workload-input",
|
||||
"category": "given",
|
||||
"label": "workload/ресурсы",
|
||||
"description": "Workload/ресурсы для анализа ёмкости. Вход operations:capacity-plan."
|
||||
},
|
||||
{
|
||||
"token": "proposed-change",
|
||||
"category": "given",
|
||||
"label": "предлагаемое изменение",
|
||||
"description": "Изменение системы/процесса. Вход operations:change-request."
|
||||
},
|
||||
{
|
||||
"token": "compliance-requirement",
|
||||
"category": "given",
|
||||
"label": "требование комплаенса",
|
||||
"description": "Требование комплаенса для отслеживания. Вход operations:compliance-tracking."
|
||||
},
|
||||
{
|
||||
"token": "as-is-process",
|
||||
"category": "given",
|
||||
"label": "as-is процесс (описание)",
|
||||
"description": "As-is process description. Вход operations:process-doc."
|
||||
},
|
||||
{
|
||||
"token": "inefficient-process",
|
||||
"category": "given",
|
||||
"label": "неэффективный процесс",
|
||||
"description": "Процесс для улучшения. Вход operations:process-optimization."
|
||||
},
|
||||
{
|
||||
"token": "risk-target",
|
||||
"category": "given",
|
||||
"label": "объект оценки рисков",
|
||||
"description": "Проект/вендор/процесс для оценки рисков. Вход operations:risk-assessment."
|
||||
},
|
||||
{
|
||||
"token": "operational-task",
|
||||
"category": "given",
|
||||
"label": "повторяемая операция",
|
||||
"description": "Операционная задача для runbook. Вход operations:runbook."
|
||||
},
|
||||
{
|
||||
"token": "project-data",
|
||||
"category": "given",
|
||||
"label": "данные проекта",
|
||||
"description": "Данные для статус-отчёта. Вход operations:status-report."
|
||||
},
|
||||
{
|
||||
"token": "vendor-input",
|
||||
"category": "given",
|
||||
"label": "вендор для оценки",
|
||||
"description": "Вендор для оценки. Вход operations:vendor-review."
|
||||
},
|
||||
{
|
||||
"token": "sox-control",
|
||||
"category": "given",
|
||||
"label": "SOX-контроль",
|
||||
"description": "Контроль для SOX-404 тестирования. Вход audit-support / sox-testing."
|
||||
},
|
||||
{
|
||||
"token": "financial-data",
|
||||
"category": "given",
|
||||
"label": "данные для отчётности",
|
||||
"description": "Данные для финансовой отчётности. Вход finance-plugin:financial-statements."
|
||||
},
|
||||
{
|
||||
"token": "transaction-for-entry",
|
||||
"category": "given",
|
||||
"label": "операция для проводки",
|
||||
"description": "Операция для проводки (debits/credits). Вход finance-plugin:journal-entry."
|
||||
},
|
||||
{
|
||||
"token": "gl-vs-subledger",
|
||||
"category": "given",
|
||||
"label": "GL vs subledger/bank",
|
||||
"description": "GL-баланс vs subledger/bank для сверки. Вход finance-plugin:reconciliation."
|
||||
},
|
||||
{
|
||||
"token": "financial-variance",
|
||||
"category": "given",
|
||||
"label": "финансовые variance",
|
||||
"description": "Финансовые variance для разбора. Вход finance-plugin:variance-analysis."
|
||||
},
|
||||
{
|
||||
"token": "content-for-brand",
|
||||
"category": "given",
|
||||
"label": "контент для brand-гайдов",
|
||||
"description": "Контент для применения brand-гайдов. Вход brand-voice:brand-voice-enforcement."
|
||||
},
|
||||
{
|
||||
"token": "brand-discovery-need",
|
||||
"category": "given",
|
||||
"label": "нужно найти brand-материалы",
|
||||
"description": "Потребность найти разрозненные brand-материалы. Вход brand-voice:discover-brand."
|
||||
},
|
||||
{
|
||||
"token": "brand-source-materials",
|
||||
"category": "given",
|
||||
"label": "исходные brand-материалы",
|
||||
"description": "Docs/transcripts/recordings. Вход brand-voice:guideline-generation."
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "brand-voice:brand-voice-enforcement",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"контент для применения brand-гайдов"
|
||||
"content-for-brand"
|
||||
],
|
||||
"produces": [
|
||||
"контент, выровненный по голосу бренда (email/pitch/LinkedIn/Slack/proposal)"
|
||||
"brand-aligned-content"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика brand-voice (вербальный бренд)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "brand-voice:discover-brand",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"потребность найти разрозненные brand-материалы"
|
||||
"brand-discovery-need"
|
||||
],
|
||||
"produces": [
|
||||
"discovery-отчёт: найденные материалы (Notion/Confluence/Drive/Box/Figma/Gong/Slack)"
|
||||
"brand-discovery-report"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика brand-voice (вербальный бренд)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "brand-voice:guideline-generation",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"исходные материалы (docs/transcripts/recordings)"
|
||||
"brand-source-materials"
|
||||
],
|
||||
"produces": [
|
||||
"brand voice guidelines из материалов"
|
||||
"brand-guidelines"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика brand-voice (вербальный бренд)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "design-plugin:accessibility-review",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"дизайн/страница для аудита доступности"
|
||||
"design-or-page"
|
||||
],
|
||||
"produces": [
|
||||
"WCAG 2.1 AA аудит: контраст, клавиатура, тач-таргеты, screen reader"
|
||||
"a11y-audit"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика design-plugin (дизайн до кода)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "design-plugin:design-critique",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"макет/экран для структурной обратной связи"
|
||||
"design-or-page"
|
||||
],
|
||||
"produces": [
|
||||
"критика: usability, иерархия, консистентность"
|
||||
"design-critique"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика design-plugin (дизайн до кода)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "design-plugin:design-handoff",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"готовый дизайн для передачи в разработку"
|
||||
"ui-design"
|
||||
],
|
||||
"produces": [
|
||||
"спека хэндоффа: токены, props, состояния, breakpoints, edge-cases"
|
||||
"handoff-spec"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика design-plugin (дизайн до кода)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "design-plugin:design-system",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"дизайн-система для аудита/документации/расширения"
|
||||
"design-system-input"
|
||||
],
|
||||
"produces": [
|
||||
"аудит консистентности / документация компонента / новый паттерн"
|
||||
"design-system-output"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика design-plugin (дизайн до кода)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "design-plugin:research-synthesis",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"сырой research (интервью/тесты/тикеты/NPS)"
|
||||
"raw-research"
|
||||
],
|
||||
"produces": [
|
||||
"темы, инсайты, сегменты, приоритеты"
|
||||
"research-insights"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика design-plugin (дизайн до кода)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "design-plugin:user-research",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"потребность понять пользователей"
|
||||
"user-understanding-need"
|
||||
],
|
||||
"produces": [
|
||||
"план/гайд интервью, юзабилити-тест, опрос"
|
||||
"raw-research"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика design-plugin (дизайн до кода)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "design-plugin:ux-copy",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"элемент интерфейса, требующий текста"
|
||||
"ui-element-for-copy"
|
||||
],
|
||||
"produces": [
|
||||
"UX-копирайт: microcopy, ошибки, пустые состояния, CTA"
|
||||
"ux-copy"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика design-plugin (дизайн до кода)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "finance-plugin:audit-support",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"SOX-404 контроль для тестирования"
|
||||
"sox-control"
|
||||
],
|
||||
"produces": [
|
||||
"workpapers, sample selection, классификация deficiency"
|
||||
"audit-workpapers"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика finance (US-GAAP финансы)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "finance-plugin:close-management",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"процесс month-end close для управления"
|
||||
"close-entries"
|
||||
],
|
||||
"produces": [
|
||||
"close-календарь: sequencing, dependencies, статус"
|
||||
"close-calendar"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика finance (US-GAAP финансы)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "finance-plugin:financial-statements",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"данные для финансовой отчётности"
|
||||
"financial-data"
|
||||
],
|
||||
"produces": [
|
||||
"P&L, balance sheet, cash flow + variance vs budget"
|
||||
"financial-statements"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика finance (US-GAAP финансы)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "finance-plugin:journal-entry-prep",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"накопления/prepaid/амортизация для month-end"
|
||||
"close-source-data"
|
||||
],
|
||||
"produces": [
|
||||
"подготовленные проводки close (accruals/prepaid/depreciation/payroll)"
|
||||
"close-entries"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика finance (US-GAAP финансы)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "finance-plugin:journal-entry",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"операция для проводки (debits/credits)"
|
||||
"transaction-for-entry"
|
||||
],
|
||||
"produces": [
|
||||
"journal entry с обоснованием для аудита"
|
||||
"journal-entry"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика finance (US-GAAP финансы)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "finance-plugin:reconciliation",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"GL-баланс vs subledger/bank для сверки"
|
||||
"gl-vs-subledger"
|
||||
],
|
||||
"produces": [
|
||||
"рекконсиляция + категоризация reconciling items"
|
||||
"reconciliation-result"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика finance (US-GAAP финансы)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "finance-plugin:sox-testing",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"контроль для SOX-404 тестирования (US)"
|
||||
"sox-control"
|
||||
],
|
||||
"produces": [
|
||||
"sample, workpaper, оценка deficiency"
|
||||
"sox-testing-result"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика finance (US-GAAP финансы)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "finance-plugin:variance-analysis",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"финансовые variance для разбора"
|
||||
"financial-variance"
|
||||
],
|
||||
"produces": [
|
||||
"декомпозиция драйверов + waterfall + narrative"
|
||||
"variance-analysis"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика finance (US-GAAP финансы)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "marketing-plugin:brand-review",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"контент для проверки против голоса/гайда бренда"
|
||||
"marketing-draft"
|
||||
],
|
||||
"produces": [
|
||||
"ревью с флагами по severity + before/after-фиксы"
|
||||
"brand-review-flags"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика marketing (первичный resolver C1)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "marketing-plugin:campaign-plan",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"маркетинговая цель (запуск/лидген/awareness)"
|
||||
"marketing-goal"
|
||||
],
|
||||
"produces": [
|
||||
"бриф кампании: цели, аудитория, каналы, контент-календарь, метрики"
|
||||
"campaign-brief"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика marketing (первичный resolver C1)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "marketing-plugin:competitive-brief",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"конкурент(ы) для маркетингового анализа"
|
||||
"competitor-input"
|
||||
],
|
||||
"produces": [
|
||||
"позиционирование, messaging-гэпы, угрозы, battlecards"
|
||||
"marketing-competitive-brief"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика marketing (первичный resolver C1)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "marketing-plugin:content-creation",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"маркетинговая контент-задача (blog/social/email/landing/PR/case)"
|
||||
"marketing-content-task"
|
||||
],
|
||||
"produces": [
|
||||
"фреймворки и шаблоны контента под канал"
|
||||
"content-framework"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика marketing (первичный resolver C1)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "marketing-plugin:draft-content",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"готовность драфтить маркетинг-контент"
|
||||
"content-framework"
|
||||
],
|
||||
"produces": [
|
||||
"драфт с кросс-платформенным форматированием"
|
||||
"marketing-draft"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика marketing (первичный resolver C1)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "marketing-plugin:email-sequence",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"цель email-последовательности"
|
||||
"email-goal"
|
||||
],
|
||||
"produces": [
|
||||
"multi-email цепочка: ветвление, timing, бенчмарки"
|
||||
"email-sequence"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика marketing (первичный resolver C1)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "marketing-plugin:performance-report",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"маркетинговые метрики для отчёта"
|
||||
"marketing-metrics"
|
||||
],
|
||||
"produces": [
|
||||
"отчёт: тренды, инсайты, рекомендации оптимизации"
|
||||
"marketing-performance-report"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика marketing (первичный resolver C1)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "marketing-plugin:seo-audit",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"сайт/контент для SEO-аудита"
|
||||
"site-for-seo"
|
||||
],
|
||||
"produces": [
|
||||
"SEO-аудит: keyword, тех-секция, контент-гэпы"
|
||||
"seo-audit"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика marketing (первичный resolver C1)",
|
||||
|
||||
@@ -1,12 +1,28 @@
|
||||
{
|
||||
"skill": "operations:process-doc",
|
||||
"kind": "external",
|
||||
"needs": ["as-is process description"],
|
||||
"produces": ["structured process documentation"],
|
||||
"constraints": ["marketplace skill — outputs doc only"],
|
||||
"needs": [
|
||||
"as-is-process"
|
||||
],
|
||||
"produces": [
|
||||
"process-documentation"
|
||||
],
|
||||
"constraints": [
|
||||
"marketplace skill — outputs doc only"
|
||||
],
|
||||
"preview-form": "none",
|
||||
"defaults": ["follow operations plugin process-doc template"],
|
||||
"key-decisions": ["scope of the process being documented"],
|
||||
"acceptance-criteria": ["doc covers all process steps and owners"],
|
||||
"source": { "version": "1.2.0", "hash": "0000000000000000000000000000000000000000000000000000000000000000", "path": "" }
|
||||
"defaults": [
|
||||
"follow operations plugin process-doc template"
|
||||
],
|
||||
"key-decisions": [
|
||||
"scope of the process being documented"
|
||||
],
|
||||
"acceptance-criteria": [
|
||||
"doc covers all process steps and owners"
|
||||
],
|
||||
"source": {
|
||||
"version": "1.2.0",
|
||||
"hash": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": ""
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "operations:capacity-plan",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"workload/ресурсы для анализа ёмкости"
|
||||
"workload-input"
|
||||
],
|
||||
"produces": [
|
||||
"прогноз utilization + рекомендации hire/deprioritize"
|
||||
"capacity-forecast"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика operations (бизнес-процессы)"
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "operations:change-request",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"предлагаемое изменение системы/процесса"
|
||||
"proposed-change"
|
||||
],
|
||||
"produces": [
|
||||
"change request: impact-анализ + rollback-план"
|
||||
"change-request"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика operations (бизнес-процессы)"
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "operations:compliance-tracking",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"требование комплаенса для отслеживания"
|
||||
"compliance-requirement"
|
||||
],
|
||||
"produces": [
|
||||
"трекинг комплаенса + audit-readiness (SOC2/ISO/GDPR)"
|
||||
"compliance-tracking"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика operations (бизнес-процессы)"
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "operations:process-optimization",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"неэффективный процесс для улучшения"
|
||||
"inefficient-process"
|
||||
],
|
||||
"produces": [
|
||||
"оптимизация: устранение узких мест/лишних шагов"
|
||||
"process-optimization"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика operations (бизнес-процессы)"
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "operations:risk-assessment",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"проект/вендор/процесс для оценки рисков"
|
||||
"risk-target"
|
||||
],
|
||||
"produces": [
|
||||
"risk register: идентификация, оценка, митигация"
|
||||
"risk-register"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика operations (бизнес-процессы)"
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "operations:runbook",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"повторяемая операционная задача"
|
||||
"operational-task"
|
||||
],
|
||||
"produces": [
|
||||
"runbook: пошаговые команды, troubleshooting, rollback, эскалация"
|
||||
"runbook"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика operations (бизнес-процессы)"
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "operations:status-report",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"данные проекта для статус-отчёта"
|
||||
"project-data"
|
||||
],
|
||||
"produces": [
|
||||
"статус: KPI, риски, action items (green/yellow/red)"
|
||||
"status-report"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика operations (бизнес-процессы)"
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "operations:vendor-review",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"вендор для оценки"
|
||||
"vendor-input"
|
||||
],
|
||||
"produces": [
|
||||
"оценка вендора: TCO, риски, рекомендация"
|
||||
"vendor-assessment"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика operations (бизнес-процессы)"
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "product-management:competitive-brief",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"конкурент(ы)/область для анализа"
|
||||
"competitor-input"
|
||||
],
|
||||
"produces": [
|
||||
"конкурентный бриф: позиционирование, gap, угрозы"
|
||||
"competitive-brief"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика product-management (продуктовые церемонии)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "product-management:metrics-review",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"набор продуктовых метрик для анализа"
|
||||
"product-metrics"
|
||||
],
|
||||
"produces": [
|
||||
"разбор трендов + scorecard + рекомендации"
|
||||
"metrics-scorecard"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика product-management (продуктовые церемонии)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "product-management:product-brainstorming",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"продуктовая проблема/возможность для проработки"
|
||||
"product-problem"
|
||||
],
|
||||
"produces": [
|
||||
"проработанные идеи и направления (sparring-partner)"
|
||||
"product-directions"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика product-management (продуктовые церемонии)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "product-management:roadmap-update",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"изменение приоритетов/новая инициатива"
|
||||
"priority-change"
|
||||
],
|
||||
"produces": [
|
||||
"обновлённый роадмап (Now/Next/Later)"
|
||||
"updated-roadmap"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика product-management (продуктовые церемонии)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "product-management:sprint-planning",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"бэклог + ёмкость команды на спринт"
|
||||
"backlog-and-capacity"
|
||||
],
|
||||
"produces": [
|
||||
"план спринта: scope, оценки, цели, P0 vs stretch"
|
||||
"sprint-plan"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика product-management (продуктовые церемонии)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "product-management:stakeholder-update",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"прогресс для коммуникации стейкхолдерам"
|
||||
"progress-input"
|
||||
],
|
||||
"produces": [
|
||||
"апдейт под аудиторию (exec/eng/customer)"
|
||||
"stakeholder-update"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика product-management (продуктовые церемонии)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "product-management:synthesize-research",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"сырые интервью/опросы/тикеты"
|
||||
"raw-research"
|
||||
],
|
||||
"produces": [
|
||||
"структурированные инсайты + темы + рекомендации"
|
||||
"research-insights"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика product-management (продуктовые церемонии)",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"skill": "product-management:write-spec",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"проблема/идея фичи для оформления в спеку/PRD"
|
||||
"feature-intent"
|
||||
],
|
||||
"produces": [
|
||||
"функциональная спецификация с goals/non-goals/метриками"
|
||||
"feature-spec"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика product-management (продуктовые церемонии)",
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
import { describe, it, expect } from 'vitest';
|
||||
import { readFileSync, readdirSync } from 'node:fs';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
import { dirname, join } from 'node:path';
|
||||
import { buildRegistry } from './skill-contract-registry.mjs';
|
||||
import { loadVocabulary } from './capability-vocabulary.mjs';
|
||||
import { buildDependencyGraph } from './coverage-machine.mjs';
|
||||
|
||||
const here = dirname(fileURLToPath(import.meta.url));
|
||||
const cdir = join(here, '..', 'docs', 'registry', 'contracts');
|
||||
const vocabPath = join(here, '..', 'docs', 'registry', 'capability-vocabulary.json');
|
||||
|
||||
const PREFIXES = ['product-management__', 'design-plugin__', 'marketing-plugin__', 'operations__', 'finance-plugin__', 'brand-voice__'];
|
||||
const FILES = readdirSync(cdir).filter((f) =>
|
||||
f.endsWith('.contract.json') && (PREFIXES.some((p) => f.startsWith(p)) || f === 'operations-process-doc.contract.json'));
|
||||
const entries = FILES.map((f) => ({ contract: JSON.parse(readFileSync(join(cdir, f), 'utf8')), currentContent: '' }));
|
||||
|
||||
describe('Phase 2b группа knowledge-work — замок словаря + мостовые рёбра', () => {
|
||||
const { tokens } = loadVocabulary({ path: vocabPath });
|
||||
|
||||
it('все knowledge-work контракты проходят замок словаря', () => {
|
||||
expect(FILES.length).toBe(43);
|
||||
const { contracts, errors } = buildRegistry(entries, { vocabTokens: tokens });
|
||||
expect(errors).toEqual([]);
|
||||
expect(contracts.length).toBe(43);
|
||||
});
|
||||
|
||||
it('мостовые рёбра рабочих цепочек сформированы', () => {
|
||||
const { contracts } = buildRegistry(entries, { vocabTokens: tokens });
|
||||
const { edges } = buildDependencyGraph(contracts);
|
||||
const has = (from, to) => edges.some((e) => e.from === from && e.to === to);
|
||||
expect(has('marketing-plugin:content-creation', 'marketing-plugin:draft-content')).toBe(true); // content-framework
|
||||
expect(has('marketing-plugin:draft-content', 'marketing-plugin:brand-review')).toBe(true); // marketing-draft
|
||||
expect(has('finance-plugin:journal-entry-prep', 'finance-plugin:close-management')).toBe(true); // close-entries
|
||||
expect(has('design-plugin:user-research', 'design-plugin:research-synthesis')).toBe(true); // raw-research
|
||||
expect(has('design-plugin:user-research', 'product-management:synthesize-research')).toBe(true); // raw-research
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user