looker_ingest

Extracts ktx knowledge and semantic-layer proposals from staged Looker dashboard, Look, and explore JSON.

1.6k|101|Updated May 10, 2026
One-click install
npx skills add https://github.com/Kaelio/ktx --skill looker-ingest
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: looker_ingest
Source: https://github.com/Kaelio/ktx/tree/main/packages/cli/src/skills/looker_ingest
Command: npx skills add https://github.com/Kaelio/ktx --skill looker-ingest

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Looker instances accumulate years of metric definitions, segment logic, and business semantics locked inside dashboards, Looks, and explores. This Skill converts that staged Looker runtime JSON into durable ktx wiki knowledge and semantic-layer sources, so agents can query the warehouse using the same definitions your BI teams already trust.

Core Features & Use Cases

  • Explore-to-SL mapping: Converts Looker explores into semantic-layer sources using the deterministic looker__<model>__<explore> key, branching on the staged targetTable contract and validating every write with sl_validate.
  • Query proposal handling: Runs looker_query_to_sl on each Look or dashboard tile query, then adds measures, creates sources, or falls back to wiki-only candidates based on the proposal decision.
  • Identifier verification: Confirms every schema.table.column reference with entity_details and sql_execution probes before promoting it into wiki pages or SL sources, preventing fictional identifiers.
  • Use Case: After staging Looker API exports under explores/, dashboards/, and looks/, run this Skill to turn a high-usage "Open Pipeline ARR" Look into a validated SL measure plus a wiki definition, while skipping low-usage ad-hoc views.

Quick Start

Load the looker_ingest skill and process the staged Looker WorkUnit whose raw files are under explores/, dashboards/, or looks/ to produce wiki knowledge candidates and validated semantic-layer sources.

Frequently Asked Questions about looker_ingest

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert Looker explores into a semantic layer?

Stage the explore JSON under explores/<model>/<explore>.json, then map it to a source named looker__<model>__<explore>. When targetTable.ok is true, write the source on targetWarehouseConnectionId using targetTable.canonicalTable as source.table, and run sl_validate afterward.

How to ingest Looker dashboards and Looks into ktx?

Read every rawFiles entry for the WorkUnit, call looker_query_to_sl for each query object, and branch on the proposal decision. Write measures or sources only when canWriteStandaloneSource is true, otherwise record wiki candidates or emit_unmapped_fallback.

What happens when a Looker connection is not mapped to a warehouse?

The WorkUnit stays wiki-only for SL purposes. Capture durable domain semantics with context_candidate_write, then emit_unmapped_fallback with the exact reason code such as no_connection_mapping, putting human-readable context in clarification.

Does the skill write Looker usage statistics into wiki pages?

No. Usage counts, owner names, schedules, and favorites are used only for prioritization and candidate scoring. They must never appear in assertion, rationale, or wiki prose; attribution stays in the provenance action trail.

Why does identifier verification fail for some Looker fields?

Raw Looker sql_table_name values can contain aliases, ${TABLE} templates, or derived-table SQL that do not resolve as physical tables. Verify with entity_details and a sql_execution probe; if unresolved, mark the identifier unverified or emit a fallback with the failing probe error.

When should a Looker query be skipped instead of ingested?

Skip point-in-time values, dashboard layout and visualization settings, ad-hoc low-usage queries, and simple saved views with no metric, segment, or concept definition. Zero or near-zero usage lowers priority and usually means skip.