From cortex-code
Auto-routing skill loaded by the prompt filter hook. Routes Snowflake-related operations to Cortex Code CLI. Not for direct invocation — use $cortex-run instead.
npx claudepluginhub snowflake-labs/snowflake-ai-kit --plugin snowflake-cortex-codeThis skill uses the workspace's default tool permissions.
Route Snowflake operations to Cortex Code CLI, which has specialized bundled skills
Conducts multi-round deep research on GitHub repos via API and web searches, generating markdown reports with executive summaries, timelines, metrics, and Mermaid diagrams.
Share bugs, ideas, or general feedback.
Route Snowflake operations to Cortex Code CLI, which has specialized bundled skills (data-quality, semantic-view, cost-intelligence, ML, governance, etc.).
CRITICAL: Follow steps 1 → 2 → 3 in order. Do NOT skip to Step 3.
which cortex 2>/dev/null && cortex --version
If cortex is NOT found:
cortex-code:cortex-setup skill using the Skill tool.Run the routing script to check if this prompt should go to Cortex or stay in Claude Code:
python "${CLAUDE_PLUGIN_ROOT}/scripts/router/route_request.py" --prompt "USER_PROMPT_HERE"
Replace USER_PROMPT_HERE with the actual user prompt (shell-escaped).
Read the output carefully:
Only reach this step if Step 2 confirmed routing to Cortex.
Choose a security envelope based on the operation:
Default to RW unless the request is clearly read-only.
python "${CLAUDE_PLUGIN_ROOT}/scripts/router/execute_cortex.py" \
--prompt "USER_PROMPT_HERE" \
--envelope "RW"
Add --connection CONNECTION_NAME if a specific Snowflake connection is needed.
--resume-last vs freshEvery cortex invocation returns a session_id that the router persists. Follow-up
turns can resume that session so Cortex sees the prior conversation -- real
multi-turn, not one-shot batches per prompt.
--resume-last when the current prompt is a continuation of the
previous Cortex turn: "keep going", "apply the top suggestion", "dig deeper",
"also show me ...", "and for last quarter", "fix that", or any clarification
of an answer Cortex just gave.--resume-last (start fresh) when the user switches topics, asks
about a different database/warehouse, or begins a clearly new task.--resume <session_id> is also accepted if you have an explicit id.# Follow-up on the previous Cortex turn
python "${CLAUDE_PLUGIN_ROOT}/scripts/router/execute_cortex.py" \
--prompt "drill into the top customer" --envelope "RO" \
--resume-last
Timeout: This command may take 30-90 seconds. If it takes longer than 2 minutes, it likely hung — kill the process and tell the user to try $cortex-run for direct invocation.
Format Cortex's output for the user:
route_request.py is missing or fails, fall back to Claude Code tools--resume-last (see Step 3)