| name | catalog-navigator |
| description | Discover data across Unity Catalog — find tables by name or topic, inspect columns and comments, and trace where data lives — from system.information_schema. An enterprise-wide skill for locating the right table before you query it, in any workspace. |
Illustrative example — demonstrates a well-formed SKILL.md for this reference
implementation. Adapt the content to your own org; do not deploy verbatim.
catalog-navigator
Overview
An enterprise-wide (Tier-3) data-discovery skill: it helps a user find the right table
across Unity Catalog before they query it. It searches the catalog by table or column name,
lists a table's columns and comments, and summarizes what a schema contains — all from the
live system.information_schema metadata views. Because it reads only catalog metadata
(names, types, comments, ownership) and never table contents, it is safe to run in every
workspace, which is exactly why it belongs at Tier 3: one discovery skill available org-wide,
regardless of domain.
When to use this skill
Reach for this skill whenever a user needs to locate or understand data anywhere in the catalog:
- "Which tables have 'billing' in their name?"
- "What columns does
system.billing.usage have?"
- "Find tables that contain a
customer_id column."
- "What's in the
system.lakeflow schema?"
- "Where would I find data about job runs?"
Instructions
When the user asks a discovery question:
- Interpret the target — a keyword (topic), a specific table, or a column name.
- Search
system.information_schema.tables for name/schema matches (topic or table lookup).
- Query
system.information_schema.columns to list a table's columns, or to find tables
that contain a named column.
- Present results as a compact table, then point the user to the single best-matching
table and suggest the domain skill (if any) that specializes in it.
Examples
Find tables by keyword
SELECT
table_catalog,
table_schema,
table_name,
comment
FROM system.information_schema.tables
WHERE LOWER(table_name) LIKE '%billing%'
OR LOWER(comment) LIKE '%billing%'
ORDER BY table_catalog, table_schema, table_name
LIMIT 50
Inspect a table's columns
SELECT
column_name,
data_type,
comment
FROM system.information_schema.columns
WHERE table_catalog = 'system'
AND table_schema = 'billing'
AND table_name = 'usage'
ORDER BY ordinal_position
Find tables containing a given column
SELECT
table_catalog,
table_schema,
table_name
FROM system.information_schema.columns
WHERE LOWER(column_name) = 'job_id'
GROUP BY table_catalog, table_schema, table_name
ORDER BY table_catalog, table_schema, table_name
LIMIT 50
Recommendations framework
After presenting matches, always include:
- Best match — the single most relevant table for the user's intent, fully qualified.
- Specialist hand-off — if a domain skill specializes in that table (e.g. billing →
pipeline-cost-analyzer), name it so the user routes there for analysis.
- Narrowing tip — one way to refine if the search returned too many matches (add a schema
filter, search by column instead of name).
Edge cases
- No matches — if the keyword matches nothing visible, say so and suggest a broader term,
rather than returning an empty table with no explanation.
- Permission scope —
information_schema only surfaces objects the caller can see; results
are relative to the user's Unity Catalog grants, not the whole metastore.
- Discovery, not analysis — this skill locates and describes tables. Once the right table
is found, hand off to the specialist domain skill (or a direct query) for the actual analysis;
it never reads table contents itself.
Data scope
system.information_schema.tables — table inventory, schema, ownership, and comments
system.information_schema.columns — column names, types, and comments
- No PII or table contents are accessed — this skill reads catalog metadata only.