
Lookml Ingest
If you're migrating Looker models to ktx's semantic layer, this skill handles the mechanical translation. It reads LookML view and explore syntax and writes the equivalent ktx source YAML, covering three patterns: overlays for thin wrappers over existing tables, standalones for derived tables, and enforcement filters from sql_always_where. The mapping table is comprehensive and the identifier verification protocol is strict, which matters because LookML's dimension_group timeframes expand into virtual fields that don't exist as physical columns. The skill gates writes when the Looker connection name mismatches the warehouse adapter config, so you won't accidentally write sources that reference the wrong database. Load it when your turn contains .lkml files.
- GitHub stars
- 1.1K
- last updated
- Jun 11, 2026
Install
$ npx -y skills add kaelio/ktx --skill lookml_ingest --agent claude-codeInstalls into .claude/skills of the current project.
Files
LookML to ktx Semantic Layer
LookML views map to SL sources, measure: to measures, explore: { join: } to the join graph. This skill lays out the mapping and the three capture shapes.
Mapping table
| LookML | ktx form | Notes |
|---|---|---|
view: X { sql_table_name: …; measure:/dimension:/join: } | Overlay named X with measures, computed-only columns, column_overrides, joins, segments | Manifest-backed; inherit grain/columns |
view: X { derived_table: { sql: … } } | Standalone with top-level sql:, explicit grain: + columns: | No manifest entry exists |
view: X { sql_always_where: <p> } | Standalone with sql: SELECT * FROM <base> WHERE <p> | Enforcement, not opt-in |
explore: { join: Y { sql_on: …; relationship: … } } | joins: entry { to: Y, on: "<local> = Y.<col>", relationship: … } | On the overlay or standalone |
conditionally_filter / always_filter | segments: [{ name, expr }] | Callers reference by name |
| Manifest entry | _schema/*.yaml | Never edit - auto-imported |
Sponsors
Details
- Repository
- github.com/kaelio/ktx
- Category
- Databases
- License
- Apache-2.0
- First seen
- Jun 11, 2026