Prisma Expert
davila7/claude-code-templates
Prisma ORM expert for schema design, migrations, query optimization, relations modeling, and database operations.
Corrects the wrong defaults a model has when designing a relational schema — the DDL decisions an experienced engineer makes differently.
$ npx skills add pproenca/dot-skills --skill relational-data-modeling -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pproenca/dot-skills relational-data-modeling --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/pproenca/dot-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/.experimental/relational-data-modeling .claude/skills/relational-data-modeling && 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 "relational-data-modeling" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.experimental/relational-data-modeling into .claude/skills/relational-data-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "relational-data-modeling", 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/pproenca/dot-skills/tree/master/skills/.experimental/relational-data-modelingType 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 pproenca/dot-skills --skill relational-data-modeling -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pproenca/dot-skills relational-data-modeling --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/.experimental/relational-data-modeling .agents/skills/relational-data-modeling && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "relational-data-modeling" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.experimental/relational-data-modeling into .agents/skills/relational-data-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "relational-data-modeling", 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 pproenca/dot-skills --skill relational-data-modeling -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pproenca/dot-skills relational-data-modeling --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/.experimental/relational-data-modeling .cursor/skills/relational-data-modeling && 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 "relational-data-modeling" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.experimental/relational-data-modeling into .cursor/skills/relational-data-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "relational-data-modeling", 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/pproenca/dot-skills.git --path skills/.experimental/relational-data-modeling--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 pproenca/dot-skills --skill relational-data-modeling -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pproenca/dot-skills relational-data-modeling --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/.experimental/relational-data-modeling .gemini/skills/relational-data-modeling && 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 "relational-data-modeling" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.experimental/relational-data-modeling into .gemini/skills/relational-data-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "relational-data-modeling", 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 pproenca/dot-skills relational-data-modelingInstalls 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 pproenca/dot-skills --skill relational-data-modeling -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/.experimental/relational-data-modeling .github/skills/relational-data-modeling && 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 "relational-data-modeling" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.experimental/relational-data-modeling into .github/skills/relational-data-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "relational-data-modeling", 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 pproenca/dot-skills --skill relational-data-modeling -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install pproenca/dot-skills relational-data-modeling --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/.experimental/relational-data-modeling .opencode/skills/relational-data-modeling && 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 "relational-data-modeling" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.experimental/relational-data-modeling into .opencode/skills/relational-data-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "relational-data-modeling", 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.
relational-data-modelingCorrects the wrong defaults a model has when designing a relational schema — the DDL decisions an experienced engineer makes differently.
Relational Data Modeling is an agent skill from pproenca/dot-skills. Corrects the wrong defaults a model has when designing a relational schema — the DDL decisions an experienced engineer makes differently. Use when creating or reviewing tables, migrations, ER models, or ORM schema definitions. Covers identity and keys (surrogate vs natural, identity vs serial, uuidv7, composite keys that make cross-tenant references impossible), relationships (polymorphic foreign keys the database cannot enforce, referential actions, unindexed FK columns, disjoint subtypes), invariants the engine…
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 36 other files, including reference files and assets (for example `AGENTS.md`, `assets/templates/_template.md` and `metadata.json`).
It sits in Databases, covering ORMs and data access, Database schema design and Database administration. The repository describes itself as: A collection of AI agent skills following the Agent Skills open format. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit cf93c57. 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.
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.
Relational Data Modeling loads about 2.4k tokens when it runs, and up to ~24k if it reads all its reference files. Until then it costs about 246 tokens; SKILL.md has 972 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 pproenca/dot-skills at commit cf93c57, republished under its MIT licence (© pproenca). 972 words, ~2,426 tokens.
.claude/skills/relational-data-modeling/SKILL.md (or your agent's skills folder). This skill also uses 33 other files; get the full folder from GitHub.The decisions a relational schema forces, and how to settle them so the database enforces what it can and the application is left with only what it must. Every rule names the wrong default it corrects; there is no rule for what a capable model already gets right.
Examples are PostgreSQL 18, and every DDL statement in this skill was
executed against 18.4 — including the failure cases, to confirm the constraints
reject what they claim to reject. Roughly a third of the rules depend on
mechanisms MySQL and SQLite do not have (EXCLUDE, partial unique indexes,
range types, WITHOUT OVERLAPS, deferrable constraints, NOT VALID); those
rules say so. The judgment rules transfer to any relational engine.
Use this skill when:
CREATE TABLE / ALTER TABLE, a migration, or an ORM
schema definition (Prisma, Drizzle, Django models, ActiveRecord, Ecto, SQLAlchemy)This skill is NOT for:
| # | Category | Prefix | Covers |
|---|---|---|---|
| 1 | Identity and Keys | key- | What a row is; the choice every foreign key depends on |
| 2 | Relationships and Cardinality | rel- | Keeping references declarable to the database, not just intended |
| 3 | Constraints as the Model | cons- | Which mechanism can actually hold which invariant |
| 4 | Types and Domains | type- | The cheapest constraint available, chosen for meaning not habit |
| 5 | Derived and Encoded Data | norm- | What every deliberate copy costs, and what the database can't see inside |
| 6 | Time, History and Lifecycle | time- | What happens to a row when the world changes |
key-primary-key-is-real-identity — a surrogate hides the natural key; you still owe the table a UNIQUEkey-identity-not-serial — serial is legacy; GENERATED ALWAYS AS IDENTITY blocks the desync that breaks insertskey-uuidv7-for-client-generated — v4 randomises every B-tree insert; use uuidv7(), and only when a UUID is earnedkey-propagate-scoping-key — carry the tenant into child keys so a cross-tenant reference cannot be writtenkey-partition-axis-binds-the-key — for tables that grow with traffic, the partition axis is a key decision, not later tuningrel-no-polymorphic-fk — type + id makes referential integrity undeclarable; use an exclusive arc or a supertyperel-relationship-as-entity — name it if it has facts and a lifecycle; keep it a keyed link table if it doesn'trel-choose-referential-action — CASCADE means composition; on a ledger it is data lossrel-index-referencing-side — PostgreSQL does not index the child column; MySQL does, and the habit transfersrel-one-to-one-is-one-table — a split buys a join and enforces nothing unless storage or access control differsrel-subtypes-through-the-key — UNIQUE (id, kind) plus a pinned discriminator proves the variants are disjointcons-not-null-by-default — a CHECK that evaluates to NULL passes, and UNIQUE stops constrainingcons-exclude-for-non-overlap — the app-level overlap check is a read-then-write race; EXCLUDE is notcons-partial-unique-index — "at most one active X" is a UNIQUE ... WHERE, not a triggercons-check-is-single-row — wrapping a query in a function makes a CHECK that silently stops holdingcons-deferrable-for-cycles — defer to COMMIT instead of making a column nullable forevercons-not-valid-then-validate — what makes constraints addable to a live table at alltype-timestamptz-for-instants — timestamp stores a wall clock with no zone; a birthday is not an instanttype-text-over-varchar — varchar(255) is a MySQL artifact; a length limit is a CHECK or a domaintype-numeric-with-currency — floats drift, money is locale-dependent, and currency is never implicittype-range-not-two-columns — two loose columns admit inverted rows and block every temporal constrainttype-enum-lookup-or-check — CHECK by default, lookup table when values carry attributes, enum is a one-way doornorm-derived-needs-a-mechanism — no constraint can hold two copies equal; name the mechanism or don't copynorm-encoded-composite-values — generate the reference code from its parts; a parsed column can't be constrainednorm-jsonb-for-open-shapes — if you can enumerate the keys and filter on one, they are columnstime-events-not-in-place-updates — an in-place balance destroys the audit trail and serialises the accounttime-soft-delete-breaks-constraints — deleted_at disables unique constraints and foreign keys silentlytime-validity-as-a-range — WITHOUT OVERLAPS makes two simultaneous versions unrepresentabletime-valid-vs-transaction-time — two axes only when you must reproduce a past belief; usually you must notRead a reference file when its decision comes up — the quick reference above is enough to route. Each rule states the wrong default it corrects and why, then gives a canonical example.
Two rules of thumb tie the categories together and are worth applying even outside a specific rule:
cons-check-is-single-row for
the map of invariant shapes to mechanisms.| File | Description |
|---|---|
| references/_sections.md | Category definitions and ordering |
| assets/templates/_template.md | Template for new rules |
| metadata.json | Version and source references |
© pproenca, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 33 other files (references, assets) in skills/.experimental/relational-data-modeling of pproenca/dot-skills.
Open the folder on GitHubat commit cf93c57
Relational Data Modeling 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 |
|---|---|---|---|---|---|---|
| Relational Data Modeling this skillpproenca/dot-skills | 214 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Prisma Expertdavila7/claude-code-templates | 32k | 6 repos | ~2.6k | Automated safety check: Pass | MIT | |
| DB SculptorEliasOulkadi/shokunin | 114 | — | ~3.1k | Automated safety check: Notes | MIT | |
| Discover Databaserand/cc-polymath | 181 | — | ~2k | Automated safety check: Pass | MIT | |
| Jpa Patternsaffaan-m/ECC | 274k | 5 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Jpa Hibernate OptimizationHack23/cia | 239 | — | ~531 | Automated safety check: Pass | Apache-2.0 |
davila7/claude-code-templates
Prisma ORM expert for schema design, migrations, query optimization, relations modeling, and database operations.
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.
affaan-m/ECC
JPA/Hibernate patterns for entity design, relationships, query optimization, transactions, auditing, indexing, pagination, and pooling in Spring Boot.
Hack23/cia
Optimize JPA/Hibernate: entity design, query performance, N+1 prevention, caching strategies
FerroxLabs/wayland
Database schema design expertise covering normalization, denormalization strategies, indexing, query optimization, partitioning, connection pooling, migration management, multi-tenancy patterns, and…
pproenca/dot-skills
Audio forensics and voice recovery guidelines for CSI-level audio analysis.
pproenca/dot-skills
Guided, scripted pipeline for running JSX/TSX/React codemods safely across large legacy codebases.
pproenca/dot-skills
Create well-structured RFCs and technical proposals for software projects.
pproenca/dot-skills
Developer-experience friction auditing and fixing — slow onboarding, repeated manual setup steps, missing bootstrap/reset/seed scripts, undiscoverable conventions.
pproenca/dot-skills
Turn a rough idea for a language into a complete, implementable specification — a DSL, query, config/data, template, or protocol language — by interviewing the author dimension by dimension until…
pproenca/dot-skills
Drafting Python Enhancement Proposals (PEPs) — proposing a Python language feature, a standard library change, an interoperability standard, or an informational/process document for the Python…
Categories
Corrects the wrong defaults a model has when designing a relational schema — the DDL decisions an experienced engineer makes differently. Relational Data Modeling is an agent skill from pproenca/dot-skills. Corrects the wrong defaults a model has when designing a relational schema — the DDL decisions an experienced engineer makes differently.
Relational Data Modeling fits situations like: reviewing tables; ORM schema definitions.
Run `npx skills add pproenca/dot-skills --skill relational-data-modeling -a claude-code`. Or copy the skill folder (skills/.experimental/relational-data-modeling in pproenca/dot-skills) into .claude/skills/relational-data-modeling in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pproenca/dot-skills --skill relational-data-modeling -a codex`. Or copy the skill folder (skills/.experimental/relational-data-modeling in pproenca/dot-skills) into .agents/skills/relational-data-modeling 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 pproenca/dot-skills --skill relational-data-modeling -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/relational-data-modeling, .gemini/skills/relational-data-modeling, .github/skills/relational-data-modeling and .opencode/skills/relational-data-modeling in your project.
SKILL.md names no scripts, command-line tools or credentials: Relational Data Modeling 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.
Relational Data Modeling is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 21k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Relational Data Modeling: Prisma Expert (davila7/claude-code-templates, 32k stars), DB Sculptor (EliasOulkadi/shokunin, 114 stars), Discover Database (rand/cc-polymath, 181 stars) and Jpa Patterns (affaan-m/ECC, 274k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
pproenca (a GitHub user) maintains it in pproenca/dot-skills, which has 214 GitHub stars. The repository holds 182 skills in this directory. The repository was last updated on August 15, 2026.
Source: pproenca/dot-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.