Agent skill
data-modeling
Dimensional modeling, normalization, and schema design for analytics.
Install this agent skill to your Project
npx add-skill https://github.com/timequity/vibe-coder/tree/main/skills/data/data-modeling
SKILL.md
Data Modeling
Dimensional Modeling
Star Schema
┌─────────────┐
│ dim_date │
└──────┬──────┘
│
┌──────────┐ │ ┌──────────────┐
│dim_store │───┼───│ fct_sales │
└──────────┘ │ └──────────────┘
│
┌──────┴──────┐
│dim_product │
└─────────────┘
Fact Tables
CREATE TABLE fct_sales (
sale_id BIGINT PRIMARY KEY,
date_key INT REFERENCES dim_date(date_key),
store_key INT REFERENCES dim_store(store_key),
product_key INT REFERENCES dim_product(product_key),
quantity INT,
unit_price DECIMAL(10,2),
total_amount DECIMAL(10,2),
_loaded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Dimension Tables
CREATE TABLE dim_product (
product_key INT PRIMARY KEY,
product_id VARCHAR(50), -- Natural key
name VARCHAR(255),
category VARCHAR(100),
subcategory VARCHAR(100),
brand VARCHAR(100),
-- SCD Type 2 fields
valid_from DATE,
valid_to DATE,
is_current BOOLEAN
);
SCD Types
| Type | Description | Use Case |
|---|---|---|
| Type 1 | Overwrite | Corrections |
| Type 2 | New row + versioning | Track history |
| Type 3 | Previous value column | Limited history |
Normalization
| Form | Rule |
|---|---|
| 1NF | Atomic values, no repeating groups |
| 2NF | 1NF + no partial dependencies |
| 3NF | 2NF + no transitive dependencies |
Naming Conventions
dim_prefix for dimensionsfct_prefix for factsstg_prefix for stagingint_prefix for intermediate- Snake_case for columns
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
mvp-help
Help and documentation for Idea to MVP plugin. Use when: user asks about building MVPs, vibe coding, or available commands. Triggers: "help", "what can you do", "mvp help", "how to build".
verification-gate
Hidden quality gate that runs before showing "Done!" to user - ensures all tests pass, build succeeds, and requirements met before claiming completion
brainstorming
Refine ideas into detailed designs through Socratic dialogue. Use when: user has rough idea, needs to clarify requirements, explore approaches. Triggers: "brainstorm", "discuss idea", "I'm thinking about", "what if", "help me think through", "explore options", "/brainstorm".
subagent-creator
Guide for creating effective subagents (custom agents). Use when users want to create a new subagent that can be dispatched via Task tool for autonomous work. Covers frontmatter fields (name, description, tools, model, permissionMode, skills), prompt design, and when to use subagents vs skills.
backend-rust
Modern Rust backend with Axum, SQLx, tokio + CI/CD automation. Use when: building Rust APIs, high-performance services, or needing build/test/lint/audit automation. Triggers: "axum", "rust backend", "rust api", "sqlx", "tokio", "cargo build", "cargo test", "clippy", "rustfmt", "cargo-audit", "cross-compile", "rust ci", "release build", "rust security", "shuttle", "actix".
test-driven-development
Write failing test first, then minimal code to pass. Red-Green-Refactor cycle. Use when: implementing features, fixing bugs, refactoring code. Triggers: "implement", "add feature", "fix bug", "tdd", "test first", "write tests", "test-driven".
Didn't find tool you were looking for?