Agents / Skills

Data Dictionary

Skill

Builds the dictionary your data actually needs: every table and field with its real meaning, the values it takes in practice, who writes it and who relies on it — documented from the data itself, not from optimistic memory.

Best for

  • Warehouses where every analyst re-derives what status=3 means
  • Onboarding analysts without the month of tribal apprenticeship
  • The audit or migration that needs to know what data exists and means

What you give it

  • Access to the schemas and (read-only) the data, plus the humans who know the folklore

What you get back

  • Per table: purpose, grain, ownership, update cadence; per field: meaning, the values actually present, the gotchas
  • The folklore captured and verified: the status code legend, the 'before 2023 this meant something else' notes
  • The disagreements surfaced: where the data contradicts the assumed meaning — found by profiling, not by waiting

How it works

  1. Profiles the actual data per field — distinct values, nulls, ranges, patterns — so the dictionary describes what IS, and the surprises surface during writing.
  2. Interviews the folklore-holders and verifies their legends against the data; verified folklore becomes documentation, contradicted folklore becomes findings.
  3. Documents the analyst-critical layer: grain, keys, join paths, the time semantics (event time vs load time), and the history quirks per field.
  4. Keeps entries honest with dates and owners, because an undated dictionary is folklore with formatting.

Example

You: Document our orders and customers tables; every new analyst asks the same forty questions.

Result: The dictionary: both tables documented to field level with meanings verified against profiled data — including the finds: status has seven values in the data but the team could name five (the two mystery values traced to a 2022 migration — now documented), created_at means import date for the 40k migrated rows (the footnote that fixes a hundred wrong cohort analyses), and the customer table's grain is not one-row-per-customer for the merged accounts (the join warning every analyst needed). The forty questions now have a page.

Limits — please read

  • Meaning only humans hold needs humans; the dictionary marks 'unverified' where no one could confirm and the data is ambiguous.
  • Profiling is read-only and sampled at scale; sensitive fields get documented by shape and class, not by value.
  • A dictionary ages with the schema; the update trigger (schema change touches dictionary) is part of the setup.