db-design

db-design is a skill for Claude Code, Codex from kouroshez/coding-os. It costs 101 tokens per session (3,526 once invoked), scanned A, original, Apache-2.0.

A guide for designing and changing PostgreSQL databases, including tables, relationships, constraints, indexes, migrations, and choices between different ways of storing data. PostgreSQL is a database system commonly used as an application's main source of truth.

In plain words
What is it for?
Use it when modeling a new domain, adding tables or columns, designing indexes, writing migrations, choosing database access methods, or deciding how to delete and audit records.
Why use it?
It helps keep database structures correct as data grows and prevents risky changes from breaking live systems or making queries slow.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/kouroshez/coding-os/db-design
Any agent
npx skills add kouroshez/coding-os --skill db-design
Clone the repo
git clone --depth 1 https://github.com/kouroshez/coding-os

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for db-design

README.md
[![agentmods](https://agentmods.dev/badge/skills/kouroshez/coding-os/db-design.svg)](https://agentmods.dev/skills/kouroshez/coding-os/db-design)
Your own site
<a href="https://agentmods.dev/skills/kouroshez/coding-os/db-design"><img src="https://agentmods.dev/badge/skills/kouroshez/coding-os/db-design.svg" alt="Measured on agentmods" height="20"></a>
Per session 101 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,526 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What 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.

ModelPer sessionOnce invoked
Fable 5 $0.00101 $0.03526
Opus 5 $0.00051 $0.01763
Sonnet 5 $0.00020 $0.00705
Haiku 4.5 $0.00010 $0.00353

Measured 3d ago against content hash eb565a5ee03a, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

db-design 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 3d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/migration-safety.sh), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

src/core/skills/db-design/SKILL.md · 328 lines

How it starts

The opening of the file, as written. The whole thing — 328 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Database Design — PostgreSQL First

A practical design playbook for the project's stack: PostgreSQL as the system of record, accessed by the Go+Fiber business core and the Python+FastAPI AI adapter, with hexagonal repositories isolating the rest of the codebase from schema specifics.

When to Use This Skill

  • Modeling the schema for a new bounded context (orders, users, lessons, payments).
  • Adding a column or table that will see growth.
  • Choosing PK / FK shapes (UUID? bigint? prefixed string?).
  • Designing indexes after seeing query patterns or EXPLAIN output.
  • Writing migrations that touch live data (never just on a fresh DB).
  • Picking ORM (sqlc / GORM / SQLAlchemy / Drizzle) vs raw SQL for a feature.
  • Deciding on soft delete vs hard delete + audit table.
  • Evaluating Redis (cache/queue) vs Postgres (LISTEN/NOTIFY, advisory locks) for a side-channel.

Skip when: prototyping with a sqlite that will be thrown away. Use this skill before the throw-away gets promoted.

The Three Rules

  1. Constraints in the database, not the application. NOT NULL, CHECK, UNIQUE, FOREIGN KEY enforced by Postgres survive bugs in the app, replays of stale code, and direct DBA fixes. Application-only invariants are constantly violated by accident.
  2. Migrations are forward-only and additive. Never drop a column the same release you stop writing to it. Two-phase: stop writing → wait → drop. See references/migration-discipline.md.
  3. Your queries determine your indexes, not the other way around. Don't index speculatively; index after you see EXPLAIN output for the queries that matter.

Modeling Choices

Primary Keys

Style Pros Cons Use when
bigint identity Compact, sequential, fast B-tree, predictable Leaks count, predictable, one-DB-only Internal high-volume tables (audit log, events).
UUID v7 (time-ordered) Globally unique, mergeable, sortable 16 bytes, slightly bigger indexes Default for user-visible entities. Postgres 18 has built-in uuidv7(); on 16/17 use pg_uuidv7 extension or app-side.
UUID v4 (random) Globally unique, no info leakage Index bloat from random insertion order, 4× page splits vs v7 Avoid for primary keys at scale. Fine for IDs that never get indexed.
Prefixed text (ord_8h2k4n9d3p7q) Self-documenting in logs, debug-friendly App-side ID generation, slightly larger Public API surface (Stripe pattern). Pair with a UUID v7 internally if needed.

Read the full file on GitHub · 328 lines

Files

What ships with it

4 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.

Changes

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.

  1. 3d ago First seen · 328 lines · 101 tokens per session scan A eb565a5ee03a

Subscribe to this mod's changes

db-design is a skill published in the GitHub repository kouroshez/coding-os (6 stars, last pushed 3d ago), licensed Apache-2.0. It adds 101 tokens to every session and 3,526 once invoked, about $0.0005 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.

Related

Other skills, from other repositories

omnigraph

Store, retrieve, and query knowledge, memory, and relationships in an Omnigraph graph, and operate a local or remote Omnigraph deployment. Use when the user wants to capture or recall facts, notes, or entities, build or query a knowledge graph or agent memory, or run Omnigraph — and whenever you see Omnigraph CLI…

ModernRelay/omnigraph · 236 tokens

fetch-data

取数 / 查数据 / 拉数据 / 跑 SQL。把自然语言取数需求转为 SQL,经数据湖仓执行后返回查询结果供下游分析。任何需要业务数据的任务在工作区缺少对应文件时都必须先调用此技能——覆盖 BI 业务分析、留存 / 转化 / 同期群分析、数据探索 EDA、统计建模、定量计算、元数据查询、数据查询。命中任一即触发:(1) 直接索要指标或记录,如「DAU 多少」「上月销售额」「3 月留存率」「这个客户的订单」;(2) 取数口语,如「查 / 查一下 / 取一下 / 拉一下 / 抓数据 / 找数据 / 搜数据 / 跑 SQL / 写 SQL / 导出 / 缺数据 / 没数据 / 数据不够」;(3) 涉及数据来源,如「从语义层 / 数据湖仓…

agentscope-ai/QwenPaw-Data · 276 tokens

binder-modeling

Binder data modeling — define entity types, fields, relations, constraints, views, and navigation. Use when asked to "create a type", "add a field", "define a schema", "set up relations", "model entities", "create a view", "set up navigation", "render entities as files", or design a binder workspace schema.

mpazik/Binder · 74 tokens

brainctl

Unified agent memory CLI — read, write, search, and maintain the shared memory spine (brain.db). Use for persistent cross-session memory, knowledge graph, event logging, decisions, affect tracking, and consolidation.

TSchonleber/brainctl · 45 tokens

binder-import

Import external data into a Binder workspace. Handles CSV, JSON, YAML, Markdown files, and directories of Markdown. Use when asked to "import data", "load records from a file", "ingest documents", "migrate data into binder", or bulk-create records from an external source.

mpazik/Binder · 62 tokens

binder-cli

Binder CLI for knowledge graph operations — CRUD, search, schema inspection, transaction import, docs rendering. Use when asked to "query binder", "search records", "create a record", "check the schema", "import transactions", "undo changes", or work with a binder workspace.

mpazik/Binder · 60 tokens