Build a governed semantic/metrics layer: define each metric once as metrics-as-code (dbt Semantic Layer/MetricFlow) with explicit grain and filters, model entities/dimensions to prevent fan-out, and expose one contract every BI tool consumes — ending metric drift.
How this skill is triggered — by the user, by Claude, or both
Slash command
/analytics-engineering:semantic-metrics-layerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Revenue, active user, churn, MRR — defined **once** as metrics-as-code, versioned, PR-reviewed. Two dashboards with two 'revenue's = trust gone.
Revenue, active user, churn, MRR — defined once as metrics-as-code, versioned, PR-reviewed. Two dashboards with two 'revenue's = trust gone.
A metric needs its grain (per what?) and filters (which segment?) stated. Otherwise it's uninterpretable.
Model joins/grains in the layer so consumers can't fan-out or double-count.
All BI tools query the same metrics — the semantic layer is the contract, not each tool's hidden calc. Significance -> applied-statistics.
npx claudepluginhub mcorbett51090/ravenclaude --plugin analytics-engineeringGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.