Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Capture semantic-layer and knowledge updates from a live database schema snapshot.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 59% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 36% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -26% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 58% | 0% |
| case-12 | ✗→✓ | ▲ Improved | -57% | 0% |
Use this skill when the ingest work unit contains raw files under raw-sources/<connectionId>/live-database/<syncId>/.
connection.json to understand the snapshot metadata.foreign-keys.json when the table has a foreign key or when joins areneeded for the semantic-layer source.
sl_write_source.
table field.descriptions.db on tables and columns.or column comments.
sl_validate for the table source before the work unit completes.Sample values come from the scan record; do not invent values not present in relationship-profile.json.
Before writing a wiki page or SL source on any topic:
discover_data({query: "<topic>"}) - see what wikis, SL sources, and rawtables already exist. Prefer updating existing pages over creating new ones.
Before emitting any schema.table or schema.table.column into a wiki body, SL source, tables: frontmatter, sl_refs, or emit_unmapped_fallback:
entity_details({connectionId, targets: [{display: "<identifier>"}]}) -confirm the identifier resolves; inspect native types, FK/PK, and sampleValues.
check whether they appear in entity_details sampleValues for the relevant column. If sampleValues is short or the sample may have missed real values, run a sql_execution probe with the same warehouse connection id: sql_execution({connectionId, sql: "SELECT DISTINCT <col> FROM <ref> LIMIT 50"}).
sql_execution({connectionId, sql: "SELECT 1 FROM <ref> LIMIT 0"}).If it errors, the identifier is fictional.
[unverified - from <rawPath>] in the wiki body,citing the exact raw path that mentioned it.
emit_unmapped_fallback with no_physical_table, includethe failing probe error in clarification.
<schema>.<table> placeholder strings from these instructionsinto output.
For a raw table with this shape:
json{ "name": "orders", "db": "public", "columns": [ { "name": "id", "type": "integer", "nullable": false, "primaryKey": true } ] }
Write a semantic-layer source with this shape:
yamlname: orders table: public.orders grain: id columns: - name: id type: number
Use string, number, time, or boolean for column types. When a database type is ambiguous, use string.
The raw snapshot is structural evidence. Do not invent measures, segments, business definitions, or joins that are not present in the snapshot files.
Other measured skills in the registry, with their headline benchmark lift.