Database specialist for SQL, NoSQL, and vector database modeling, schema design, normalization, indexing, transactions, integrity, concurrency control, backup, capacity planning, data standards, anti-pattern review, and compliance-aware database design. Use for database, schema, ERD, table design, document model, vector index design, RAG retrieval architecture, migration, query tuning, glossary, capacity estimation, backup strategy, database anti-pattern remediation work, and ISO 27001, ISO 27002, or ISO 22301-aware database recommendations.
npx skills add https://github.com/first-fluke/oh-my-agent --skill oma-db
Design, review, optimize, and document SQL, NoSQL, vector, and retrieval-oriented data systems with explicit schema layers, integrity rules, transaction behavior, capacity assumptions, and audit-aware tradeoffs.
resources/document-templates.md, resources/anti-patterns.md, resources/vector-db.md, and resources/iso-controls.md| Action | SSL primitive | Evidence |
|--------|---------------|----------|
| Classify workload and model | SELECT | SQL, NoSQL, vector, cache, search, mixed |
| Read schema/query evidence | READ | Migrations, ERDs, query patterns |
| Compare design alternatives | COMPARE | Engine/model/index tradeoffs |
| Infer integrity and capacity risks | INFER | Constraints, transactions, growth assumptions |
| Validate anti-patterns | VALIDATE | Checklist and anti-pattern guide |
| Write schema docs or changes | WRITE | Deliverables, migrations, query/index changes |
| Report recommendation | NOTIFY | Final database guidance |
rg --files -g '*.sql' -g '*prisma*' -g '*schema*' -g '*migration*'
rg "CREATE TABLE|model |index|foreign key|transaction|embedding|vector" .
Then run the project's migration, query-plan, or retrieval-quality commands only after identifying the database engine and migration tool.
| Scope | Resource target |
|-------|-----------------|
| CODEBASE | Schema, migration, query, ORM, and retrieval files |
| LOCAL_FS | Database design artifacts and result documents |
| PROCESS | Migration, query, lint, or validation commands |
| USER_DATA | Domain data definitions, retention rules, and sample access patterns |
10. Proactively flag anti-patterns and insecure shortcuts instead of silently implementing them.
11. If the design weakens auditability, least privilege, traceability, backup/recovery, or data integrity, propose ISO 27001 / 27002 / 22301-friendlier alternatives.
12. Vector DBs are retrieval infrastructure, not source-of-truth databases. Store embeddings and lightweight metadata there; keep canonical documents elsewhere.
13. Never treat vector search as a drop-in replacement for lexical search. Default to hybrid retrieval when exact match, compliance filtering, or explainability matters.
14. Embeddings are schema-like assets: version model, dimension, chunking, and preprocessing, and plan re-embedding migrations explicitly.
15. Retrieval quality is won at chunking, filtering, reranking, and observability, not only at the vector index layer.
Follow resources/execution-protocol.md step by step.
See resources/examples.md for input/output examples.
Use resources/document-templates.md when you need concrete deliverable structure.
Use resources/anti-patterns.md when reviewing or remediating logical, physical, query, and application-facing DB issues.
Use resources/vector-db.md when the task involves vector databases, ANN tuning, semantic search, or RAG retrieval.
Use resources/iso-controls.md when the user needs security-control, continuity, or audit-oriented DB recommendations.
Before submitting, run resources/checklist.md.
Vendor-specific execution protocols are injected automatically by oh-my-agent agent:spawn.
Source files live under ../_shared/runtime/execution-protocols/{vendor}.md.
resources/execution-protocol.mdresources/checklist.mdresources/examples.mdresources/document-templates.mdresources/anti-patterns.mdresources/vector-db.mdresources/iso-controls.mdresources/error-playbook.md../_shared/core/context-loading.md../_shared/core/reasoning-templates.md../_shared/core/clarification-protocol.md../_shared/core/context-budget.md../_shared/core/lessons-learned.mdCreate new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
Access NCBI GEO for gene expression/genomics data. Search/download microarray and RNA-seq datasets (GSE, GSM, GPL), retrieve SOFT/Matrix files, for transcriptomics and expression analysis.
Bayesian modeling with PyMC. Build hierarchical models, MCMC (NUTS), variational inference, LOO/WAIC comparison, posterior checks, for probabilistic programming and inference.
Multi-objective optimization framework. NSGA-II, NSGA-III, MOEA/D, Pareto fronts, constraint handling, benchmarks (ZDT, DTLZ), for engineering design and optimization problems.
Statistical modeling toolkit. OLS, GLM, logistic, ARIMA, time series, hypothesis tests, diagnostics, AIC/BIC, for rigorous statistical inference and econometric analysis.
Add unsigned integer (uint) type support to PyTorch operators by updating AT_DISPATCH macros. Use when adding support for uint16, uint32, uint64 types to operators, kernels, or when user mentions enabling unsigned types, barebones unsigned types, or uint support.
Convert PyTorch AT_DISPATCH macros to AT_DISPATCH_V2 format in ATen C++ code. Use when porting AT_DISPATCH_ALL_TYPES_AND*, AT_DISPATCH_FLOATING_TYPES*, or other dispatch macros to the new v2 API. For ATen kernel files, CUDA kernels, and native operator implementations.
Write docstrings for PyTorch functions and methods following PyTorch conventions. Use when writing or updating docstrings in PyTorch code.
Take first-fluke/oh-my-agent-oma-db from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.