Agent skill

Database Architect

by FerroxLabs in FerroxLabs/wayland

Database schema design expertise covering normalization, denormalization strategies, indexing, query optimization, partitioning, connection pooling, migration management, multi-tenancy patterns, and…

Apache-2.0Auto-check passedDatabases

Install Database Architect

skills CLI
$ npx skills add FerroxLabs/wayland --skill database-architect -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install FerroxLabs/wayland database-architect --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/backend-systems/database-architect .claude/skills/database-architect && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
database-architect
GitHub stars
608
Token cost
~4k tokens
SKILL.md length
377 words
Files
1
Skills in repo
1,194
Repo updated
First seen
Licence
Apache-2.0

At a glance

Database schema design expertise covering normalization, denormalization strategies, indexing, query optimization, partitioning, connection pooling, migration management, multi-tenancy patterns, and…

  • The user asks about database architect
  • SKILL.md covers Purpose, Normalization, Denormalization Strategies and Indexing Strategy, plus 11 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Database architect best practices

What it does

Database Architect is an agent skill from FerroxLabs/wayland. Database schema design expertise covering normalization, denormalization strategies, indexing, query optimization, partitioning, connection pooling, migration management, multi-tenancy patterns, and read replicas. Use when the user asks about database architect, database architect best practices, or needs guidance on database architect implementation. Do NOT use when the user needs a different specialized skill or is asking about an unrelated technology domain.

Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Databases, covering Database schema design, Query optimization and Multi-tenancy. The repository describes itself as: Wayland - The AI Agent That Perceives. Reasons. Acts. Evolves. The licence is Apache-2.0.

When your agent uses it

  • The user asks about database architect
  • Database architect best practices
  • Needs guidance on database architect implementation
  • The user needs a different specialized skill

Example prompts

  • “/database-architect”

What it can do on your machine

Read from SKILL.md and the folder at commit 4c030c7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are sql and markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Database Architect loads about 4k tokens when it runs. Until then it costs about 121 tokens; SKILL.md has 377 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~121
When it runs · the whole SKILL.md, loaded when a task matches
~4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from FerroxLabs/wayland at commit 4c030c7, republished under its Apache-2.0 licence (© FerroxLabs). 377 words, ~4,017 tokens.

