Skip to content
cccskills
FreePublished on GitHub

semantic-model-builder

Build structured semantic layer documentation for metrics, dimensions, and entities. Activate when you need to define a business metric, document a data model, or create YAML definitions compatible with dbt Semantic Layer or similar frameworks.

The English summary is being prepared. Showing the original description.

See how to install

Files included (9)

  • SKILL.md2.5 KB
  • assets/dimension_definition.yaml892 B
  • assets/entity_definition.yaml1.0 KB
  • assets/metric_definition.yaml1.5 KB
  • references/dbt_semantic_layer_guide.md4.3 KB
  • references/dimension_hierarchy_patterns.md3.9 KB
  • references/metric_definition_framework.md3.3 KB
  • scripts/metric_template_generator.py4.2 KB
  • scripts/model_yaml_validator.py5.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

When to use

  • A stakeholder asks "how is [metric] calculated?" and no canonical definition exists
  • You're setting up dbt Semantic Layer and need YAML metric/dimension/entity definitions
  • Multiple teams are using different SQL queries for the same metric — you need to codify the one true definition
  • You're building a data catalog entry for a core model and need structured metadata

Process

  1. Identify the object type — decide whether you're documenting a metric, a dimension, or an entity. Use the frameworks in references/metric_definition_framework.md for metrics and references/dimension_hierarchy_patterns.md for dimensions.
  2. Gather the definition inputs — collect: calculation logic (SQL or formula), business context, data source(s), grain, edge cases, and known gotchas. Ask the data owner if anything is unclear.
  3. Generate the YAML template — run scripts/metric_template_generator.py to scaffold the initial YAML structure for the object type. Fill in the generated template.
  4. Validate the YAML — run scripts/model_yaml_validator.py to check required fields, type constraints, and reference integrity (referenced dimensions exist in the same file).
  5. Add dbt context — if this will be deployed to dbt Semantic Layer, consult references/dbt_semantic_layer_guide.md for the exact field names and constraints for your dbt version.
  6. Save final definitions — save metrics to assets/metric_definition.yaml, dimensions to assets/dimension_definition.yaml, entities to assets/entity_definition.yaml.

Inputs the skill needs

  • Required: the metric name or model name to document
  • Required: calculation logic — SQL snippet, formula, or plain-English steps
  • Required: business context — who uses it, what decision it informs, what a "good" value looks like
  • Optional: data source table(s) and column names
  • Optional: target semantic layer framework (dbt Semantic Layer, Cube.js, LookML, etc.)
  • Optional: existing YAML to validate

Output

  • assets/metric_definition.yaml — filled metric YAML definition(s)
  • assets/dimension_definition.yaml — filled dimension YAML definition(s)
  • assets/entity_definition.yaml — filled entity YAML definition(s)
  • Validation report from scripts/model_yaml_validator.py (inline output)

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Rigorous A/B test statistical analysis. Use when analyzing experiment results, calculating statistical significance, checking for sample ratio mismatch, or validating test design before launch.

The English summary is being prepared. Showing the original description.

nimrodfisher/data-analytics-skills481Updated Sep 25, 2026

Track and document analytical assumptions and decisions. Use when making analytical choices, documenting trade-offs, ensuring transparency, or creating audit trails for analytical work.

The English summary is being prepared. Showing the original description.

nimrodfisher/data-analytics-skills481Updated Sep 25, 2026

Structured, reproducible analysis documentation. Use when documenting analysis findings, creating analysis notebooks, ensuring reproducibility, or building analysis archives for future reference.

The English summary is being prepared. Showing the original description.

nimrodfisher/data-analytics-skills481Updated Sep 25, 2026

Structure analysis approach before starting work. Use when receiving new analysis requests, breaking down complex questions into steps, or planning iterative analysis workflows.

The English summary is being prepared. Showing the original description.

nimrodfisher/data-analytics-skills481Updated Sep 25, 2026

Pre-delivery quality assurance for analysis work. Use when reviewing analysis before sharing with stakeholders, checking for completeness, validating assumptions, or ensuring clarity of recommendations.

The English summary is being prepared. Showing the original description.

nimrodfisher/data-analytics-skills481Updated Sep 25, 2026

Post-analysis learning and process improvement. Use when completing major analysis projects, documenting lessons learned, or improving team analytical practices.

The English summary is being prepared. Showing the original description.

nimrodfisher/data-analytics-skills481Updated Sep 25, 2026

See all skills by nimrodfisher

Report a problem with this skill