semantic-layer-change-reviewlisted
Install: claude install-skill yeaight7/agent-powerups
## Purpose
Changes to the semantic layer directly impact dashboards and business reporting. A silent drift in a metric definition destroys trust. Review every semantic-layer change for mathematical soundness and backwards compatibility before approval.
## When to Use
- A PR modifies metric or semantic model YAML
- A metric's `expr`, aggregation, or filters are changing
- New dimensions or entities are being added to an existing semantic model
## Inputs
- The semantic-layer diff (semantic models, metrics, saved queries)
- The underlying model's grain and entity keys
## Workflow
1. **Enumerate what changed:**
```bash
git diff origin/main...HEAD -- '*.yml' '*.yaml'
dbt ls --resource-type metric
dbt ls --resource-type semantic_model
```
2. **Identify the change type:**
- **Addition** — safe (adding a new metric or dimension).
- **Deprecation** — requires communication (removing a metric).
- **Modification** — high risk (changing the SQL expression, aggregation, or filters of an existing metric).
3. **Evaluate mathematical soundness:**
- Are we averaging an average?
- Are we summing a distinct count?
- Does adding this dimension cause a fan-out that inflates the metric?
4. **Check backwards compatibility.** If an existing metric's logic is changed, you MUST flag it. The recommended path is dbt's metric versioning or a new metric (e.g., `revenue_v2`) rather than silently altering historical numbers. Find consumers of the metric before jud