Download SKILL.mdSave it as .claude/skills/database-architect/SKILL.md (or your agent's skills folder).
name
database-architect
description
Database schema design expertise covering normalization, denormalization strategies, indexing, query optimization, partitioning, connection pooling, migration management, multi-tenancy patterns, and read replicas. Use when the user asks about database architect, database architect best practices, or needs guidance on database architect implementation. Do NOT use when the user needs a different specialized skill or is asking about an unrelated technology domain.
license
Apache-2.0
metadata.author
foundry-skills
metadata.version
1.0.0
metadata.tags
backend api-design database
metadata.category
backend-systems
metadata.subcategory
database
metadata.disclaimer
none
metadata.difficulty
intermediate

Database Architect

Purpose

Design database schemas that balance data integrity, query performance, and operational maintainability. This skill covers relational database design principles, indexing strategies, scaling patterns, and migration management for production systems.

Normalization

Normal Forms
1NF (First Normal Form):
  - Each column contains atomic (indivisible) values
  - Each row is unique (has primary key)
  - No repeating groups

  VIOLATION: tags = "red,blue,green"  (comma-separated)
  FIX:       Create a separate tags table with one row per tag

2NF (Second Normal Form):
  - Meets 1NF
  - No partial dependencies (all non-key columns depend on the FULL primary key)
  - Only relevant with composite primary keys

  VIOLATION: (order_id, product_id) -> product_name
             product_name depends only on product_id, not the full key
  FIX:       Move product_name to the products table

3NF (Third Normal Form):
  - Meets 2NF
  - No transitive dependencies (non-key column depends on another non-key column)

  VIOLATION: user_id -> department_id -> department_name
             department_name depends on department_id, not directly on user_id
  FIX:       Create a departments table, reference via department_id

BCNF (Boyce-Codd Normal Form):
  - Meets 3NF
  - Every determinant is a candidate key
  - Handles edge cases where 3NF allows anomalies

4NF (Fourth Normal Form):
  - Meets BCNF
  - No multi-valued dependencies

5NF (Fifth Normal Form):
  - Meets 4NF
  - No join dependencies

PRACTICAL TARGET: 3NF for OLTP, denormalized for OLAP/reporting.
When to Normalize (and When Not To)
NORMALIZE when:
  - Data integrity is critical (financial, medical, legal)
  - Write-heavy workload (fewer update anomalies)
  - Storage space is a concern
  - Multiple applications share the database
  - Schema stability is important

DENORMALIZE when:
  - Read performance is the primary concern
  - Complex joins are causing query bottlenecks
  - Reporting/analytics queries need aggregated data
  - Caching at the database level is beneficial
  - Event-sourced or document-oriented data

Denormalization Strategies

STRATEGY                      USE CASE
-------------------------------------------------------------
Duplicated columns            User.email stored in Orders for fast reads
Precomputed aggregates        Product.review_count, Product.avg_rating
Materialized views            Complex reporting queries
JSON columns                  Flexible metadata, user preferences
Denormalized tables           Read-optimized copies of normalized data
Event snapshots               Store full state at point in time
Materialized View Pattern
sql
-- Create materialized view for dashboard stats
CREATE MATERIALIZED VIEW dashboard_stats AS
SELECT
  DATE(created_at) AS date,
  COUNT(*) AS total_orders,
  SUM(total_amount) AS revenue,
  COUNT(DISTINCT user_id) AS unique_customers,
  AVG(total_amount) AS avg_order_value
FROM orders
WHERE status = 'completed'
GROUP BY DATE(created_at);

-- Refresh periodically
REFRESH MATERIALIZED VIEW CONCURRENTLY dashboard_stats;

-- Create index on materialized view
CREATE UNIQUE INDEX idx_dashboard_stats_date ON dashboard_stats(date);

Indexing Strategy

Index Types and When to Use
B-Tree (DEFAULT):
  - Equality and range queries
  - ORDER BY, GROUP BY
  - Most common index type
  CREATE INDEX idx_users_email ON users(email);

Hash:
  - Equality-only queries (= but not < > BETWEEN)
  - Faster than B-Tree for exact match
  CREATE INDEX idx_users_email ON users USING hash(email);

GIN (Generalized Inverted Index):
  - Full-text search
  - JSONB containment (@>, ?)
  - Array overlap (&&)
  CREATE INDEX idx_products_tags ON products USING gin(tags);

GiST (Generalized Search Tree):
  - Geometric/spatial data
  - Range types
  - Full-text search (alternative to GIN)
  CREATE INDEX idx_locations_coords ON locations USING gist(coordinates);

BRIN (Block Range Index):
  - Very large tables with naturally ordered data
  - Minimal storage overhead
  - Timestamp columns on append-only tables
  CREATE INDEX idx_logs_created ON logs USING brin(created_at);

Partial Index:
  - Index a subset of rows
  - Reduces index size and maintenance cost
  CREATE INDEX idx_orders_pending ON orders(created_at) WHERE status = 'pending';

Covering Index (INCLUDE):
  - Include non-indexed columns to enable index-only scans
  CREATE INDEX idx_users_email ON users(email) INCLUDE (name, avatar_url);
Composite Index Rules
RULE: The "leftmost prefix" rule
  Index on (a, b, c) can be used for:
    WHERE a = ?
    WHERE a = ? AND b = ?
    WHERE a = ? AND b = ? AND c = ?
    WHERE a = ? ORDER BY b

  CANNOT be used for:
    WHERE b = ?          (skips first column)
    WHERE b = ? AND c = ? (skips first column)

COLUMN ORDER: Equality columns first, then range/sort columns
  Query: WHERE status = 'active' AND created_at > '2025-01-01' ORDER BY name
  Index: (status, created_at, name)

CARDINALITY: Higher cardinality columns first (more unique values)
  Exception: unless low-cardinality column is always in WHERE clause
Index Analysis
sql
-- Find missing indexes (slow queries)
SELECT
  schemaname, tablename, seq_scan, idx_scan,
  seq_scan - idx_scan AS too_many_seqs,
  pg_size_pretty(pg_relation_size(schemaname || '.' || tablename)) AS table_size
FROM pg_stat_user_tables
WHERE seq_scan > idx_scan
  AND pg_relation_size(schemaname || '.' || tablename) > 100000
ORDER BY seq_scan - idx_scan DESC;

-- Find unused indexes (candidates for removal)
SELECT
  indexrelname, idx_scan, pg_size_pretty(pg_relation_size(indexrelid)) AS index_size
FROM pg_stat_user_indexes
WHERE idx_scan = 0
  AND indexrelname NOT LIKE '%_pkey'
ORDER BY pg_relation_size(indexrelid) DESC;

-- Explain analyze for query optimization
EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT) SELECT ...;

