domain-model-first

Guide developers through a domain-model-first workflow with TypeScript examples for TDD/DDD practices.

81|3|Updated Jan 14, 2026
One-click install
npx skills add https://github.com/j5ik2o/okite-ai --skill domain-model-first
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: domain-model-first
Source: https://github.com/j5ik2o/okite-ai/tree/main/.agent/skills/domain-model-first
Command: npx skills add https://github.com/j5ik2o/okite-ai --skill domain-model-first

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

ドメインモデル中心の開発手順を体系化し、ビジネスルールを純粋なドメイン設計として推進する際のガイドを提供します。テストファーストの視点でドメインモデルを設計・実装し、インメモリリポジトリ→ユースケース→インフラの順で開発を進める方法を解説します。

Core Features & Use Cases

  • ドメインモデルの設計・実装を中心としたワークフローの提供
  • テスト駆動開発を用いた値オブジェクト・エンティティ・集約の設計指針
  • ユースケースの実装パターンとリポジトリの組み合わせ例
  • ディスカッションや実例を通じてDDDの実践を学ぶ

Quick Start

Domain-model-first development workflow: define the initial domain model, write a minimal test, and implement an in-memory repository to begin the flow.

Frequently Asked Questions about domain-model-first

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I start domain-driven design with a test-first workflow in TypeScript?

Domain-driven design with a test-first workflow starts by defining the initial domain model, writing a minimal test, and implementing an in-memory repository to validate business rules before infrastructure.

What is the correct layered progression for building domain models and use cases?

The layered progression for building domain models moves from domain entities and value objects to in-memory repositories, then to use cases, and finally to infrastructure implementation.

How do I design aggregates and value objects using TDD?

Designing aggregates and value objects using TDD involves writing tests for business rules first, then implementing pure domain entities that satisfy those tests without external dependencies.

When should I use in-memory repositories during domain modeling?

Use in-memory repositories during domain modeling to test use cases and business logic in isolation, deferring database and infrastructure concerns until the domain model is stable.

Does domain-model-first development require any specific frameworks or dependencies?

Domain-model-first development requires no external frameworks or dependencies, relying on pure TypeScript code to express domain entities, value objects, and aggregates.

Why does my domain model get tangled with infrastructure code during TDD?

Domain models get tangled with infrastructure when repositories are implemented against real databases early; using in-memory repositories first keeps domain logic pure and testable.