From dp
Read-only exploration of dbt models in ImagineLearning/DataPlatformSnowflake — lineage, schema.yml tests, materialization, upstream/downstream refs. Use before writing any SQL transformation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dp:explore-dbt-modelsThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
- Running dbt commands (`dbt compile`, `dbt run`, `dbt test`) — this skill is read-only exploration.
dbt compile, dbt run, dbt test) — this skill is read-only exploration.DataPlatformSnowflake — schema changes go through PRs only.query-snowflake.Check the DataPlatformSnowflake dbt project before writing any SQL transformation. This skill prevents duplicate work and ensures new models are consistent with the existing lineage.
DataPlatformSnowflake from this skill.DataPlatformSnowflake PR, not direct DDL.schema.yml for descriptions), follow query-snowflake PII rules when verifying the model's output in Snowflake.GitHub: ImagineLearning/DataPlatformSnowflake
dbt root: dw_dbt/app/snowflake/
dw_dbt/app/snowflake/
├── dbt_project.yml
├── models/
│ ├── core/
│ │ ├── dimension/ ← user_dim, org_dim, etc.
│ │ ├── fact/ ← activity_attempt_fact, etc.
│ │ └── logs/
│ ├── il-math/
│ │ ├── dim_model/
│ │ └── staging/
│ ├── staging/ ← raw → staging
│ ├── sources/ ← {{ source() }} definitions
│ ├── cloud-events/
│ ├── il-events/
│ └── standalone/
├── macros/ ← surrogate_key, generate_schema_name, etc.
├── tests/
├── snapshots/
└── analyses/
DPS_DBT_ROOT (exported in your shell config — ~/.bashrc / ~/.zshrc / PowerShell $PROFILE / Windows User env vars) must point at the dw_dbt/app/snowflake/ directory inside a DataPlatformSnowflake clone. If unset, fall back to Method 2.
Use the Grep tool (cross-platform) against $DPS_DBT_ROOT/models/. Common queries:
| Goal | Pattern |
|---|---|
| Find a model by name | {table_name} in *.sql |
| Find downstream consumers | ref\('{model_name}'\) in *.sql |
| Find source-table consumers | source\('staging' in *.sql |
| Find a column producer | {column_name} in *.sql |
mcp__plugin_il_github__search_code:
query: "user_dim repo:ImagineLearning/DataPlatformSnowflake path:dw_dbt"
mcp__plugin_il_github__get_file_contents:
owner: "ImagineLearning"
repo: "DataPlatformSnowflake"
path: "dw_dbt/app/snowflake/models/core/dimension/user_dim.sql"
$DPS_DBT_ROOT/models/ (see Method 1 patterns above).{{ config(...) }}, {{ source() }}, {{ ref() }}, unique_key, incremental strategy. See https://docs.getdbt.com/reference/dbt-jinja-functions for syntax details.schema.yml in the same directory for column descriptions, tests, and PII flags. The IL convention is one schema.yml per model directory.ref('{this_model}') across models/ to find downstream consumers; follow {{ source() }} references back to models/sources/.query-snowflake skill: SELECT TABLE_NAME, ROW_COUNT, LAST_ALTERED FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME ILIKE '{model_name}'.surrogate_key macro (in macros/) is the IL convention for composite keys — prefer it over hand-written MD5(CONCAT(...)).generate_schema_name macro routes models to the right schema by directory; do not override per-model.il-math/ tree is a separate dbt sub-project for the math product — its models do NOT auto-build with the main project.Schema/path/materialization mapping: see dp:dbt-fix-conventions.
| Need | Skill |
|---|---|
| Verify table in Snowflake | query-snowflake |
| GitHub code search | mcp__plugin_il_github__search_code |
npx claudepluginhub imaginelearning/dp-claude-plugin --plugin dpProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.