Agent skill

Snowflake Cortex AI

by Mindrally in Mindrally/skills

Reference for Snowflake Cortex AI Functions (AICOMPLETE, AICLASSIFY, AIEXTRACT, AIFILTER, etc.) and Cortex Search for building RAG applications entirely inside Snowflake.

Apache-2.0Auto-check passedAI & LLM Engineering

Install Snowflake Cortex AI

skills CLI
$ npx skills add Mindrally/skills --skill snowflake-cortex-ai -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Mindrally/skills snowflake-cortex-ai --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Mindrally/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/snowflake-cortex-ai .claude/skills/snowflake-cortex-ai && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
snowflake-cortex-ai
GitHub stars
269
Token cost
~2.4k tokens
SKILL.md length
734 words
Files
1
Skills in repo
34
Repo updated
First seen
Licence
Apache-2.0

At a glance

Reference for Snowflake Cortex AI Functions (AICOMPLETE, AICLASSIFY, AIEXTRACT, AIFILTER, etc.) and Cortex Search for building RAG applications entirely inside Snowflake.

  • Works in 7 steps: Pick the narrowest function for the task… → Check token cost before batch jobs — Run… → Prototype in SQL — Call the function on… → …
  • Writing SQL that calls an LLM
  • SKILL.md covers Workflow for Building a…, Cortex AI Functions, Cortex Search — Hybrid Vector… and Best Practices, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Snowflake Cortex AI is an agent skill from Mindrally/skills. Reference for Snowflake Cortex AI Functions (AICOMPLETE, AICLASSIFY, AIEXTRACT, AIFILTER, etc.) and Cortex Search for building RAG applications entirely inside Snowflake. Use when writing SQL that calls an LLM, classifying or extracting structured data from text, building a natural-language WHERE filter, or setting up hybrid vector+keyword search for retrieval-augmented generation.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in AI & LLM Engineering, covering Retrieval-augmented generation, Data warehousing and Schema markup. It works with Snowflake and SQL. The repository describes itself as: 265+ Claude Code skills for every major framework and language. Install with: npx skills add Mindrally/skills. The licence is Apache-2.0.

When your agent uses it

  • Writing SQL that calls an LLM
  • Extracting structured data from text
  • Building a natural-language WHERE filter
  • Setting up hybrid vector+keyword search for retrieval-augmented generation

Example prompts

  • “/snowflake-cortex-ai”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Pick the narrowest function for the task — Use AI_CLASSIFY for categorization, AI_FILTER for natural-language row filtering, AI_EXTRACT…
  2. Check token cost before batch jobs — Run AI_COUNT_TOKENS(model, text) on a sample before running a function over a large table.
  3. Prototype in SQL — Call the function on a small LIMIT-ed sample and inspect results before running it over a full table.
  4. Structure prompts explicitly — Use PROMPT('template {0}', arg) for parameterized prompts and cast JSON output to VARIANT when you need…
  5. For RAG, stand up Cortex Search — Create a CORTEX SEARCH SERVICE over the source table, query it via the Python or REST API to retrieve…
  6. Use dedicated compute — Size Cortex Search's backing warehouse no larger than MEDIUM, and separate it from other pipeline warehouses.
  7. Guard against failures — Use TRY_COMPLETE in place of AI_COMPLETE for batch jobs where a single failure shouldn't fail the whole run; it…

What it can do on your machine

Read from SKILL.md and the folder at commit 7682ca7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are sql and python).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Snowflake Cortex AI loads about 2.4k tokens when it runs. Until then it costs about 102 tokens; SKILL.md has 734 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~102
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Mindrally/skills at commit 7682ca7, republished under its Apache-2.0 licence (© Mindrally). 734 words, ~2,367 tokens.

