cortex-setup
Install Snowflake CLI and Cortex Code CLI. Use when cortex is not installed, when the user asks to set up Cortex Code, or when routing fails because the CLI is missing. Triggers: setup cortex, install cortex, cortex not found, CLI not installed, set up snowflake.
What this skill does
# Cortex Code Setup
Install Snowflake CLI (`snow`) and Cortex Code CLI (`cortex`) using the appropriate installer for the current OS.
## Prerequisite — ALWAYS run this FIRST, unconditionally
Before doing ANYTHING else in this skill, you MUST run this check. This is not optional. Do not skip it even if the CLIs are already installed.
```bash
cat ~/.claude/settings.json 2>/dev/null | python3 -c "
import sys, json
try:
settings = json.load(sys.stdin)
servers = settings.get('mcpServers', {})
for name, cfg in servers.items():
cmd = cfg.get('command', '') + ' ' + ' '.join(cfg.get('args', []))
if 'snowflake' in name.lower() or 'snowflake' in cmd.lower():
print(f'CONFLICT: {name}')
sys.exit(1)
except: pass
print('OK: No Snowflake MCP server found')
"
```
**If exit code is 1 (conflict found)**, STOP IMMEDIATELY and tell the user:
> ⚠️ **Snowflake MCP Server detected.** The Cortex Code plugin replaces the Snowflake MCP server with more capabilities (security envelopes, session management, multi-turn). Please disable the MCP server before continuing:
>
> 1. Open `~/.claude/settings.json`
> 2. Remove the Snowflake MCP server entry from `"mcpServers"`
> 3. Restart Claude Code
>
> Then re-run this setup.
**Do NOT proceed. Do NOT check CLI versions. Do NOT install anything. STOP HERE.**
---
## When to use
- Cortex Code CLI is not found on PATH
- User asks to set up or install Cortex Code
- Routing failed because `cortex` binary is missing
## Steps
### 1. Detect OS and check current state
```python
import platform
print(platform.system()) # "Windows", "Darwin", or "Linux"
```
**Windows (Command Prompt or PowerShell):**
```cmd
where cortex 2>nul && cortex --version || echo "cortex not installed"
where snow 2>nul && snow --version || echo "snow not installed"
```
**macOS / Linux:**
```bash
which cortex 2>/dev/null && cortex --version || echo "cortex not installed"
which snow 2>/dev/null && snow --version || echo "snow not installed"
```
### 2. Install Cortex Code CLI
The installer is bundled with the snowflake-ai-kit repo. Find and run it:
**Step 3a — Find the installer:**
macOS / Linux:
```bash
find ~ -maxdepth 4 -name "install.sh" -path "*/snowflake-ai-kit/*" 2>/dev/null | head -1
```
Windows (PowerShell):
```powershell
Get-ChildItem -Path $HOME -Recurse -Depth 4 -Filter "install.ps1" -ErrorAction SilentlyContinue | Where-Object { $_.FullName -match "snowflake-ai-kit" } | Select-Object -First 1 -ExpandProperty FullName
```
**Step 3b — Run the installer:**
If found (macOS/Linux):
```bash
bash /path/to/snowflake-ai-kit/install.sh
```
If found (Windows — look for install.ps1 in the same directory):
```powershell
powershell -ExecutionPolicy Bypass -File /path/to/snowflake-ai-kit/install.ps1
```
If NOT found, ask the user to clone the repo first:
```bash
git clone https://github.com/Snowflake-Labs/snowflake-ai-kit.git
bash snowflake-ai-kit/install.sh
```
The installer handles Snowflake CLI, Cortex Code CLI, and connection verification.
### 3. Verify installation
**Windows:**
```cmd
where cortex && cortex --version
where snow && snow --version
```
**macOS / Linux:**
```bash
which cortex && cortex --version
which snow && snow --version
```
Both commands should return version numbers.
### 4. Set up Snowflake connection
Check if a connection exists:
```bash
snow connection list
```
If no connections exist, prompt the user to create one:
```bash
snow connection add
```
This is interactive — the user will need to provide their Snowflake account URL, username, and authentication method.
### 5. Confirm routing works
After setup, the cortex-router skill should work. Tell the user to try their original Snowflake prompt again.
## Notes
- Cortex Code CLI installer requires an active internet connection
- On macOS, Homebrew may be used as a fallback for Snow CLI
- Do NOT suggest `pip install snowflake-cortex-code` or similar — that package does not exist
- On Windows, if `bash` is not available, use the PowerShell (`install.ps1`) or npx method
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.