Skip to main content

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.

Aller à l'installation

Informations de source

Dépôt
SmidigStorm/bdd-ai-showcase
Dernière activité de la source
12 janvier 2026 à 07:26
Langue détectée de SKILL.md
anglais
Étoiles
0
Forks
0

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
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.
# Domain Knowledge Documentation ## Overview 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. ## CRITICAL: NO ASSUMPTIONS POLICY **This skill MUST trigger dialogue with users, NOT make assumptions about the domain.** AI has a strong tendency to: - Invent entity attributes when they're not specified - Make up relationships between entities - Fabricate process steps and business logic - Assume data types and validation rules - Create plausible but incorrect domain terminology **NEVER do any of the above.** Instead: - **ASK questions** about every entity attribute - **WAIT for answers** before documenting relationships - **DOCUMENT gaps** with `# TODO:` or `# QUESTION:` if user doesn't know - **VERIFY understanding** before creating documentation - **STOP immediately** when uncertain about ANY detail ### What to Always Ask - "What attributes does this entity have?" - "What's the data type of each attribute?" - "How does this entity relate to [other entity]?" - "What's the cardinality of this relationship?" (1:1, 1:N, N:M) - "What are the steps in this process?" - "Are there validation rules or constraints?" - "Can you provide a real example from your domain?" ## File Location and Organization ### Directory Structure Domain 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:** - **entities/** - One file per entity, plus `_overview.md` with master ERD - **processes/** - One file per process, plus `_overview.md` showing relationships - **glossary/** - One file per term/concept, plus `_overview.md` as index ### File Naming - Use **kebab-case** for filenames: `order-item.md`, `user-registration.md` - Use `_overview.md` for index/summary files in each subdirectory - Keep names concise and domain-specific ## Core Capabilities ### 1. Document Entities Capture domain entities - the core concepts and objects in the domain. **Entity documentation includes:** - **Name** - What the entity is called - **Description** - What it represents in the domain - **Attributes** - Properties and data the entity holds - **Constraints** - Business rules and validation - **Lifecycle** - States and transitions - **Relationships** - Connections to other entities **Template:** ```markdown # [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] ``` ### 3. Visualize with Mermaid Diagrams #### Entity Relationship Diagrams (ERD) ```markdown ## 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 Diagrams ```markdown ## 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]) \`\`\` ``` #### State Diagrams ```markdown ## 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 --> [*] \`\`\` ``` ### 4. Document Processes Capture business workflows and processes. **Process documentation includes:** - Process name and goal - Trigger (what starts it) - Actors (who participates) - Steps (what happens) - Decision points - Outcomes - Edge cases **Template:** ```markdown # [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] ``` ### 5. Document Ubiquitous Language Capture terms, definitions, and domain vocabulary. **Glossary documentation includes:** - Term name - Definition - Context/usage - Synonyms - Related terms - Examples **Template:** ```markdown # [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` ``` ## Discovery Workflow When documenting domain knowledge, follow these steps: 1. **Ask about existing documentation** - "Where do you currently document domain knowledge?" - "Do you have schema files, type definitions, or API docs?" 2. **Start with entities** - "What are the core entities in this domain?" - "Which entity should we document first?" - Document one entity completely before moving to the next 3. **Map relationships** - "How do these entities relate to each other?" - "What's the cardinality of this relationship?" 4. **Document processes** - "What business processes involve these entities?" - "Who are the actors in this process?" 5. **Build glossary** - "What terms does your team use?" - "Are there any ambiguous terms?" ## Best Practices 1. **Start small, grow organically** - Don't try to document everything at once 2. **Keep it current** - Update when domain understanding changes 3. **Use examples liberally** - Concrete examples make concepts clear 4. **Link everything** - Connect entities to processes to glossary 5. **Document uncertainties** - Use `# TODO:` and `# QUESTION:` markers
Voir sur GitHub