Download SKILL.mdSave it as .claude/skills/snowflake-cortex-ai/SKILL.md (or your agent's skills folder).
name
snowflake-cortex-ai
description
Reference for Snowflake Cortex AI Functions (AI_COMPLETE, AI_CLASSIFY, AI_EXTRACT, AI_FILTER, etc.) and Cortex Search for building RAG applications entirely inside Snowflake. Use when writing SQL that calls an LLM, classifying or extracting structured data from text, building a natural-language WHERE filter, or setting up hybrid vector+keyword search for retrieval-augmented generation.
metadata.maintainer
Mindrally
metadata.source
https://github.com/Mindrally/skills

Snowflake Cortex AI

This skill covers Snowflake Cortex — the SQL-callable AI layer of Snowflake, including Cortex AI Functions for LLM/ML tasks and Cortex Search for managed hybrid (vector + keyword) search — all running inside Snowflake with no data leaving the platform.

Workflow for Building a Cortex-Powered Feature

  1. Pick the narrowest function for the task — Use AI_CLASSIFY for categorization, AI_FILTER for natural-language row filtering, AI_EXTRACT for structured field pulls, and reserve AI_COMPLETE for open-ended generation — narrower functions are cheaper and more reliable than routing everything through AI_COMPLETE.
  2. Check token cost before batch jobs — Run AI_COUNT_TOKENS(model, text) on a sample before running a function over a large table.
  3. Prototype in SQL — Call the function on a small LIMIT-ed sample and inspect results before running it over a full table.
  4. Structure prompts explicitly — Use PROMPT('template {0}', arg) for parameterized prompts and cast JSON output to VARIANT when you need structured fields back.
  5. For RAG, stand up Cortex Search — Create a CORTEX SEARCH SERVICE over the source table, query it via the Python or REST API to retrieve context, then pass that context into AI_COMPLETE.
  6. Use dedicated compute — Size Cortex Search's backing warehouse no larger than MEDIUM, and separate it from other pipeline warehouses.
  7. Guard against failures — Use TRY_COMPLETE in place of AI_COMPLETE for batch jobs where a single failure shouldn't fail the whole run; it returns NULL instead of raising an error.

Cortex AI Functions

Available functions (use these current names — do not use deprecated names like COMPLETE or CLASSIFY_TEXT):

FunctionPurpose
AI_COMPLETEGeneral-purpose LLM completion over text, images, or documents
AI_CLASSIFYClassify text/images into user-defined categories (multi-label supported)
AI_FILTERReturns TRUE/FALSE for text/image input — usable directly in WHERE
AI_AGGAggregate insights across many rows of text, no context-window limit
AI_EMBEDGenerate embedding vectors for similarity search or clustering
AI_EXTRACTExtract structured fields from text, images, or documents
AI_SENTIMENTSentiment score from text, ranging -1 to 1
AI_SUMMARIZE_AGGSummarize across many rows, no context-window limit
AI_SIMILARITYEmbedding similarity between two inputs
AI_TRANSCRIBETranscribe audio/video files from a stage
AI_PARSE_DOCUMENTOCR or text+layout extraction from documents in a stage
AI_REDACTRedact PII from text
AI_TRANSLATETranslate text between supported languages

Helper functions:

  • TO_FILE('@stage', 'filename') — build a file reference for document/image processing.
  • AI_COUNT_TOKENS(model, text) — check token count before calling a model, especially before large batch jobs.
  • PROMPT('template {0}', arg) — build parameterized prompt objects for AI_COMPLETE.
  • TRY_COMPLETE — like AI_COMPLETE but returns NULL on failure instead of raising an error.
AI_COMPLETE — the primary function

Supported models include claude-4-opus, claude-4-sonnet, claude-sonnet-4-5, claude-opus-4-5, claude-haiku-4-5, gemini-3-pro, llama3.1-70b, llama3.1-8b, llama3.3-70b, mistral-large2, mistral-small2, and deepseek-r1. Model availability varies by region — do not hardcode a model name without checking regional availability.

sql
-- Text completion
SELECT AI_COMPLETE(MODEL => 'claude-4-sonnet', PROMPT => 'Summarize: ' || review_text) FROM reviews;

-- Document processing
SELECT AI_COMPLETE(
  MODEL => 'claude-4-sonnet',
  PROMPT => PROMPT('Extract the invoice total from {0}', TO_FILE('@docs', 'invoice.pdf'))
);

-- Structured JSON output
SELECT AI_COMPLETE(MODEL => 'claude-4-sonnet',
  PROMPT => 'Extract name, email, company as JSON: ' || raw_text)::VARIANT AS extracted
FROM contacts;
Show full SKILL.md (290 more words)Show less
Classification, filtering, and aggregation
sql
-- AI_CLASSIFY: cheaper than AI_COMPLETE for categorization tasks
SELECT AI_CLASSIFY(ticket_text, ['billing', 'technical', 'account', 'other']) AS category FROM tickets;
-- Multi-label: AI_CLASSIFY(input, categories, {'output_mode': 'multi'})

-- AI_FILTER: natural-language predicate directly in WHERE
SELECT * FROM reviews WHERE AI_FILTER(review_text, 'mentions product quality issues');

-- AI_AGG: cross-row aggregation with no context-window limit
SELECT AI_AGG(feedback_text, 'What are the top 3 themes?') FROM customer_feedback;

-- AI_EXTRACT: pull named fields out of free text
SELECT AI_EXTRACT(email_body, 'meeting date', 'attendees', 'action items') FROM emails;
Other functions
sql
SELECT review_text, AI_SENTIMENT(review_text) AS sentiment FROM product_reviews;
SELECT AI_EMBED(description) AS embedding FROM products;
SELECT AI_PARSE_DOCUMENT(TO_FILE('@docs', 'contract.pdf'), MODE => 'LAYOUT');
SELECT AI_TRANSCRIBE(TO_FILE('@media', 'recording.mp3')) AS transcript;
SELECT AI_REDACT(customer_notes) AS redacted FROM support_cases;
Privileges

Cortex AI functions require the USE AI FUNCTIONS account privilege plus the SNOWFLAKE.CORTEX_USER database role — both are granted to PUBLIC by default, so most workloads work without extra grants.

Cortex Search is fully managed search combining vector (semantic) and keyword (lexical) retrieval. Typical use cases are RAG for LLM chatbots, enterprise search, and AI-powered Q&A.

Single-index service
sql
CREATE OR REPLACE CORTEX SEARCH SERVICE my_search
  ON transcript_text
  ATTRIBUTES region, agent_id
  WAREHOUSE = my_wh
  TARGET_LAG = '1 day'
  EMBEDDING_MODEL = 'snowflake-arctic-embed-l-v2.0'
  AS (SELECT transcript_text, region, agent_id FROM support_transcripts);
Multi-index service (text + vector across columns)
sql
CREATE OR REPLACE CORTEX SEARCH SERVICE my_multi_search
  TEXT INDEXES transcript_text, summary
  VECTOR INDEXES transcript_text (model='snowflake-arctic-embed-l-v2.0')
  ATTRIBUTES region
  WAREHOUSE = my_wh
  TARGET_LAG = '1 hour'
  AS (SELECT transcript_text, summary, region FROM support_transcripts);

Key parameters: ON (single-index column), TEXT INDEXES, VECTOR INDEXES, ATTRIBUTES (filterable columns), TARGET_LAG (freshness), EMBEDDING_MODEL, and PRIMARY KEY (enables optimized incremental refresh — set it whenever the source table has a stable key).

python
from snowflake.core import Root

root = Root(session)
service = root.databases["db"].schemas["schema"].cortex_search_services["my_search"]
resp = service.search(
    query="internet connection issues",
    columns=["transcript_text", "region"],
    filter={"@eq": {"region": "North America"}},
    limit=5,
)
Querying — REST API
POST /api/v2/databases/<db>/schemas/<schema>/cortex-search-services/<service>:query
Body: {"query": "...", "columns": [...], "filter": {...}, "limit": N}
Filter syntax
{"@eq": {"region": "NA"}}
{"@contains": {"tags": "urgent"}}
{"@gte": {"score": 0.8}}
{"@and": [f1, f2]}
{"@or": [f1, f2]}
{"@not": f}
Tuning relevance

Adjust the weighting between text match, vector similarity, and reranker score:

python
resp = service.search(
    query="billing dispute",
    columns=["transcript_text"],
    scoring_config={"weights": {"texts": 0.3, "vectors": 0.5, "reranker": 0.2}},
    limit=10,
)
RAG pattern
  1. Retrieve context: results = service.search(query=question, columns=["content"], limit=5)
  2. Pass the retrieved context into AI_COMPLETE:
sql
SELECT AI_COMPLETE(
  MODEL => 'claude-4-sonnet',
  PROMPT => 'Answer using only this context: ' || context || ' Question: ' || question
);

Best Practices

  • Use AI_CLASSIFY instead of AI_COMPLETE for categorization — it is purpose-built and cheaper.
  • Run AI_COUNT_TOKENS before large batch jobs to estimate cost and avoid truncation surprises.
  • Set PRIMARY KEY on a Cortex Search service so refreshes are incremental rather than full rebuilds.
  • Use ATTRIBUTES for any column you need to filter on at query time.
  • Use SEARCH_PREVIEW for interactive testing during development; use the Python or REST API for production integrations.
  • Size the warehouse backing a search service no larger than MEDIUM, and dedicate it to that service.

Anti-Patterns

  • Do not use deprecated function names (COMPLETE, CLASSIFY_TEXT, etc.) — use the current AI_* versions.
  • Do not pass an entire table through AI_COMPLETE row-by-row without first estimating cost with AI_COUNT_TOKENS.
  • Do not hardcode model names without checking regional availability.
  • Do not use AI_COMPLETE for tasks a narrower function (AI_CLASSIFY, AI_FILTER, AI_EXTRACT) already covers.

© Mindrally, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in snowflake-cortex-ai of Mindrally/skills.

Open the folder on GitHubat commit 7682ca7

Compare with similar skills

Snowflake Cortex AI next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Snowflake Cortex AI compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Snowflake Cortex AI this skillMindrally/skills269—~2.4kAutomated safety check: PassApache-2.0
Snowflake Developmentsickn33/agentic-awesome-skills47k2 repos~2.1kAutomated safety check: PassMIT
Snowflake Developmentalirezarezvani/claude-skills28k—~3.2kAutomated safety check: PassMIT
Uipath Process MiningUiPath/skills168—~4.3kAutomated safety check: NotesMIT
dbt Snowflake to BigQuery Translatorgoogle/skills21k—~2.7kAutomated safety check: PassApache-2.0
SQL Queriesw95/awesome-claude-corporate-skills2393 repos~2.8kAutomated safety check: PassMIT

Similar skills

  • Snowflake Development

    sickn33/agentic-awesome-skills

    Comprehensive Snowflake development assistant covering SQL best practices, data pipeline design (Dynamic Tables, Streams, Tasks, Snowpipe), Cortex AI functions, Cortex Agents, Snowpark Python, dbt…

    47k GitHub starsUsed in 2 repos~2.1k tokens
    DatabasesAuto-check passed
  • Snowflake Development

    alirezarezvani/claude-skills

    A skill your agent uses when writing Snowflake SQL, building data pipelines with Dynamic Tables or Streams/Tasks, using Cortex AI functions, creating Cortex Agents, writing Snowpark Python…

    28k GitHub stars~3.2k tokensUpdated 1 mo ago
    DatabasesAuto-check passed
  • UiPath Process Mining via uip pm — build and operate a process app end-to-end from a CSV / event log: templates, data mapping, upload, ingest, the dbt (Snowflake) transformation layer, publish, and…

    168 GitHub stars~4.3k tokensUpdated today
    DatabasesAuto-check: notes
  • Translates Snowflake dbt SQL models into standardized BigQuery SQL, keeping Jinja constructs and tracking progress in a migration tasks file.

    21k GitHub stars~2.7k tokensUpdated today
    DatabasesAuto-check passed
  • SQL Queries

    w95/awesome-claude-corporate-skills

    Write correct, performant SQL across all major data warehouse dialects (Snowflake, BigQuery, Databricks, PostgreSQL, etc.).

    239 GitHub starsUsed in 3 repos~2.8k tokens
    DatabasesAuto-check passed
  • Warehouse SQL

    HybridAIOne/hybridclaw

    Review and run read-only natural-language SQL against a customer data warehouse with cached schema introspection and explicit write grants.

    158 GitHub stars~1.8k tokensUpdated today
    DatabasesAuto-check passed

More from Mindrally/skills

All 34 skills in this repo
  • Analytics Data Analysis

    Mindrally/skills

    Best practices for analytics, data analysis, and visualization using Python, pandas, matplotlib, seaborn, and Jupyter notebooks.

    269 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Best practices for AutoML and hyperparameter search with Optuna, Ray Tune, and PyCaret, covering search-space design, validation splits, and leakage prevention.

    269 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Blender Python Addon

    Mindrally/skills

    Best practices for writing Blender Python add-ons using the bpy API, covering operators, panels, properties, registration, and API-safe scripting.

    269 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Expert guidelines for Chrome extension development with Manifest V3, covering security, performance, and best practices.

    269 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Clean Code

    Mindrally/skills

    Clean, maintainable, human-readable code principles combined with anti-over-engineering discipline: naming, single responsibility, DRY, and scoping changes to exactly what was requested.

    269 GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Design Systems

    Mindrally/skills

    Comprehensive design system guidelines for building consistent, accessible, and scalable component libraries.

    269 GitHub stars~1.8k tokensUpdated today
    Auto-check passed

Works with

Questions about Snowflake Cortex AI

What does Snowflake Cortex AI do?

Reference for Snowflake Cortex AI Functions (AICOMPLETE, AICLASSIFY, AIEXTRACT, AIFILTER, etc.) and Cortex Search for building RAG applications entirely inside Snowflake. Snowflake Cortex AI is an agent skill from Mindrally/skills.) and Cortex Search for building RAG applications entirely inside Snowflake.