Query Optimization

Common Patterns
sql
-- AVOID: SELECT *
SELECT * FROM users WHERE id = 123;
-- PREFER: Select only needed columns
SELECT id, name, email FROM users WHERE id = 123;

-- AVOID: N+1 queries
-- Application code: for each order, query items separately
-- PREFER: JOIN or subquery
SELECT o.*, i.product_name, i.quantity
FROM orders o
JOIN order_items i ON i.order_id = o.id
WHERE o.user_id = 123;

-- AVOID: Functions on indexed columns (prevents index use)
WHERE YEAR(created_at) = 2025
-- PREFER: Range comparison
WHERE created_at >= '2025-01-01' AND created_at < '2026-01-01'

-- AVOID: OR on different columns (may prevent index use)
WHERE email = 'x' OR phone = 'y'
-- PREFER: UNION
SELECT * FROM users WHERE email = 'x'
UNION
SELECT * FROM users WHERE phone = 'y';

-- Use EXISTS instead of IN for large subqueries
WHERE EXISTS (SELECT 1 FROM orders WHERE orders.user_id = users.id)
-- Instead of
WHERE id IN (SELECT user_id FROM orders)

-- Batch inserts
INSERT INTO items (name, price) VALUES
  ('A', 10), ('B', 20), ('C', 30);
-- Instead of three separate INSERTs

Partitioning

PARTITION TYPES:

Range Partitioning (most common):
  - Time-series data (logs, events, metrics)
  - Date ranges (monthly, yearly)

List Partitioning:
  - Categorical data (region, status, type)
  - Tenant-based partitioning

Hash Partitioning:
  - Even distribution when no natural range
  - Parallel query execution
sql
-- Range partitioning by month
CREATE TABLE events (
  id BIGINT GENERATED ALWAYS AS IDENTITY,
  event_type TEXT NOT NULL,
  payload JSONB,
  created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
) PARTITION BY RANGE (created_at);

-- Create partitions
CREATE TABLE events_2025_01 PARTITION OF events
  FOR VALUES FROM ('2025-01-01') TO ('2025-02-01');
CREATE TABLE events_2025_02 PARTITION OF events
  FOR VALUES FROM ('2025-02-01') TO ('2025-03-01');

-- Automate partition creation with pg_partman or cron job
-- Index on each partition is created automatically from parent

-- List partitioning by region
CREATE TABLE orders (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  region TEXT NOT NULL,
  total NUMERIC NOT NULL
) PARTITION BY LIST (region);

CREATE TABLE orders_us PARTITION OF orders FOR VALUES IN ('us-east', 'us-west');
CREATE TABLE orders_eu PARTITION OF orders FOR VALUES IN ('eu-west', 'eu-central');

Connection Pooling

WHY: Database connections are expensive to create (~50-100ms).
     Each connection uses ~5-10MB of server memory.
     PostgreSQL forks a process per connection.

POOL SIZING FORMULA:
  pool_size = (core_count * 2) + effective_spindle_count
  For SSD: pool_size = core_count * 2 + 1
  Example: 4 cores -> pool_size = 9

TOOLS:
  PgBouncer:     External connection pooler for PostgreSQL
  pgpool-II:     Connection pooler + load balancer
  Application:   Built-in pools (HikariCP, node-pg pool, SQLAlchemy pool)

CONFIGURATION:
  min_pool_size:  2-5    (keep warm connections ready)
  max_pool_size:  10-20  (per application instance)
  idle_timeout:   300s   (close idle connections)
  max_lifetime:   1800s  (recycle connections)
  connection_timeout: 5s (fail fast if pool exhausted)

