用途:在写 SQL 之前,按分析工程实践为一个 dbt 模型做规格设计,让模型可评审、可测试。
主要能力:明确模型用途与粒度(one row per ___);确定分层(staging、intermediate、mart 维度/事实);梳理 source()/ref() 血缘;按顺序描述连接、过滤、聚合、窗口函数与业务规则,并标记可能破坏粒度的扇出连接;给出列清单(名称、类型、描述、key/measure/dimension);设计 dbt 测试(粒度键 unique + not_null、外键 relationships、枚举 accepted_values、自定义或 dbt_utils 测试);选择物化方式(view/table/incremental/ephemeral)并说明理由,增量需 unique_key 与 is_incremental() 过滤;输出骨架 model.sql(CTE 结构:imports → logic → final select)与含测试的 schema.yml。
使用方式:若未提供,需先询问模型含义与粒度、所属层、来源/上游引用、业务逻辑(连接、过滤、聚合与规则)。输出按固定格式:用途与粒度、血缘、转换逻辑、列、测试、物化、骨架。
质量检查:粒度须写成 one row per ___ 且键被测试为 unique + not_null;使用 source()/ref() 而非硬编码表名;每列有类型与描述;测试覆盖粒度键、外键与枚举列;物化有理由,增量声明 unique_key 与 is_incremental();标记扇出连接。
限制与反模式:不要粒度含糊、不要硬编码上游表名、不要无测试上线、不要默认全部用 table、不要无注释埋没业务逻辑。资料未提供具体安装命令、收费或平台信息。