Prisma Expert
davila7/claude-code-templates
Prisma ORM expert for schema design, migrations, query optimization, relations modeling, and database operations.
Database schema design expertise covering normalization, denormalization strategies, indexing, query optimization, partitioning, connection pooling, migration management, multi-tenancy patterns, and…
$ npx skills add FerroxLabs/wayland --skill database-architect -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install FerroxLabs/wayland database-architect --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "database-architect" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/database-architect into .claude/skills/database-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "database-architect", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/database-architectType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add FerroxLabs/wayland --skill database-architect -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install FerroxLabs/wayland database-architect --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/backend-systems/database-architect .agents/skills/database-architect && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "database-architect" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/database-architect into .agents/skills/database-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "database-architect", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FerroxLabs/wayland --skill database-architect -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install FerroxLabs/wayland database-architect --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/backend-systems/database-architect .cursor/skills/database-architect && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "database-architect" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/database-architect into .cursor/skills/database-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "database-architect", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/FerroxLabs/wayland.git --path src/process/resources/skills-library/bodies/skills/backend-systems/database-architect--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add FerroxLabs/wayland --skill database-architect -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install FerroxLabs/wayland database-architect --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/backend-systems/database-architect .gemini/skills/database-architect && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "database-architect" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/database-architect into .gemini/skills/database-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "database-architect", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install FerroxLabs/wayland database-architectInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add FerroxLabs/wayland --skill database-architect -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/backend-systems/database-architect .github/skills/database-architect && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "database-architect" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/database-architect into .github/skills/database-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "database-architect", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FerroxLabs/wayland --skill database-architect -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install FerroxLabs/wayland database-architect --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/backend-systems/database-architect .opencode/skills/database-architect && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "database-architect" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/database-architect into .opencode/skills/database-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "database-architect", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
database-architectDatabase 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. 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.
Read from SKILL.md and the folder at commit 4c030c7. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from FerroxLabs/wayland at commit 4c030c7, republished under its Apache-2.0 licence (© FerroxLabs). 377 words, ~4,017 tokens.
.claude/skills/database-architect/SKILL.md (or your agent's skills folder).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.
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.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 dataSTRATEGY 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-- 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);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);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-- 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 ...;-- 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 INSERTsPARTITION 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-- 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');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)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 removalPhase 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)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 tenantsARCHITECTURE:
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
}Use this skill when:
Do NOT use this skill when:
# 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]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.
© 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
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
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Database Architect this skillFerroxLabs/wayland | 608 | — | ~4k | Automated safety check: Pass | Apache-2.0 | |
| Prisma Expertdavila7/claude-code-templates | 32k | 6 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Relational Data Modelingpproenca/dot-skills | 214 | — | ~2.4k | Automated safety check: Pass | MIT | |
| MySQL Schema and Query Tuningplanetscale/database-skills | 698 | 3 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Vitess for PlanetScaleplanetscale/database-skills | 698 | 1 repos | ~1.2k | Automated safety check: Pass | MIT | |
| DB SculptorEliasOulkadi/shokunin | 114 | — | ~3.1k | Automated safety check: Notes | MIT |
davila7/claude-code-templates
Prisma ORM expert for schema design, migrations, query optimization, relations modeling, and database operations.
pproenca/dot-skills
Corrects the wrong defaults a model has when designing a relational schema — the DDL decisions an experienced engineer makes differently.
planetscale/database-skills
Guides safe, measurable MySQL and InnoDB changes across schema design, indexing, query tuning, transactions, locking and replication, with rollout steps.
planetscale/database-skills
Guidance on Vitess sharding, VSchema design, query tuning and connection problems for MySQL-compatible databases running on PlanetScale.
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…
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.
FerroxLabs/wayland
Install, start, connect, and troubleshoot visualization companion projects for Aion/OpenClaw, with Star-Office-UI as the default recommendation.
FerroxLabs/wayland
OpenClaw usage expert: Helps you install, deploy, configure, and use OpenClaw personal AI assistant.
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.
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.
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…
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…
Categories
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.
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.
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.
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.
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.
SKILL.md names no scripts, command-line tools or credentials: Database Architect is instructions for the agent only.
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.
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.
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.
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.
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.
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.