When should I use Snowflake Cortex AI?

Snowflake Cortex AI fits situations like: writing SQL that calls an LLM; extracting structured data from text; building a natural-language WHERE filter; setting up hybrid vector+keyword search for retrieval-augmented generation.

How do I install Snowflake Cortex AI in Claude Code?

Run `npx skills add Mindrally/skills --skill snowflake-cortex-ai -a claude-code`. Or copy the skill folder (snowflake-cortex-ai in Mindrally/skills) into .claude/skills/snowflake-cortex-ai in your project. Claude Code loads it when a task matches its description.

How do I install Snowflake Cortex AI in Codex?

Run `npx skills add Mindrally/skills --skill snowflake-cortex-ai -a codex`. Or copy the skill folder (snowflake-cortex-ai in Mindrally/skills) into .agents/skills/snowflake-cortex-ai in your project. Codex loads it when a task matches its description.

Can I use Snowflake Cortex AI in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Mindrally/skills --skill snowflake-cortex-ai -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/snowflake-cortex-ai, .gemini/skills/snowflake-cortex-ai, .github/skills/snowflake-cortex-ai and .opencode/skills/snowflake-cortex-ai in your project.

What does Snowflake Cortex AI need to run?

SKILL.md names no scripts, command-line tools or credentials: Snowflake Cortex AI is instructions for the agent only. Our summary lists: Python 3.

Does Snowflake Cortex AI access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Snowflake Cortex AI safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Snowflake Cortex AI use?

Snowflake Cortex AI is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Snowflake Cortex AI use?

About 2.4k tokens (SKILL.md is roughly 9.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Snowflake Cortex AI?

Skills that share tags, products or a category with Snowflake Cortex AI: Snowflake Development (sickn33/agentic-awesome-skills, 47k stars), Snowflake Development (alirezarezvani/claude-skills, 28k stars), Uipath Process Mining (UiPath/skills, 168 stars) and dbt Snowflake to BigQuery Translator (google/skills, 21k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Snowflake Cortex AI?

Mindrally (a GitHub organization) maintains it in Mindrally/skills, which has 269 GitHub stars. The repository holds 34 skills in this directory. The repository was last updated on October 8, 2026.

Source: Mindrally/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.