SuperAPI AI 工具集

agentic-lookml

数据与分析

查看项目

更新于 10-21 05:05

技能介绍

用途与目标

agentic-lookml 面向 Looker 的 LookML 工程场景:从零编写 LookML、迁移分析师 SQL 查询、审计既有 LookML 项目、扩展语义模型。它把“确定性架构蓝图”和“完整 LookML 语法参考”合并到一处,供智能体在需要时同时参考。

主要能力

该技能整合两组能力。第一组是 references/ 下的 14 个 SQL-to-LookML 重构模式手册,配合 lkr parse sql-lookml-compare 命令使用,用于评估 SQL 查询与现有 LookML 项目图谱,把 Query 层计算(Quick Start query 块、Custom Fields、Table Calculations)与 LookML 层语义分开,并将每处 LookML 变更路由到可扩展的 Bronze、Silver、Gold Medallion 层级。模式覆盖:单表简单查询、条件度量与分桶、主外键连接、三角不等式连接、维表非键连接、嵌套 CTE 与子查询、度量的度量再聚合、窗口函数与 QUALIFY、UNION、UNNEST 数组、JSON 列与抽取、表通配符、大表与分区、模板化过滤器与参数。每条 SQL 经 lkr parse sql-lookml-compare 分析后可同时匹配多个模式类别,此时查阅 references/ 中对应手册,获取 AST 信号、Medallion 层路由与完整 LookML 模板。

第二组是来自 looker-open-source/looker-skills 的 9 个 LookML 编写参考技能,安装在 lookml 下(.agents/skills/lookml/sub-skills/*/SKILL.md),覆盖模型、视图与派生表、explore 与连接及聚合表、字段(dimension、dimension_group、measure、filter、parameter、value_format)、refinements 与 include 分层、Liquid 变量、高级 Liquid DRY 模式、OJOF 多事实外连接、set 与字段可见性、访问授权、LookML 数据测试。上游示例中若使用通用 /views/ 或 /explores/ 路径,均需替换为本技能定义的 Medallion 目录约定(bronze/、silver/、gold/、.refinement.lkml、silver/:view_a_:view_b_fields.view.lkml)。

工作流与命令

agentic-lookml-workflow 子技能负责端到端 SQL-to-LookML 会话与 PR 流程:仓库/包初始化(uv、lkr-dev-cli、.model.lkml、.github/workflows/lookml-pr-checks.yml)、--dev 认证(lkr auth add-access-token)、生产重置与带时间戳的 git 分支创建(YYYYMMDD_HHMMSS_mmm_<user_id>)、./data/:id/ 会话跟踪(data.json、summary.md、./data/:id/lookml)、sql-lookml-compare、lookml push --no-reset、validate_project、run_lookml_test、commit,以及附带 summary.md 的 GitHub PR 创建。

生成 Bronze 视图时,若 lkr parse sql-lookml-compare 显示物理表在 parsed_query.tables 中存在而 views 中无匹配条目(或 views[].unmodeled_db_columns 非空),应先用 generate-view-from-table(lkr tools lookml create --folder bronze、generate_lookml_with_new_files 或 MCP generate_view_from_table)自动生成 bronze/:table.view.lkml,再编写 refinement 或下游 LookML。自动生成的 bronze 视图不应手工编辑。

重构信号与翻译门禁

lkr parse sql-lookml-compare 解析 SQL AST 与 LookML 项目图谱,输出 QueryLookmlMapping,包含四组信号:raw_sql 与 parsed_query(表、CTE、连接、投影列、where、having、group_by、order_by、limit 等);views(匹配视图及文件位置、匹配字段与依赖链、未建模列、缺失列);explores 与 join_analysis(可达 explore、连接诊断、安全警告与先例);tests、aggregate_tables、explore_queries 与 usages(数据测试、聚合表、Quick Start 查询、内容校验器使用)。

在考虑任何派生表(NDT 或 SDT)之前,先执行 Canonical Looker Query 翻译检查:尝试把 SQL 翻译为 Looker 确定性生成的 SQL 形状(SELECT 维度与聚合度量、FROM 基视图、LEFT JOIN、WHERE 过滤器、GROUP BY、HAVING 度量过滤、ORDER BY、LIMIT)。若可结合现有 Explore 图谱、bronze refinement 中的单表维度与度量、silver 中的跨视图字段(以 sql: ;; bare-join)以及运行时过滤器或聚合后 Table Calculation/Custom Field 表达而不改变粒度、不引入非 PK=FK 连接,则该查询可直接映射为 Explore 查询(Quick Start 块与 Looker WriteQuery/run_inline_query,Table Calculations 与 Custom Fields 放在 dynamic_fields 中),无需派生表。Table Calculations 与 Custom Fields 不应放进 explore: { query: {} } 块,因为该语法不支持它们。

适用场景

适合 SQL 到 LookML 的迁移与重构、LookML 项目审计、语义模型扩展、Medallion 分层落地、结合 lkr 工具链的自动化校验与 PR 流程。

限制

资料仅提供技能说明与示例,未提供独立的安装命令、收费或价格、运行平台与性能效果等信息,这些暂未提供;实际使用依赖 lkr-dev-cli 等外部工具与 Looker 环境。