Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/cookiemonsterdev/agents-skills/database-normalizationnpx skills add cookieMonsterDev/agents-skills --skill database-normalizationgit clone --depth 1 https://github.com/cookieMonsterDev/agents-skillsWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00153 | $0.01652 |
| Opus 5 | $0.00077 | $0.00826 |
| Sonnet 5 | $0.00031 | $0.00330 |
| Haiku 4.5 | $0.00015 | $0.00165 |
Grade A, and why
database-normalization scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 80 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Database Normalization
Ground normalization answers in the reference files bundled with this skill instead of improvising definitions. Each normal form has a reference file explaining it and a folder of worked examples across popular databases.
When to Use
- The user names a normal form directly ("what is BCNF", "show me 3NF in PostgreSQL")
- The user describes an anomaly that maps to a missing normal form ("if I delete the last order for a customer I lose their address")
- The user asks whether a schema is normalized, or asks to normalize/denormalize a schema
- The user asks how a normalization concept applies (or doesn't) in a non-relational database ("does 1NF matter in MongoDB?", "how do I avoid joins in DynamoDB?")
- The user wants existing tables or documents refactored toward or away from a normal form
Workflow
- Identify the normal form(s) from the user's question using the catalog below. If the user describes symptoms (repeating groups, partial/transitive dependency, update anomalies) rather than naming a form, diagnose which form addresses it.
- Read the reference file at
references/<form>.mdfor the definition, the dependency it eliminates, the anomalies it prevents, and when going further stops paying off. - Read the database example at
examples/<form>/<database>.<ext>when the user works in (or asks for) a specific database. Adapt it to their schema rather than pasting the generic example verbatim. - Answer with: what the form requires, what anomaly it prevents, and a schema/model adapted to the user's context — including whether that database's idioms call for staying normalized or deliberately denormalizing.
If the user's schema is already anomaly-free at a given form, say so — do not push further normalization for its own sake. Every step past 3NF/BCNF is a judgment call against real anomalies, not a checklist to exhaust.
Normal Form Catalog
Core Forms
The forms nearly every relational schema should reach; each eliminates a specific class of anomaly caused by a specific kind of dependency.
What ships with it
57 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- examples/boyce-codd-normal-form/cassandra.cql 1.4 KB
- examples/boyce-codd-normal-form/dynamodb.md 2.9 KB
- examples/boyce-codd-normal-form/mongodb.js 2.5 KB runs code
- examples/boyce-codd-normal-form/mysql.sql 2.5 KB
- examples/boyce-codd-normal-form/postgres.sql 2.3 KB
- examples/boyce-codd-normal-form/scylladb.cql 1.6 KB
- examples/boyce-codd-normal-form/sqlite.sql 2.3 KB
- examples/denormalization/cassandra.cql 1.7 KB
- examples/denormalization/dynamodb.md 2.8 KB
- examples/denormalization/mongodb.js 2.9 KB runs code
- examples/denormalization/mysql.sql 3.4 KB
- examples/denormalization/postgres.sql 3.2 KB
- examples/denormalization/scylladb.cql 1.8 KB
- examples/denormalization/sqlite.sql 3.2 KB
- examples/fifth-normal-form/cassandra.cql 1.6 KB
- examples/fifth-normal-form/dynamodb.md 2.9 KB
- examples/fifth-normal-form/mongodb.js 3.0 KB runs code
- examples/fifth-normal-form/mysql.sql 2.7 KB
- examples/fifth-normal-form/postgres.sql 2.5 KB
- examples/fifth-normal-form/scylladb.cql 1.7 KB
- examples/fifth-normal-form/sqlite.sql 2.5 KB
- examples/first-normal-form/cassandra.cql 1.5 KB
- examples/first-normal-form/dynamodb.md 2.7 KB
- examples/first-normal-form/mongodb.js 2.5 KB runs code
- examples/first-normal-form/mysql.sql 2.4 KB
- examples/first-normal-form/postgres.sql 2.1 KB
- examples/first-normal-form/scylladb.cql 1.6 KB
- examples/first-normal-form/sqlite.sql 2.0 KB
- examples/fourth-normal-form/cassandra.cql 1.1 KB
- examples/fourth-normal-form/dynamodb.md 2.7 KB
- examples/fourth-normal-form/mongodb.js 2.4 KB runs code
- examples/fourth-normal-form/mysql.sql 2.5 KB
- examples/fourth-normal-form/postgres.sql 2.2 KB
- examples/fourth-normal-form/scylladb.cql 1.2 KB
- examples/fourth-normal-form/sqlite.sql 2.3 KB
- examples/second-normal-form/cassandra.cql 1.7 KB
- examples/second-normal-form/dynamodb.md 2.7 KB
- examples/second-normal-form/mongodb.js 3.0 KB runs code
- examples/second-normal-form/mysql.sql 2.8 KB
- examples/second-normal-form/postgres.sql 2.6 KB
- examples/second-normal-form/scylladb.cql 1.8 KB
- examples/second-normal-form/sqlite.sql 2.6 KB
- examples/third-normal-form/cassandra.cql 1.5 KB
- examples/third-normal-form/dynamodb.md 2.3 KB
- examples/third-normal-form/mongodb.js 2.3 KB runs code
- examples/third-normal-form/mysql.sql 2.4 KB
- examples/third-normal-form/postgres.sql 2.2 KB
- examples/third-normal-form/scylladb.cql 1.6 KB
- examples/third-normal-form/sqlite.sql 2.2 KB
- LICENSE 1.0 KB
- references/boyce-codd-normal-form.md 6.2 KB
- references/denormalization.md 8.1 KB
- references/fifth-normal-form.md 7.2 KB
- references/first-normal-form.md 6.6 KB
- references/fourth-normal-form.md 6.4 KB
- references/second-normal-form.md 5.8 KB
- references/third-normal-form.md 6.3 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 80 lines · 153 tokens per session scan A 3372cb89d7d8
database-normalization is a skill published in the GitHub repository cookieMonsterDev/agents-skills (4 stars, last pushed 12d ago), licensed MIT. It adds 153 tokens to every session and 1,652 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
claude-md-improver
Audit and improve CLAUDE.md files in repositories. Use when user asks to check, audit, update, improve, or fix CLAUDE.md files. Scans for all CLAUDE.md files, evaluates quality against templates, outputs quality report, then makes targeted updates. Also use when the user mentions "CLAUDE.md maintenance" or "project…
agent-platform-rag-engine-management
Manage and query Agent Platform RAG Engine Corpora and retrieve grounded contexts using the Google GenAI SDK. Use when listing RAG corpora or files, inspecting a corpus, retrieving contexts, or generating content grounded in a RAG corpus. Do not use for standard database queries (use SQL/Spanner skills), Google…
agent-platform-model-registry
Agent Platform Model Registry Management. Use when you need to upload, list, describe, update, or delete machine learning models (and their versions) in the Agent Platform Model Registry. Don't use for model training, model deployment to endpoints, or managing non-Agent Platform models.
offensive-c2-frameworks
Command and Control framework deployment, configuration, and operational tradecraft for red team engagements. Covers Cobalt Strike (malleable C2 profiles, Beacon types HTTP/HTTPS/DNS/SMB, Beacon Object Files for in-memory execution, sleep and jitter tuning, named pipe pivoting), Sliver (implant generation across…
twitter-reader
Read Twitter/X for financial research using opencli (read-only). Use this skill whenever the user wants to read their Twitter feed, search for financial tweets, view bookmarks, look up user profiles, or gather market sentiment from Twitter/X. Triggers include: "check my feed", "search Twitter for", "show my…
quick-recap
Use when adding or following the red/yellow/green final status block convention for agent responses, especially by installing managed AGENTS.md or CLAUDE.md instructions.