Migration Management

Migration Best Practices
1. ALWAYS use forward-only migrations in production
   - Never edit a migration that has been applied
   - Create a new migration to fix issues

2. SEPARATE schema changes from data changes
   - Schema migration: ALTER TABLE, CREATE INDEX
   - Data migration: UPDATE, INSERT (separate file)

3. MAKE migrations reversible when possible
   - Include UP and DOWN operations
   - Some changes are irreversible (DROP COLUMN with data)

4. TEST migrations against production-size data
   - A migration that runs in 1ms on dev may lock tables for hours in prod

5. USE zero-downtime migration patterns
   - Add column with DEFAULT (no table rewrite in PG 11+)
   - Create index CONCURRENTLY
   - Never DROP COLUMN in the same deploy as code removal
Zero-Downtime Migration Pattern
Phase 1: ADD (backward compatible)
  - Add new column (nullable or with default)
  - Add new table
  - Create index CONCURRENTLY
  - Deploy code that writes to BOTH old and new structures

Phase 2: MIGRATE
  - Backfill data to new structure
  - Deploy code that reads from new structure
  - Keep writing to both for safety

Phase 3: CLEANUP (after validation)
  - Remove old column/table (separate migration)
  - Deploy code that only uses new structure

EXAMPLE: Rename column "name" to "full_name"
  Phase 1: ALTER TABLE users ADD COLUMN full_name TEXT;
  Phase 2: UPDATE users SET full_name = name WHERE full_name IS NULL;
  Phase 3: ALTER TABLE users DROP COLUMN name;
  (Each phase is a separate deploy)

Multi-Tenancy Patterns

STRATEGY            ISOLATION     COMPLEXITY    COST
-------------------------------------------------------
Shared DB +         Low           Low           Low
  tenant_id column

Schema per tenant   Medium        Medium        Medium
  (PostgreSQL schemas)

Database per tenant High          High          High

SHARED DATABASE WITH tenant_id:
  - Add tenant_id to every table
  - Add tenant_id to every query (middleware/ORM level)
  - Row-level security (RLS) for defense in depth

  CREATE POLICY tenant_isolation ON orders
    USING (tenant_id = current_setting('app.current_tenant')::uuid);

SCHEMA PER TENANT (PostgreSQL):
  - Each tenant gets a schema (SET search_path = 'tenant_abc')
  - Shared tables in public schema
  - Connection middleware sets search_path
  - Easier data export/deletion for individual tenants

Read Replicas

ARCHITECTURE:
  Primary (writes) -> Replica 1 (reads)
                   -> Replica 2 (reads)
                   -> Replica 3 (analytics)

ROUTING STRATEGY:
  Writes:  Always go to primary
  Reads:   Route to replicas
  Reads after write: Route to primary (avoid replication lag)

REPLICATION LAG HANDLING:
  - Monitor lag (SELECT pg_last_wal_replay_lsn())
  - Set maximum acceptable lag (e.g., 5 seconds)
  - Fall back to primary if lag exceeds threshold
  - Use session affinity for post-write reads

APPLICATION PATTERN:
  // Middleware/decorator approach
  @UseDatabase('replica')
  async getUsers() { ... }

  @UseDatabase('primary')
  async createUser() { ... }

  // Post-write read with primary fallback
  async getUserAfterUpdate(id) {
    await this.primary.update(...);
    return this.primary.findById(id);  // Read from primary after write
  }

Database Architecture Checklist

  • Schema normalized to 3NF for transactional tables
  • Strategic denormalization applied for read-heavy queries
  • Primary keys use UUID or ULID (not auto-increment for distributed)
  • Indexes cover all WHERE, JOIN, ORDER BY columns
  • Composite indexes follow leftmost prefix rule
  • Unused indexes identified and removed
  • Query execution plans analyzed for slow queries
  • Connection pooling configured with appropriate limits
  • Migrations are forward-only and zero-downtime compatible
  • Multi-tenancy isolation enforced at query and RLS level
  • Read replicas configured for read-heavy workloads
  • Partitioning applied for tables exceeding millions of rows
  • Backup strategy tested with restore verification
  • Monitoring covers slow queries, connection counts, replication lag

