domain-modeling
Создание точных доменных моделей с помощью активного словаря
Программные проекты страдают, когда команды используют несогласованную терминологию или теряют из виду, почему были приняты те или иные решения. Этот навык помогает вам активно строить и оттачивать вашу доменную модель, ставя под сомнение термины, придумывая граничные случаи и фиксируя решения в CONTEXT.md и ADR.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «domain-modeling». Пользователь говорит: «Когда клиент отменяет свой заказ, нам нужно вернуть оплату».
Ожидаемый результат:
Ответ: «Ваш глоссарий определяет «отмену» как завершение заказа до его выполнения, но возврат средств — это концепция биллинга. Вы отменяете заказ и инициируете событие возврата в Billing, или сама отмена является операцией биллинга? Давайте определимся, какому контексту это принадлежит.»
Использование «domain-modeling». Пользователь решает использовать PostgreSQL для модели записи в системе с event sourcing.
Ожидаемый результат:
Ответ: «Это подходит для ADR — трудно обратимо (выбор базы данных), неочевидно без контекста (почему Postgres, а не event store?), реальный компромисс (рассматривались альтернативы). Создаю ADR-0003-postgres-for-write-model.md сейчас.»
Аудит безопасности
БезопасноThis skill contains only markdown documentation describing domain modeling practices, CONTEXT.md format, and ADR format. Static analysis flagged false positives: backtick matches are markdown inline code formatting, not shell execution; cryptographic matches are coincidental word fragments in documentation; system reconnaissance flags refer to file path references in examples, not actual filesystem access. No executable code, scripts, network calls, or malicious patterns were found.
Факторы риска
📁 Доступ к файловой системе (3)
Оценка качества
Что вы можете построить
Начало новой доменной модели
Используйте в начале нового проекта для формирования первоначального словаря и документирования ключевых архитектурных решений до написания кода.
Разрешение терминологических конфликтов
Используйте во время командных обсуждений, когда разные участники команды используют разные слова для одного и того же понятия и необходима ясность.
Документирование архитектурных решений
Используйте при принятии значимых технологических решений, которые будущим разработчикам нужно будет понять, таких как выбор базы данных или паттерны интеграции.
Попробуйте эти промпты
Помоги мне построить доменную модель для этого проекта. Начни с чтения CONTEXT.md (если он существует), а затем активно ставь под сомнение любую терминологию, которую я использую, пока мы обсуждаем дизайн.
Я только что использовал термин «account» в нашем обсуждении. Проверь CONTEXT.md и скажи, конфликтует ли это с нашим определённым словарём, затем предложи точный термин, который мы должны использовать.
Мы только что определили связь между Order и Invoice. Придумай 3 сценария граничных случаев, которые проверяют границу между этими двумя понятиями и заставят нас быть точными.
Мы только что решили использовать event sourcing для модели записи. Проверь, соответствует ли это всем трём критериям ADR (трудно обратимо, неочевидно без контекста, реальный компромисс). Если да, создай ADR в формате из ADR-FORMAT.md.
Лучшие практики
- Создавайте CONTEXT.md и ADR лениво — только когда есть что-то значимое для записи
- Оспаривайте каждый неоднозначный термин немедленно, а не позволяйте путанице накапливаться
- Держите определения в CONTEXT.md в одном-двух предложениях, сосредоточенных на том, чем ЯВЛЯЕТСЯ термин
- Пишите ADR только для решений, которые трудно обратить, неочевидны без контекста или связаны с реальными компромиссами
Избегать
- Рассматривать CONTEXT.md как спецификацию или черновик для деталей реализации
- Писать ADR для очевидных решений, у которых нет реальных альтернатив
- Добавлять в глоссарий общие концепции программирования (таймауты, типы ошибок)
- Накапливать обновления терминологии вместо того, чтобы фиксировать их по ходу разрешения