Ddia Principles
luoling8192/ai-coding-principles
Designing Data-Intensive Applications (DDIA) distilled reference guide by Martin Kleppmann.
Designs the warehouse and semantic layer — source-to-mart structure, dimensional modeling, grain, slowly changing dimensions, and the metric layer analytics reads through.
$ npx skills add cbrock84/headcount --skill data-modeling -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install cbrock84/headcount 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/cbrock84/headcount.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/data-analytics/skills/data-modeling .claude/skills/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 "data-modeling" agent skill from https://github.com/cbrock84/headcount/tree/main/plugins/data-analytics/skills/data-modeling into .claude/skills/data-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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/cbrock84/headcount/tree/main/plugins/data-analytics/skills/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 cbrock84/headcount --skill data-modeling -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install cbrock84/headcount data-modeling --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cbrock84/headcount.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/data-analytics/skills/data-modeling .agents/skills/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 "data-modeling" agent skill from https://github.com/cbrock84/headcount/tree/main/plugins/data-analytics/skills/data-modeling into .agents/skills/data-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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 cbrock84/headcount --skill data-modeling -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install cbrock84/headcount data-modeling --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cbrock84/headcount.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/data-analytics/skills/data-modeling .cursor/skills/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 "data-modeling" agent skill from https://github.com/cbrock84/headcount/tree/main/plugins/data-analytics/skills/data-modeling into .cursor/skills/data-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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/cbrock84/headcount.git --path plugins/data-analytics/skills/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 cbrock84/headcount --skill data-modeling -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install cbrock84/headcount data-modeling --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cbrock84/headcount.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/data-analytics/skills/data-modeling .gemini/skills/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 "data-modeling" agent skill from https://github.com/cbrock84/headcount/tree/main/plugins/data-analytics/skills/data-modeling into .gemini/skills/data-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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 cbrock84/headcount 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 cbrock84/headcount --skill data-modeling -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/cbrock84/headcount.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/data-analytics/skills/data-modeling .github/skills/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 "data-modeling" agent skill from https://github.com/cbrock84/headcount/tree/main/plugins/data-analytics/skills/data-modeling into .github/skills/data-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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 cbrock84/headcount --skill 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 cbrock84/headcount data-modeling --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cbrock84/headcount.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/data-analytics/skills/data-modeling .opencode/skills/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 "data-modeling" agent skill from https://github.com/cbrock84/headcount/tree/main/plugins/data-analytics/skills/data-modeling into .opencode/skills/data-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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.
data-modelingDesigns the warehouse and semantic layer — source-to-mart structure, dimensional modeling, grain, slowly changing dimensions, and the metric layer analytics reads through.
Data Modeling is an agent skill from cbrock84/headcount. Designs the warehouse and semantic layer — source-to-mart structure, dimensional modeling, grain, slowly changing dimensions, and the metric layer analytics reads through. Use this to design or restructure a warehouse, model a new source, decide on grain or table structure, build a semantic or metric layer, or diagnose why queries are slow, wrong, or impossible to write.
Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/sources.md`).
It sits in Databases, covering Database schema design and Data warehousing. The repository describes itself as: An agent organization structured as a company — 15+ departments, 125+ skills, each independently installable, citing the standards and regulators that settle the question. Runs… The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 98d1c17. 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.
Data Modeling loads about 1k tokens when it runs, and up to ~1.3k if it reads all its reference files. Until then it costs about 97 tokens; SKILL.md has 550 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 cbrock84/headcount at commit 98d1c17, republished under its MIT licence (© cbrock84). 550 words, ~1,002 tokens.
.claude/skills/data-modeling/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Three layers, each with one job:
Raw — source data, append-only, otherwise unmodified. Do not apply business logic on ingest: you cannot recover what you discarded, and the logic will need to change retroactively.
Privacy and security transformations are the exception, and belong at ingest. Credentials and secrets should never land in the warehouse at all. Personal data that is not needed should be dropped rather than stored and governed later, and identifiers you must keep but rarely need in the clear should be tokenized or encrypted on arrival. Retention and deletion apply from ingest, not from the marts.
The distinction: strip what you must not hold, keep everything you are entitled to hold, and leave interpretation for later.
Staging — cleaned and conformed: consistent types, standardized names, deduplicated, no business logic yet.
Marts — business-facing models shaped for how questions are asked.
The discipline that pays is keeping business logic out of layers 1 and 2. Logic embedded in ingestion cannot be changed retroactively, and it will need to change.
State the grain of every table in one sentence: one row per what. "One row per order line per day" is a grain. "Order data" is not.
Most modeling errors are grain errors, and they surface as fan-out — a join multiplying rows so every downstream sum is inflated. If a number is mysteriously too high, check the grain before checking the logic.
Facts for events and measurements; dimensions for the things being described. Keep facts narrow and long, dimensions wide and short.
Conform dimensions across facts — one customer dimension, used everywhere. Separate customer tables per domain is how the same customer gets counted differently in two reports.
Handle history deliberately. Overwriting a dimension attribute rewrites the past: last year's revenue silently re-attributes to this year's segment. Decide per attribute whether history matters, and where it does, keep versions with valid-from and valid-to.
Define metrics once, above the marts, and have every consumer read through it. Without it, the same metric is reimplemented in each dashboard and they drift — not because anyone is careless, but because a filter differs.
The semantic layer is where the metric dictionary becomes executable rather than documentary.
Model for the query pattern you actually have. Pre-aggregate what is queried constantly; leave the long tail to compute on demand.
Partition and cluster on what people filter by — usually time, then a tenant or entity key. Most slow warehouse queries are full scans of a table that could have been partitioned by date.
Denormalize deliberately, and write down why. Undocumented denormalization is indistinguishable from a modeling error six months later.
references/sources.md in this skill lists the outside authorities that settle the questions
here — what each one is authoritative for, and what you may do with it. Check them before
answering on anything they cover, and cite what you used. Most are free to read and not free
to reproduce; the use note on each is binding.
© cbrock84, 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 1 other file (references) in plugins/data-analytics/skills/data-modeling of cbrock84/headcount.
Open the folder on GitHubat commit 98d1c17
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 |
|---|---|---|---|---|---|---|
| Data Modeling this skillcbrock84/headcount | 2k | — | ~1k | Automated safety check: Pass | MIT | |
| Ddia Principlesluoling8192/ai-coding-principles | 173 | — | ~4.7k | Automated safety check: Pass | MIT | |
| SQL Prodavila7/claude-code-templates | 32k | 9 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Schema Design Advisorchmonitor/chmonitor | 299 | — | ~2.2k | Automated safety check: Pass | GPL-3.0 | |
| Schema Design InterviewerPrepLabsAI/InterviewMentor | 112 | — | ~8.2k | Automated safety check: Pass | MIT | |
| Clickhouse Core Workflow Ajeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.6k | Automated safety check: Pass | MIT |
luoling8192/ai-coding-principles
Designing Data-Intensive Applications (DDIA) distilled reference guide by Martin Kleppmann.
davila7/claude-code-templates
Master modern SQL with cloud-native databases, OLTP/OLAP optimization, and advanced query techniques.
chmonitor/chmonitor
Recommend table ORDER BY keys, partition strategies, column data-type right-sizing, codecs, skip indexes, and projections for ClickHouse tables.
PrepLabsAI/InterviewMentor
A Data Warehouse and Lakehouse Schema Design Expert interviewer focused on dimensional modeling, star/snowflake schemas, analytics optimization, and modern lakehouse architectures.
jeremylongshore/tons-of-skills-marketplace
Design ClickHouse schemas with MergeTree engines, ORDER BY keys, and partitioning.
databricks/databricks-agent-skills
Databricks SQL (DBSQL) advanced features and SQL warehouse capabilities.
cbrock84/headcount
Designs orchestrator-and-subagent hierarchies for a repository — splitting agents by exclusive write surface, pairing every producer with an independent auditor, and enforcing the split with a…
cbrock84/headcount
Designs and audits who can reach what — authentication, authorization models, privileged access, service credentials, and joiner-mover-leaver process.
cbrock84/headcount
Concentrates marketing and sales effort on a named set of accounts rather than on volume — qualifying whether the model fits your economics at all, building the account list and the buying group…
cbrock84/headcount
Gets new users from signup to first real value — signup flow, onboarding, time-to-value, and the early experience that determines whether someone becomes a user or a lapsed account.
cbrock84/headcount
Produces executive-level research — market sizing, competitor mapping, trend analysis, and strategic intelligence — grounded in cited sources with the confidence in each claim made explicit.
cbrock84/headcount
Optimizes for AI assistants and AI-generated answers — being retrievable, being cited, and being represented accurately when a model answers on your behalf.
Categories
Designs the warehouse and semantic layer — source-to-mart structure, dimensional modeling, grain, slowly changing dimensions, and the metric layer analytics reads through. Data Modeling is an agent skill from cbrock84/headcount. Designs the warehouse and semantic layer — source-to-mart structure, dimensional modeling, grain, slowly changing dimensions, and the metric layer analytics reads through.
Data Modeling fits situations like: tasks that involve Database schema design; tasks that involve Data warehousing.
Run `npx skills add cbrock84/headcount --skill data-modeling -a claude-code`. Or copy the skill folder (plugins/data-analytics/skills/data-modeling in cbrock84/headcount) into .claude/skills/data-modeling in your project. Claude Code loads it when a task matches its description.
Run `npx skills add cbrock84/headcount --skill data-modeling -a codex`. Or copy the skill folder (plugins/data-analytics/skills/data-modeling in cbrock84/headcount) into .agents/skills/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 cbrock84/headcount --skill 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/data-modeling, .gemini/skills/data-modeling, .github/skills/data-modeling and .opencode/skills/data-modeling in your project.
SKILL.md names no scripts, command-line tools or credentials: 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.
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 1k tokens (SKILL.md is roughly 4k 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 313 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Data Modeling: Ddia Principles (luoling8192/ai-coding-principles, 173 stars), SQL Pro (davila7/claude-code-templates, 32k stars), Schema Design Advisor (chmonitor/chmonitor, 299 stars) and Schema Design Interviewer (PrepLabsAI/InterviewMentor, 112 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
cbrock84 (a GitHub user) maintains it in cbrock84/headcount, which has 2,007 GitHub stars. The repository holds 175 skills in this directory. The repository was last updated on September 17, 2026.
Source: cbrock84/headcount on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.