360 Secure SkillHub
360 安全技能中心

Diseñador base de datos

数据库 Schema 设计与治理技能:将请求分类为设计、分析、索引、迁移、查询或引擎选型,加载规范化、索引策略、引擎选型等参考文档,并调用 Python 脚本分析 Schema、推荐索引、生成带回滚的迁移脚本,最终输出 DDL、Mermaid ERD、Prisma 或 JSON Schema 中的一种主要产物。默认 PostgreSQL 与 3NF。

felix-antonio-sl
felix-antonio-sl
热度 35.77
最近更新 2026-05-11 17:38:44
分类:开发依赖:代码执行 / 读写文件应用场景:代码生成 / 数据处理 / 调试排错 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add kv-database-designer
Metadata
name
database-designer
description
Design, analyze, optimize and evolve database schemas. Use when the user asks to design schemas from scratch, choose between SQL and NoSQL engines, analyze or fix an existing schema (normalization, naming, constraints), plan index strategy, generate migration scripts, or interpret EXPLAIN plans.
compatibility
Requires Python 3.8+ for scripts in scripts/.

Database Designer

Convert a design request or existing schema into a structured, validated, production-ready artifact.

Activation

Use this skill when the user asks to:

  • design or review a database schema (DDL, ERD, Prisma, JSON Schema)
  • choose a database engine or decide SQL vs NoSQL
  • analyze normalization, constraints, naming or data types
  • plan an indexing strategy or diagnose slow queries
  • generate migration scripts with rollback
  • interpret an EXPLAIN plan or diagnose N+1 patterns

Workflow

  1. Classify the request: design | analyze | index | migrate | query | select-engine.
  2. Load the relevant reference for that mode:
    • design / analyze → {baseDir}/references/database-design-reference.md
    • normalization questions → {baseDir}/references/normalization_guide.md
    • indexing / EXPLAIN → {baseDir}/references/index_strategy_patterns.md
    • engine selection → {baseDir}/references/database_selection_decision_tree.md
  3. Run the appropriate script when the user provides a schema or queries:
    # Analyze schema for issues (normalization, constraints, naming, types)
    python {baseDir}/scripts/schema_analyzer.py --schema=<ddl_file>
    
    # Suggest index improvements for a query workload
    python {baseDir}/scripts/index_optimizer.py --schema=<ddl_file> --queries=<queries_file>
    
    # Generate up/down migration scripts
    python {baseDir}/scripts/migration_generator.py --before=<old_schema> --after=<new_schema>
    
  4. Formalize the design: objects, relationships, constraints, normalization level, primary/foreign keys.
  5. Emit the artifact: DDL, Mermaid ERD, Prisma schema, or JSON Schema — one format unless the user asks for multiple.
  6. Declare trade-offs: note any denormalization choices, missing constraints, or engine-specific limitations.

Output Contract

  • Open with the dominant design decision or issue found.
  • Emit one primary artifact (DDL, ERD, or schema) per response.
  • Annotate non-obvious choices (e.g. why a partial index, why a surrogate key).
  • Declare Information Loss when the target format cannot express a constraint (e.g. CHECK logic in Prisma).
  • Close with indexing recommendations and next migration step if applicable.

Key Rules

  • Default to PostgreSQL unless the user specifies another engine or the decision tree points elsewhere.
  • Default to 3NF for new schemas; document any intentional deviation and the reason.
  • Every generated migration must include a down script.
  • For destructive changes (DROP COLUMN with data), always recommend a logical backup first.
  • Do not generate application-layer connection pool code unless explicitly asked — reference the patterns instead.

Guardrails

  • Do not skip normalization analysis when designing from scratch.
  • Do not recommend over-indexing — flag indexes that may hurt write throughput.
  • Flag N+1 patterns but do not generate ORM-specific code unless the user's stack is known.
  • Stay within schema, index, migration and query scope; for large-scale cross-engine migrations refer to migration-architect.

Self Check

Before emitting any artifact, verify:

  • all foreign keys are declared;
  • primary key strategy is explicit (surrogate vs natural);
  • normalization level is stated and intentional deviations justified;
  • migration script has a down counterpart;
  • no inline example code duplicates what a reference file already covers.