NDL Nodal Context — open source

The context that makes
agents accurate lives in your
analyst's head — not your docs.

Nodal Context is the open-source, interview-built context layer for analytics agents. It builds that context with your analyst — one domain at a time — and writes it to a git repo your team reviews by PR. Apache-2.0. Runs on your stack with Claude Code, Codex, or Cursor.

Open source · Apache-2.0 · read the docs ↗

§ 01 · The wedge

Interview-built, not auto-built.

The obvious approach — and what most tools do — is to ingest your warehouse, dbt, BI layer, and query history and auto-generate the context. The teams who've measured it found it doesn't work as a source of truth.

What the measurements show

Anthropic's own data team reported that auto-generating metric definitions from raw tables and query logs "encoded the very ambiguities we were trying to eliminate" — and was net-negative on evals versus a smaller, human-curated layer. They also gave an agent grep access to thousands of prior queries; accuracy moved less than a point. The information was present, the agent saw it, and it still didn't resolve the question to the right entity.

Their conclusion: generate the documentation with the model, but have a human own the definition. That's exactly what the interview does.
Auto-built context

Scraped from schema and query logs. Encodes the same ambiguities it was meant to remove. Nobody owns it, so nobody trusts it.

Interview-built context

The model drafts; the analyst owns every definition. We auto-extract schema and dbt as a draft to challenge — but the analyst's selections and corrections, not the extraction, are what we trust.

§ 02 · The four layers

Self-service AI works on four context layers. The fourth drives accuracy.

Three of these you already have in your stack. The fourth — the correct business interpretation of what your metrics actually mean — determines whether the agent produces the right answer, and it is the layer Nodal Context builds.

  1. 01

    Data warehouse(s)

    Snowflake, BigQuery, or Redshift — with a dbt project sitting on top. The system of record the agent queries against.

  2. 02

    Data lineage

    Column-level flow from raw tables through transformations to dashboards — so the agent knows where every number actually comes from.

  3. 03

    Code as context

    dbt project, DAG pipelines (Airflow, Dagster), and scripts repo — the queries your team has already written are the ground truth.

  4. 04

    Business-context layer

    What metrics actually mean — the layer that drives answer accuracy. The interview captures it one domain at a time, with your analyst owning every definition.

§ 03 · The interview

One domain at a time. Select the right business interpretation.

The skill turns schema and dbt into concrete choices, then interviews the analyst in business language. The analyst selects, corrects, or rejects each interpretation — no rubber-stamping model output, and no tedious authoring from a blank file. Step-by-step guide in the docs ↗

  1. 01

    Draft

    Auto-extract schema and dbt into a draft the analyst can challenge. Where the business meaning is ambiguous, they select, edit, or reject the proposed interpretation. Nothing unconfirmed is trusted.

  2. 02

    Company

    What the business does, how it makes money, and the handful of terms that get misunderstood — captured with the meaning the analyst confirms.

  3. 03

    Domains

    "List the dashboards your team maintains." Each cluster becomes a domain the agent should know — with its tables, grain, and business context.

  4. 04

    Entities

    Disambiguate the terms that map to data values — "provider" as an individual clinician versus a care-provider company — so the agent routes to the right one.

  5. 05

    Caveats

    "Where would an obvious query give a plausibly wrong answer?" The silent-failure modes only the analyst knows — the piece that decides whether the rest works.

  6. 06

    Live verification

    Answer sample questions with context off and on against the live warehouse. Computer use opens the existing dashboard, captures its active filters and visible values, and automatically checks the result against the numbers the team already trusts before moving to the next domain.

§ 04 · The output

Reviewable context files — and labeled eval pairs.

The interview writes the Analytics Context Format (ACF): git-friendly YAML and Markdown your team reviews by PR. The file the agent actually reads is written for an LLM — explicit routing, not prose.

analytics-context / domains / session-financials /
reference.md the retrieval doc the agent reads — explicit IF … DO NOT … use … routing, grain, exclusions, and wrong-answer modes
metrics.yaml metric definitions — name, grain, parameters, and caveats, owned by the analyst
context.md the narrative for humans — why the business logic is what it is
*.seed.yaml ground-truth question/answer pairs harvested from the interview
The bonus: building context is harvesting ground truth

Every disambiguation the analyst makes in the interview — "active client means X, not Y" — is simultaneously a context entry and a labeled eval pair. One resolved interpretation, two assets.

session-financials.seed.yaml

question: "What's our collection rate for Payer X last quarter?"
intent: collection rate on adjudicated claims; "Payer X" resolves state-specifically (TX vs FL), not aggregated; exclude sessions < 45 days old.
provenance: interview · status: confirmed

§ 05 · The measurement

Prove the context actually moved accuracy.

A format-agnostic harness runs your agent three ways — context off, context on, and against ground truth — and reads off the delta. It accepts ACF, dbt docs, or raw markdown. Bring whatever context you already have. How evaluation works ↗

Eval delta — domain: session-financials

34 confirmed seeds from the interview

41% context off (baseline)
88% context on (the payoff)
100% ground truth (perfect)
Still wrong with context on
  1. "GMV by payer" — forgot the blank-payer caveat
Open source · Apache-2.0

Add Nodal Context to your agent and build your context today.

Select your agent

claude plugin marketplace add nodal-data/nodal-context
claude plugin install nodal-analytics@nodal

codex plugin marketplace add nodal-data/nodal-context
codex plugin add nodal-analytics@nodal

npx skills@latest add nodal-data/nodal-context

Then say “Take Nodal for a test drive on one analytics domain.” A ~30-minute guided interview is included. Running this for a team? See Enterprise →

Get the repo on GitHub