When to Use

Use this skill when:

  • Designing or implementing database architect solutions
  • Reviewing or improving existing database architect approaches
  • Making architectural or implementation decisions about database architect
  • Learning database architect patterns and best practices
  • Troubleshooting database architect-related issues

Do NOT use this skill when:

  • The question is about a fundamentally different technology domain
  • A more specific sibling skill covers the exact topic needed
  • The user needs a complete hands-on tutorial rather than expert guidance
Show full SKILL.md (123 more words)Show less

Output Format

markdown
# Database Architect Analysis

## Context Assessment
[Situation summary and constraints]

## Recommended Approach
[Primary recommendation with rationale]

## Implementation Steps
1. [Step with specific details]
2. [Step with specific details]
3. [Step with specific details]

## Trade-offs and Considerations
- [Key trade-off 1]
- [Key trade-off 2]

## Next Steps
- [Immediate action item]
- [Follow-up action item]

Example

Input: "Help me implement database architect for a medium-scale production application"

Output: A structured analysis covering current state assessment, recommended database architect approach with specific patterns, implementation roadmap with milestones, and risk mitigation strategies tailored to the application scale and constraints.

Edge Cases

  • Legacy system integration: When database architect must coexist with legacy approaches, provide a gradual migration path rather than a complete rewrite
  • Scale mismatch: When the solution complexity exceeds the project scale, recommend a simpler approach and note when to revisit
  • Team skill gaps: When the team lacks experience with the recommended approach, include learning resources and simpler alternatives
  • Conflicting requirements: When constraints conflict (e.g., performance vs. maintainability), explicitly state the trade-off and recommend based on stated priorities

© FerroxLabs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in src/process/resources/skills-library/bodies/skills/backend-systems/database-architect of FerroxLabs/wayland.

Open the folder on GitHubat commit 4c030c7

Compare with similar skills

Database Architect next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Database Architect compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Database Architect this skillFerroxLabs/wayland608—~4kAutomated safety check: PassApache-2.0
Prisma Expertdavila7/claude-code-templates32k6 repos~2.6kAutomated safety check: PassMIT
Relational Data Modelingpproenca/dot-skills214—~2.4kAutomated safety check: PassMIT
MySQL Schema and Query Tuningplanetscale/database-skills6983 repos~1.4kAutomated safety check: PassMIT
Vitess for PlanetScaleplanetscale/database-skills6981 repos~1.2kAutomated safety check: PassMIT
DB SculptorEliasOulkadi/shokunin114—~3.1kAutomated safety check: NotesMIT

Similar skills

  • Prisma Expert

    davila7/claude-code-templates

    Prisma ORM expert for schema design, migrations, query optimization, relations modeling, and database operations.

    32k GitHub starsUsed in 6 repos~2.6k tokens
    DatabasesAuto-check passed
  • Relational Data Modeling

    pproenca/dot-skills

    Corrects the wrong defaults a model has when designing a relational schema — the DDL decisions an experienced engineer makes differently.

    214 GitHub stars~2.4k tokensUpdated 1 mo ago
    DatabasesAuto-check passed
  • MySQL Schema and Query Tuning

    planetscale/database-skills

    Official

    Guides safe, measurable MySQL and InnoDB changes across schema design, indexing, query tuning, transactions, locking and replication, with rollout steps.

    698 GitHub starsUsed in 3 repos~1.4k tokens
    DatabasesAuto-check passed
  • Vitess for PlanetScale

    planetscale/database-skills

    Official

    Guidance on Vitess sharding, VSchema design, query tuning and connection problems for MySQL-compatible databases running on PlanetScale.

    698 GitHub starsUsed in 1 repo~1.2k tokens
    DatabasesAuto-check passed
  • DB Sculptor

    EliasOulkadi/shokunin

    Design database schemas with Prisma/Drizzle, PostgreSQL index strategy (B-tree, GIN, GiST, BRIN, Hash), query optimization (EXPLAIN ANALYZE), migration safety (expand/contract, zero-downtime), and…

    114 GitHub stars~3.1k tokensUpdated 3 days ago
    DatabasesAuto-check: notes
  • Discover Database

    rand/cc-polymath

    Automatically discover database skills when working with SQL, PostgreSQL, MongoDB, Redis, database schema design, query optimization, migrations, connection pooling, ORMs, or database selection.

    181 GitHub stars~2k tokensUpdated 7 mo ago
    DatabasesAuto-check passed

