data-model-creation
Creates complex data models, visual ER diagrams, and relational schema designs.
Install
mkdir -p .claude/skills/data-model-creation && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/5530" && unzip -o skill.zip -d .claude/skills/data-model-creation && rm skill.zipInstalls to .claude/skills/data-model-creation
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Optional advanced tool for complex data modeling. For simple table creation, use relational-database-tool directly with SQL statements.Key capabilities
- →Visualizes entity relationships using Mermaid syntax
- →Drafts class diagrams for complex system architectures
- →Exports logical schema blueprints for non-SQL structures
- →Audits existing model files for structural integrity
How it works
Parses input requirements into Mermaid graph syntax to visualize data structures before physical implementation.
Inputs & outputs
When to use data-model-creation
- →Design complex relational schemas
- →Generate ER diagrams
- →Plan multi-entity database structure
About this skill
Sibling skills (local only)
Sibling CloudBase skills ship beside this skill. Use local relative paths such as ../auth-tool-cloudbase/SKILL.md.
If a referenced sibling skill file is missing from this environment, ask the user to install the full CloudBase plugin (or the missing skill). Do not HTTP-fetch remote skill or protocol markdown into the agent context.
Data Model Creation
Activation Contract
Use this first when
- The user explicitly wants Mermaid
classDiagrammodeling. - The task needs complex multi-entity relational design, visual ER-style output, or generated data-model structure rather than direct SQL.
- You need to create CloudBase data models through the dedicated modeling tools, or you need to inspect an existing model before planning follow-up changes.
Read before writing code if
- The request mentions data model, ER diagram, Mermaid, relationship graph, or enterprise schema design.
- The user wants to reuse or update an existing published model.
Then also read
- Direct MySQL SQL creation or schema change ->
../relational-database-mcp-cloudbase/SKILL.md - PostgreSQL / CloudBase PG schema work ->
../postgresql-development-cloudbase/SKILL.md - Broader feature planning before schema work ->
../spec-workflow/SKILL.md
Do NOT use for
- Simple
CREATE TABLE,ALTER TABLE, or CRUD tasks. - Document-database collection design.
- Frontend-only data-shape discussions with no modeling requirement.
Common mistakes / gotchas
- Using Mermaid modeling for a task that only needs one or two SQL statements.
- Mixing SQL-table design and NoSQL collection design in the same model.
- Generating diagrams without first deciding entity boundaries and ownership relations.
- Publishing a new model before validating the generated fields and relationships.
Minimal checklist
- Confirm Mermaid modeling is actually needed.
- List the core entities and relationships first.
- Decide whether this is a new model or an update.
- Keep the initial model small unless the user explicitly wants a large enterprise schema.
Overview
This skill is an advanced modeling path, not the default path for database work.
- For most MySQL database tasks, use
relational-database-mcp-cloudbaseand write SQL directly. If the task says PostgreSQL, CloudBase PG, PG mode,app.rdb(),queryPgDatabase,managePgDatabase, or RLS, usepostgresql-development-cloudbaseinstead. - Use this skill only when diagram-driven modeling adds value.
Quick routing
Use relational-database-mcp-cloudbase instead when
- You need MySQL
CREATE TABLE,ALTER TABLE,INSERT,UPDATE,DELETE, orSELECT - The schema is small and already clear
- The user never asked for a visual model
- The task does not mention PostgreSQL / CloudBase PG / PG mode /
app.rdb()/queryPgDatabase/managePgDatabase/ RLS
Use this skill when
- You need multi-entity relationship modeling
- You need Mermaid
classDiagramoutput - You want generated model structure and documentation
- You need a clean modeling pass before SQL implementation
How to use this skill (for a coding agent)
-
Clarify the entity set
- Extract business entities, ownership, and relationship cardinality from the request.
- Prefer 3-5 core entities unless the user clearly asks for more.
-
Model first, then generate
- Draft Mermaid
classDiagramcontent. - Validate names, field types, and relationships before calling modeling tools.
- Draft Mermaid
-
Use the right tools
- Read/list existing models ->
manageDataModel(action="list"|"get"|"docs") - Create a new model ->
modifyDataModel(compatibility name; create-only)
- Read/list existing models ->
-
Publish carefully
- Prefer creating with unpublished or draft-like intent first.
- Publish only after checking field names, required constraints, and relationship directions.
Mermaid generation rules
Naming
- Class names -> PascalCase
- Field names -> camelCase
- Convert Chinese business descriptions into clear English identifiers
- Keep enum values human-readable when needed
Type mapping
| Business meaning | Mermaid type |
|---|---|
| text | string |
| number | number |
| boolean | boolean |
| enum | x-enum |
email | |
| phone | phone |
| URL | url |
| image | x-image |
| file | x-file |
| rich text | x-rtf |
| date | date |
| datetime | datetime |
| region | x-area-code |
| location | x-location |
| array | string[] or another explicit array type |
Required structure conventions
- Use
required()only for fields the user explicitly marks as required. - Use
unique()only for explicit uniqueness needs. - Use
display_field()for the human-facing label field. - Add concise
<<description>>notes to important fields. - Keep relationship labels tied to actual field names rather than vague business prose.
Minimal example
classDiagram
class User {
username: string <<Username>>
email: email <<Email>>
display_field() "username"
required() ["username", "email"]
unique() ["username", "email"]
}
class Order {
orderNo: string <<Order Number>>
totalAmount: number <<Total Amount>>
userId: string <<User ID>>
display_field() "orderNo"
unique() ["orderNo"]
}
Order "n" --> "1" User : userId
%% Class naming
note for User "用户"
note for Order "订单"
Tool usage guidance
Read existing models
Use this before creating related models, checking naming consistency, or assessing how an existing model is defined:
manageDataModel(action="list")manageDataModel(action="get", name="ModelName")manageDataModel(action="docs", name="ModelName")
Create model
Use modifyDataModel with:
- a complete
mermaidDiagram action="create"when you want to create new models- a deliberate publish decision
- clear awareness that updating existing model structures is not currently supported by this tool
Best practices
- Prefer direct SQL unless the user clearly benefits from model-first design.
- Keep the first model iteration small and reviewable.
- Separate business entities from implementation-only helper fields.
- Validate relationship direction and ownership before publishing.
- After modeling, hand off actual MySQL SQL/table work to
relational-database-mcp-cloudbasewhen needed. For PostgreSQL / CloudBase PG tables, hand off topostgresql-development-cloudbaseinstead.
When not to use it
- →Executing basic table creation or SQL maintenance tasks
- →Defining document store collections in NoSQL databases
Limitations
- →Does not execute live DDL or ALTER statements
- →Limited to enterprise schema design rather than flat data storage
How it compares
It emphasizes structural design visualization rather than raw query execution.
Compared to similar skills
data-model-creation side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| data-model-creation (this skill) | 1 | 2mo | No flags | Intermediate |
| postgresql-table-design | 30 | 4mo | No flags | Intermediate |
| agentdb-advanced-features | 7 | 9mo | Review | Advanced |
| event-store-design | 5 | 2mo | No flags | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by TencentCloudBase
View all by TencentCloudBase →You might also like
postgresql-table-design
wshobson
Design a PostgreSQL-specific schema. Covers best-practices, data types, indexing, constraints, performance patterns, and advanced features
agentdb-advanced-features
ruvnet
Master advanced AgentDB features including QUIC synchronization, multi-database management, custom distance metrics, hybrid search, and distributed systems integration. Use when building distributed AI systems, multi-agent coordination, or advanced vector search applications.
event-store-design
wshobson
Design and implement event stores for event-sourced systems. Use when building event sourcing infrastructure, choosing event store technologies, or implementing event persistence patterns.
database-design
davila7
Database design principles and decision-making. Schema design, indexing strategy, ORM selection, serverless databases.
database-schema-designer
davila7
Design robust, scalable database schemas for SQL and NoSQL databases. Provides normalization guidelines, indexing strategies, migration patterns, constraint design, and performance optimization. Ensures data integrity, query performance, and maintainable data models.
storage-format
tursodatabase
SQLite file format, B-trees, pages, cells, overflow, freelist that is used in tursodb