关于 semantic-model-builder
semantic-model-builder 是用于将指标、维度和实体整理为结构化 YAML 的数据技能。它帮助数据团队统一业务定义、验证元数据,并为语义层使用准备定义。
主要功能
- 01生成指标、维度和实体 YAML 框架
- 02验证字段、类型和引用
- 03参考 dbt Semantic Layer 指南
- 04输出定义文件和验证报告
适用场景
- 01为指标建立统一定义
- 02为 dbt Semantic Layer 准备 YAML
- 03记录核心数据模型的元数据
- 04检查现有语义模型 YAML
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ nimrodfisher/ data-analytics-skills --skill semantic-model-builder安装后在 Claude Code 中输入/semantic-model-builder确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/dimension_definition.yamlentity_definition.yamlmetric_definition.yamlreferences/dbt_semantic_layer_guide.mddimension_hierarchy_patterns.mdmetric_definition_framework.mdscripts/metric_template_generator.pymodel_yaml_validator.py详细介绍
适用场景
- 利益相关方询问“[metric] 是如何计算的?”,但没有权威定义
- 正在设置 dbt Semantic Layer,需要 YAML 格式的指标/维度/实体定义
- 多个团队使用不同的 SQL 查询计算同一指标,需要将唯一权威定义规范化
- 正在为核心模型创建数据目录条目,需要结构化元数据
流程
- 确定对象类型 — 判断要记录的是指标、维度还是实体。指标请使用
references/metric_definition_framework.md中的框架,维度请使用references/dimension_hierarchy_patterns.md中的框架。 - 收集定义所需的信息 — 收集:计算逻辑(SQL 或公式)、业务背景、数据源、粒度、边界情况和已知注意事项。若有不清楚之处,请咨询数据负责人。
- 生成 YAML 模板 — 运行
scripts/metric_template_generator.py,为对象类型搭建初始 YAML 结构。填写生成的模板。 - 验证 YAML — 运行
scripts/model_yaml_validator.py,检查必填字段、类型约束和引用完整性(被引用的维度需存在于同一文件中)。 - 补充 dbt 背景信息 — 如果要部署到 dbt Semantic Layer,请查阅
references/dbt_semantic_layer_guide.md,了解与你的 dbt 版本对应的确切字段名和约束。 - 保存最终定义 — 将指标保存到
assets/metric_definition.yaml,将维度保存到assets/dimension_definition.yaml,将实体保存到assets/entity_definition.yaml。
此技能所需的输入
- 必需:要记录的指标名称或模型名称
- 必需:计算逻辑 — SQL 代码片段、公式或自然语言步骤
- 必需:业务背景 — 谁会使用它、它能为哪些决策提供参考、“良好”的值是什么
- 可选:数据源表和列名称
- 可选:目标语义层框架(dbt Semantic Layer、Cube.js、LookML 等)
- 可选:要验证的现有 YAML
输出
assets/metric_definition.yaml— 填写完成的指标 YAML 定义assets/dimension_definition.yaml— 填写完成的维度 YAML 定义assets/entity_definition.yaml— 填写完成的实体 YAML 定义scripts/model_yaml_validator.py生成的验证报告(内联输出)
评论
支持 Markdown