원클릭으로
domain-knowledge
Document domain knowledge including entities, attributes, relationships, processes, and ubiquitous language. Use when documenting domain models, entity relationships, business processes, or building a glossary of domain terms.
메뉴
Document domain knowledge including entities, attributes, relationships, processes, and ubiquitous language. Use when documenting domain models, entity relationships, business processes, or building a glossary of domain terms.
PM Airtable data model reference. Use when creating tables, querying structure, or understanding relationships between Domain, Subdomain, Capability, Entity, Requirement, and BacklogItem tables.
Architecture Decision Records (ADRs) for documenting technical decisions. Use when creating, updating, or reviewing architecture decisions. Triggers on discussions about technical choices, trade-offs, or "why did we choose X" questions.
Interactive implementation planning from backlog items. Use when creating plans for features, fixes, or tasks. Guides 6-phase collaborative dialogue from discovery through documentation.
BDD requirements using Gherkin syntax. Activates when users describe features, requirements, user stories, acceptance criteria, or work with .feature files. Generates Given-When-Then scenarios, validates Gherkin structure, and creates complete feature files.
| name | domain-knowledge |
| description | Document domain knowledge including entities, attributes, relationships, processes, and ubiquitous language. Use when documenting domain models, entity relationships, business processes, or building a glossary of domain terms. |
This skill helps document domain knowledge systematically. It captures entities, relationships, processes, and terminology to create a shared understanding of the domain.
Purpose: Build a comprehensive domain model that serves as the foundation for requirements, implementation, and team communication.
This skill MUST trigger dialogue with users, NOT make assumptions about the domain.
AI has a strong tendency to:
NEVER do any of the above. Instead:
# TODO: or # QUESTION: if user doesn't knowDomain knowledge is organized in docs/domains/[domain-name]/[subdomain-name]/ with subdirectories for each type:
docs/domains/
└── [domain-name]/
└── [subdomain-name]/
├── entities/
│ ├── _overview.md (Master ERD with all entities)
│ ├── customer.md (Individual entity file)
│ └── order.md
├── processes/
│ ├── _overview.md (Process relationships and flow)
│ ├── checkout.md (Individual process file)
│ └── fulfillment.md
└── glossary/
├── _overview.md (Alphabetical index of all terms)
├── sku.md (Individual term file)
└── backorder.md
File organization:
_overview.md with master ERD_overview.md showing relationships_overview.md as indexorder-item.md, user-registration.md_overview.md for index/summary files in each subdirectoryCapture domain entities - the core concepts and objects in the domain.
Entity documentation includes:
Template:
# [Entity Name]
**Description**: [What this entity represents]
## Attributes
| Attribute | Type | Required | Description |
|-----------|------|----------|-------------|
| id | string | Yes | Unique identifier |
| name | string | Yes | ... |
## Relationships
- **has-many** [Other Entity] - Description
- **belongs-to** [Other Entity] - Description
## Lifecycle
- Created when: [trigger/event]
- Status transitions: [state changes]
- Deleted when: [condition]
## Business Rules
- [Rule 1]
- [Rule 2]
## Example
```json
{
"id": "123",
"name": "Example"
}
### 2. Document Relationships
Capture how entities connect and interact.
**Relationship types:**
- **One-to-One** (1:1) - Each A has exactly one B
- **One-to-Many** (1:N) - Each A has many B
- **Many-to-Many** (N:M) - Many A relate to many B
- **Composition** - Part-of relationships (strong ownership)
- **Aggregation** - Has-a relationships (weak ownership)
**Template:**
```markdown
## [Entity A] → [Entity B]
**Type**: one-to-many | many-to-many | one-to-one
**Description**: [What this relationship means]
**Cardinality**:
- [Entity A]: 0..1 | 1 | 0..* | 1..*
- [Entity B]: 0..1 | 1 | 0..* | 1..*
**Constraints**:
- [Business rules for this relationship]
## Entity Relationship Diagram
\`\`\`mermaid
erDiagram
Customer ||--o{ Order : "places"
Order ||--|{ OrderItem : "contains"
Product ||--o{ OrderItem : "included in"
Customer {
string id PK
string name
string email
}
Order {
string id PK
string customer_id FK
date order_date
string status
}
\`\`\`
Relationship notation:
||--|| : One-to-one||--o{ : One-to-many}o--o{ : Many-to-many## Process Flow
\`\`\`mermaid
flowchart TD
Start([Customer initiates checkout])
Start --> Validate{Cart valid?}
Validate -->|No| Error[Show error]
Validate -->|Yes| Payment[Process payment]
Payment --> Confirm[Send confirmation]
Confirm --> End([Complete])
\`\`\`
## Order Lifecycle
\`\`\`mermaid
stateDiagram-v2
[*] --> Pending : Order placed
Pending --> Confirmed : Payment received
Confirmed --> Shipped : Items dispatched
Shipped --> Delivered : Customer receives
Delivered --> [*]
Pending --> Cancelled : Customer cancels
Cancelled --> [*]
\`\`\`
Capture business workflows and processes.
Process documentation includes:
Template:
# [Process Name]
**Goal**: [What this process achieves]
**Trigger**: [What starts this process]
## Actors
- [Actor 1] - [Their role]
- [Actor 2] - [Their role]
## Steps
1. **[Step name]**
- Who: [Actor]
- What: [Action]
- Input: [Required data/state]
- Output: [Result/state change]
2. **[Decision point]**
- If [condition]: Go to step X
- Else: Go to step Y
## Outcomes
- Success: [What happens]
- Failure: [What happens]
## Business Rules
- [Rule 1]
- [Rule 2]
## Edge Cases
- [Case 1]: [How it's handled]
Capture terms, definitions, and domain vocabulary.
Glossary documentation includes:
Template:
# [Term]
**Definition**: [Clear, concise definition]
**Context**: [When/where this term is used]
**Synonyms**: [Alternative terms]
**Related terms**: [Connected concepts]
**Example**:
> [Usage in context]
**Technical mapping**:
- Database: `table_name.column_name`
- Code: `ClassName` or `functionName`
When documenting domain knowledge, follow these steps:
Ask about existing documentation
Start with entities
Map relationships
Document processes
Build glossary
# TODO: and # QUESTION: markers