More from FerroxLabs/wayland

All 1,194 skills in this repo
  • Star Office Helper

    FerroxLabs/wayland

    Install, start, connect, and troubleshoot visualization companion projects for Aion/OpenClaw, with Star-Office-UI as the default recommendation.

    608 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check: notes
  • Openclaw Setup

    FerroxLabs/wayland

    OpenClaw usage expert: Helps you install, deploy, configure, and use OpenClaw personal AI assistant.

    608 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • Tvcontrol Setup

    FerroxLabs/wayland

    Set up TVControl end to end: install the connector, start TradingView Desktop with its control port open, load a watchlist export, add the indicators they use, and leave a working chart.

    608 GitHub stars~5.7k tokensUpdated yesterday
    Auto-check passed
  • Ab Testing Specialist

    FerroxLabs/wayland

    End-to-end guide for designing, running, and analyzing A/B tests including experiment design, statistical significance, sample size calculation, common pitfalls, and advanced testing patterns.

    608 GitHub stars~3.7k tokensUpdated yesterday
    Auto-check passed
  • Academic Writer

    FerroxLabs/wayland

    Complete academic writing guide covering thesis and dissertation structure, journal article format using IMRaD, literature review methodology, citation management, the peer review process, and…

    608 GitHub stars~4.5k tokensUpdated yesterday
    Auto-check passed
  • Accessibility Auditor

    FerroxLabs/wayland

    Web accessibility expertise covering WCAG 2.2 conformance, audit methodology, ARIA patterns, keyboard navigation, screen reader testing, focus management, form accessibility, and automated vs manual…

    608 GitHub stars~4.1k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Database Architect

What does Database Architect do?

Database schema design expertise covering normalization, denormalization strategies, indexing, query optimization, partitioning, connection pooling, migration management, multi-tenancy patterns, and…. Database Architect is an agent skill from FerroxLabs/wayland. Database schema design expertise covering normalization, denormalization strategies, indexing, query optimization, partitioning, connection pooling, migration management, multi-tenancy patterns, and read replicas.

When should I use Database Architect?

Database Architect fits situations like: the user asks about database architect; database architect best practices; needs guidance on database architect implementation; the user needs a different specialized skill.

How do I install Database Architect in Claude Code?

Run `npx skills add FerroxLabs/wayland --skill database-architect -a claude-code`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/backend-systems/database-architect in FerroxLabs/wayland) into .claude/skills/database-architect in your project. Claude Code loads it when a task matches its description.

How do I install Database Architect in Codex?

Run `npx skills add FerroxLabs/wayland --skill database-architect -a codex`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/backend-systems/database-architect in FerroxLabs/wayland) into .agents/skills/database-architect in your project. Codex loads it when a task matches its description.

Can I use Database Architect in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add FerroxLabs/wayland --skill database-architect -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/database-architect, .gemini/skills/database-architect, .github/skills/database-architect and .opencode/skills/database-architect in your project.

What does Database Architect need to run?

SKILL.md names no scripts, command-line tools or credentials: Database Architect is instructions for the agent only.

Does Database Architect access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Database Architect safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Database Architect use?

Database Architect is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Database Architect use?

About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Database Architect?

Skills that share tags, products or a category with Database Architect: Prisma Expert (davila7/claude-code-templates, 32k stars), Relational Data Modeling (pproenca/dot-skills, 214 stars), MySQL Schema and Query Tuning (planetscale/database-skills, 698 stars) and Vitess for PlanetScale (planetscale/database-skills, 698 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Database Architect?

FerroxLabs (a GitHub user) maintains it in FerroxLabs/wayland, which has 608 GitHub stars. The repository holds 1,194 skills in this directory. The repository was last updated on October 6, 2026.

Source: FerroxLabs/wayland on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.