← Back to list

domain-modeling
by jasonkuhrt
Tool configurations
⭐ 1🍴 0📅 Jan 22, 2026
SKILL.md
name: domain-modeling description: Creates structured domain documentation with anatomy diagrams, entity schemas, and operation specs. Use when designing systems, after brainstorming, or documenting existing architecture.
Domain Modeling
Structured documentation for system design. TypeScript-first schemas.
Process
- Identify entities - Nouns in the domain (things with identity/state)
- Identify operations - Verbs (actions that transform state)
- Map relationships - How entities connect (1:1, 1:n)
- Define schemas - TypeScript interfaces for each entity
- Specify operations - Params interface + step-by-step behavior
Document Structure
## Anatomy
### Diagram ← Relationship overview (ASCII boxes + cardinality)
### Entities ← Name | Description table
### Operations ← Name | Description table
### Other Terms ← Identifiers, enums, value types (optional)
## Entities
### <EntityName>
#### Schema ← TypeScript interface
#### Data ← Known instances (optional)
## Operations
### <operationName> ← Params interface + numbered steps
Anatomy Section
Diagram
ASCII boxes with relationship cardinality.
┌─────────┐ 1:n ┌─────────┐
│ <EntityA> │─────▶│ <EntityB> │
└─────────┘ └─────────┘
Conventions:
1:n= one-to-many1:1= one-to-one- Arrow direction = ownership/containment
Entities Table
| Name | Description |
|---|---|
| EntityName | One-line description of what it represents. |
Operations Table
| Name | Description |
|---|---|
operationName | One-line description of what it does. |
Other Terms (optional)
For identifiers, enums, types that don't warrant full entity treatment:
| Name | Description |
|---|---|
| TermName | Brief definition. |
Entities Section
One subsection per entity.
Entity Template
Schema
interface EntityName {
/** Property description. */
propertyName: PropertyType
}
Data (optional)
When entity has known/enumerable instances:
const instances: EntityName[] = [
{/* ... */},
]
Operations Section
One subsection per operation. Params interface + numbered behavior steps.
Operation Template
interface Params {
/** Param description. */
paramName: ParamType
}
- First step
- Second step
- Sub-detail if needed
- Return result
Discriminated Unions
When an entity has variants:
type EntityName =
| EntityNameVariantA
| EntityNameVariantB
interface EntityNameVariantA {
kind: 'a'
/* variant-specific props */
}
Output Location
docs/design/<domain>-design.md or docs/plans/YYYY-MM-DD-<topic>-design.md
Score
Total Score
55/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
✓最近の活動
1ヶ月以内に更新
+10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
✓タグ
1つ以上のタグが設定されている
+5
Reviews
💬
Reviews coming soon



