areas/software/data-engineering/skills/data-modeling/SKILL.md
# Skill: Data Modeling ## When to load When designing a warehouse schema, choosing between modeling approaches, or refactoring an existing model. ## Approach Decision Tree ``` Primary consumer? → BI tools + analysts: Kimball (dimensional) → Data science + ML: Wide denormalized tables → Multiple teams: Data Vault History tracking? → Never/rarely: Type 1 SCD (overwrite) → Track current + previous: Type 2 SCD (versioned rows) Scale? → < 100 GB: Simple star schema → 100 GB – 10 T
npx skillsauth add sawrus/agent-guides areas/software/data-engineering/skills/data-modelingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
When designing a warehouse schema, choosing between modeling approaches, or refactoring an existing model.
Primary consumer?
→ BI tools + analysts: Kimball (dimensional)
→ Data science + ML: Wide denormalized tables
→ Multiple teams: Data Vault
History tracking?
→ Never/rarely: Type 1 SCD (overwrite)
→ Track current + previous: Type 2 SCD (versioned rows)
Scale?
→ < 100 GB: Simple star schema
→ 100 GB – 10 TB: Partitioned star schema
→ > 10 TB: Data Vault or Lakehouse (Delta/Iceberg)
sources/ ← Raw data as-is from source systems
staging/ ← Cleaned, renamed, typed. 1:1 with source tables.
intermediate/ ← Business logic, joins. Not exposed directly.
marts/ ← Dimensional models for specific use cases
├── core/ ← fct_*, dim_*
└── finance/ ← rpt_*
CREATE TABLE fct_orders (
order_key BIGINT PRIMARY KEY, -- surrogate key
order_id VARCHAR NOT NULL, -- natural key
user_key BIGINT REFERENCES dim_users(user_key),
date_key INT REFERENCES dim_date(date_key),
quantity INT NOT NULL,
total_amount NUMERIC(10,2) NOT NULL,
loaded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
source_system VARCHAR DEFAULT 'orders-api'
);
testing
QA Expert for writing E2E tests, test scenarios, test plans, and ensuring test coverage quality.
development
Expert UI/UX design intelligence for creating distinctive, high-craft, and mobile-first interfaces. Focuses on premium aesthetics, touch-first ergonomics, and Flutter performance.
development
Code Review Expert for static analysis, security auditing, architecture review, and ensuring code quality standards.
development
Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep watching open PRs so fresh review feedback is surfaced promptly. Use when the user asks Codex to monitor a PR, watch CI, handle review comments, or keep an eye on failures and feedback on an open PR.