mcpField
D
data-management

data-management

github.com/dralgorhythmData & databases12862 installsUpdated 14w ago
Repository

About data-management

A data-management skill covering schema design, migrations, indexing, backups, and connection handling. It is for developers planning and maintaining relational databases, with guidance on integrity constraints and safer schema changes.

Key features

  1. 01Schema normalization and denormalization guidance
  2. 02Forward-only migration practices
  3. 03Index selection strategies
  4. 04Backup and recovery planning
  5. 05Connection pooling and integrity constraints

Use cases

  1. 01Designing tables, relationships, and constraints
  2. 02Planning versioned schema changes
  3. 03Improving query performance with indexes
  4. 04Preparing database recovery and connection handling

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/dralgorhythm/claude-agentic-framework --skill data-management

After installing, type/data-managementin Claude Code to confirm it loaded.

Details

From the project README

Data Management

Workflows

  • Schema Design: Define tables, relationships, constraints
  • Migrations: Version control schema changes
  • Indexing: Add indexes for query performance
  • Backup: Ensure data recovery capability

Schema Design Principles

Normalization
  • 1NF: Atomic values, no repeating groups
  • 2NF: No partial dependencies
  • 3NF: No transitive dependencies
When to Denormalize
  • Read-heavy workloads
  • Reporting/analytics
  • Caching layers

Migration Best Practices

Forward-Only Migrations

Each migration should be a single forward step.

-- migrations/001_create_users.sql
CREATE TABLE users (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  email VARCHAR(255) NOT NULL UNIQUE,
  created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);

CREATE INDEX idx_users_email ON users(email);
Safe Migrations
  • Add columns as nullable first
  • Create indexes concurrently
  • Never drop columns in the same deploy

Indexing Strategy

-- B-tree (default): Equality and range queries
CREATE INDEX idx_users_email ON users(email);

-- Partial index: When you query a subset
CREATE INDEX idx_active_users ON users(id) WHERE active = true;

-- Composite index: Multiple columns
CREATE INDEX idx_orders_user_date ON orders(user_id, created_at DESC);

Connection Management

// Use connection pooling
const pool = new Pool({
  max: 20,                    // Max connections
  idleTimeoutMillis: 30000,   // Close idle connections
  connectionTimeoutMillis: 2000
});

Data Integrity

  • Use foreign key constraints
  • Add NOT NULL where appropriate
  • Use CHECK constraints for validation
  • Consider using ENUM types for fixed values

Comments

Markdown supported