Skip to content

Snowflake native app · In research & build

The analyst that learns where your data lives.

Skadi runs as a Native App inside your own Snowflake account. It answers business questions over governed data, compacts successful work into verified, reusable skills, and keeps tiered memory per user — and none of it, ever, leaves your perimeter.

#finance-analytics · slack

d.reyes09:41

Why did Q2 gross margin dip in EMEA?

skadi09:43

EMEA gross margin fell 240 bps in Q2. Three drivers: FX (−130 bps), freight (−80 bps), one distributor rebate (−30 bps). Full bridge below.

6 tool calls · 94 s

1 skill_search    "margin bridge emea" → no match
2 memory_search   d.reyes · margin preferences
3 cortex_analyst  sql · finance margin semantic view
4 cortex_analyst  re-query · fx-adjusted · emea only
5 memory_write    tier-3 · "fx-adjust before comparing regions"
6 learn_skill     episode flagged learnable → skill drafted

SKILL.MDv3

margin_bridge.skill · v3

intent
explain a period-over-period margin change, by driver
inputs
region · period_a · period_b
source
episode 2026-06-12 · 6 calls
verify
dry-run passed · checks 3/3

● VERIFIED ✓ HUMAN-APPROVED

ILLUSTRATIVE SESSION · THE LOOP IS THE PRODUCT, THE NUMBERS ARE NOT

Example: a Slack question answered in 6 tool calls becomes margin_bridge.skill v3, verified and human-approved.

Layer 01 · What Skadi is

One agent. Four commitments.

Skadi is a personal AI analyst for business users. It converses in Slack and a web console, answers questions over your governed data — and, unlike a chatbot, it keeps what it learns.

SELF-LEARNING SKILL LOOP

It learns from its own work.

When a session succeeds, Skadi writes the method down as a reusable skill. No self-written skill is reused until it passes an executable verification gate — and human approval for anything risky.

TIERED MEMORY

It remembers you. Only you.

Three tiers of memory per user — a small core block, searchable session history, and a synthesized user model — stored in Snowflake tables and isolated per user. All of it is readable as plain files.

AUTONOMOUS TOOL USE

It does the work, not just the words.

A control loop plans and runs real tools: Cortex Analyst for text-to-SQL, Cortex Search for retrieval, sandboxed code, and scheduled tasks — with Claude hosted in-perimeter by Snowflake Cortex.

GOVERNED BY DEFAULT

Your policies do the enforcing.

Interactive queries are designed to run under the asking user's own Snowflake roles. Masking, row access, and audit bind to the data — not to the agent's good behavior.

Layer 02 · The skill loop

Do. Learn. Improve.

When a session earns it — a hard question answered, a correction absorbed, an error recovered — Skadi drafts a skill: a SKILL.md plus parameterized SQL or Python. It's a proposal, not live code. Every candidate walks the same gate before it can ever run again.

  1. 01 AUTHOR

    Skadi detects a learnable episode and writes the skill as a draft.

  2. 02 VERIFY

    Executable checks and dry runs — not just a model's opinion of itself.

  3. 03 APPROVE

    A human signs off on anything with real blast radius.

    ● HUMAN

  4. 04 PROMOTE

    Versioned into the skill store with provenance, indexed for retrieval.

  5. 05 CURATE

    Scheduled dedup, archival, and regression checks keep the store clean.

The base model never changes. Everything Skadi learns lives in versioned files you can open and read.

Layer 03 · Tiered memory

Memory you can read.

Skadi keeps three tiers of memory per user, in Snowflake tables, isolated per user. Nothing is hidden: what the agent knows about you is a file you can open.

TIER 1 · CORE

A small, frozen block.

A compact core memory injected at the start of every session — edited only through explicit, audited tool calls.

TIER 2 · SESSIONS

Everything, searchable.

Full session history, retrievable by hybrid search when it's relevant — not stuffed into every prompt.

TIER 3 · USER MODEL

What it learns about you.

Synthesized facts about how you work, ranked by recency, importance, and relevance — promoted upward when they keep proving true.

USER.md · tier-1 core · 1,204 tokens · frozen

role:
revenue ops lead · emea
prefers:
margin in bps · quarters not months
corrections:
fx-adjust before comparing regions
(2026-06-12 · d.reyes)
last_edit:
2026-07-02 · audited tool call

PER-USER · PROVENANCE LOGGED · INSPECTABLE

Layer 04 · The perimeter

Nothing leaves. Everything is written down.

Skadi is built as the inversion of trust-the-operator agents: it operates inside your Snowflake perimeter, under your policies, on the record.

The perimeter: your Snowflake account, boundary drawn around Skadi.Your Snowflake account contains the native app running on Snowpark Container Services. Inside the boundary: restricted caller's rights, Snowflake-native access history, deny-by-default egress, and skills and memory treated as a security boundary. Nothing is drawn crossing the line except an approved Slack egress gate.YOUR SNOWFLAKE ACCOUNT · NATIVE APP · SPCSRESTRICTED CALLER'S RIGHTSQueries are designed toexecute as the asking user,so masking and row-accesspolicies evaluate againstthat person. The agent can'tread what you can't.ACCESS_HISTORYEvery action is attributableto the real user throughSnowflake-native audit —ACCESS_HISTORY and eventtables, not a vendordashboard.EGRESS · DENY BY DEFAULTAll outbound network accessis deny-by-default andconsumer-approved. In thecurrent build, egress isSlack only.SKILLS & MEMORY AS BOUNDARYSelf-written skills andmemory are treated as asecurity boundary:verification gate,provenance on every write,per-user isolation.

Your Snowflake account contains the native app running on Snowpark Container Services. Inside the boundary: restricted caller's rights, Snowflake-native access history, deny-by-default egress, and skills and memory treated as a security boundary. Nothing is drawn crossing the line except an approved Slack egress gate.

  • RESTRICTED CALLER'S RIGHTS: Queries are designed to execute as the asking user, so masking and row-access policies evaluate against that person. The agent can't read what you can't.
  • ACCESS_HISTORY: Every action is attributable to the real user through Snowflake-native audit — ACCESS_HISTORY and event tables, not a vendor dashboard.
  • EGRESS · DENY BY DEFAULT: All outbound network access is deny-by-default and consumer-approved. In the current build, egress is Slack only.
  • SKILLS & MEMORY AS BOUNDARY: Self-written skills and memory are treated as a security boundary: verification gate, provenance on every write, per-user isolation.

Read the governance story

LAYER 05 · THE CONSOLE

Watch it work.

The console is not a chat window. It streams the agent loop as it runs, queues self-written skills for your approval, shows memory as raw Markdown, and keeps the audit log one click away.

Skadi console screenshot: the agent loop streaming its tool-call trace next to the skill approval queue, showing a proposed skill diff pending human approval.

AGENT LOOP · STREAMING

SKILLS · PENDING APPROVAL

Tour the console

DESIGN PARTNERS · LIMITED

Help us build the analyst your data deserves.

Skadi is in research and build, working toward a Snowflake Marketplace release. We're looking for a small set of Snowflake teams to shape it with us — design partners see the build as it happens, steer the roadmap, and get first access.

Questions first? Write to hello@skadilabs.ai.

Do you run Snowflake today?

Optional — one real question you'd hand to an analyst.

We'll only use this to talk to you about Skadi.