.cortex/skills/routing-prerequisites/SKILL.md
Check and install build prerequisites for the Routing Solution project. Use when: verifying environment setup before building, checking if Docker/Podman/snow CLI are installed, confirming readiness to build. Do NOT use for: building the routing solution itself (use build-routing-solution), deploying demos, or changing ORS configuration. Triggers: check prerequisites, check build prerequisites, am I ready to build, what do I need installed, verify environment setup, Docker installed, Podman installed, snow CLI installed.
npx skillsauth add snowflake-labs/sfguide-create-a-route-optimisation-and-vehicle-route-plan-simulator routing-prerequisitesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Verify all required tools are installed and guide installation of missing dependencies.
None - this skill helps you install prerequisites!
Follow the Error Logging convention in AGENTS.md. Log file prefix:
routing-prerequisites.
Goal: Identify which tools are installed and which are missing
Actions:
Check which container runtimes are installed:
# Check Cortex Code CLI
cortex --version 2>/dev/null && echo "Cortex Code: INSTALLED" || echo "Cortex Code: NOT FOUND"
# Check Podman
podman --version 2>/dev/null && echo "Podman: INSTALLED" || echo "Podman: NOT FOUND"
# Check Docker (optional if Podman is installed)
docker --version 2>/dev/null && echo "Docker: INSTALLED" || echo "Docker: NOT FOUND"
# Check container runtime is running (Podman or Docker)
podman info >/dev/null 2>&1 && echo "Podman Daemon: RUNNING" || docker info >/dev/null 2>&1 && echo "Docker Daemon: RUNNING" || echo "Container Runtime: NOT RUNNING"
# Check Snowflake CLI
snow --version 2>/dev/null && echo "Snowflake CLI: INSTALLED" || echo "Snowflake CLI: NOT FOUND"
# Check Git
git --version 2>/dev/null && echo "Git: INSTALLED" || echo "Git: NOT FOUND"
# Check GitHub CLI (optional)
gh --version 2>/dev/null && echo "GitHub CLI: INSTALLED" || echo "GitHub CLI: NOT FOUND (optional)"
Check Snowflake CLI connections:
snow connection list 2>/dev/null || echo "No Snowflake connections configured"
Present results to user in a summary table:
| Prerequisite | Status | Required | |--------------|--------|----------| | Cortex Code CLI | ✅/❌ | Yes | | Podman | ✅/❌ | Yes (or Docker) | | Docker | ✅/❌ | Yes (or Podman) | | Container Runtime | ✅/❌ | Yes | | Snowflake CLI | ✅/❌ | Yes | | Snowflake Connection | ✅/❌ | Yes | | Git | ✅/❌ | Yes | | GitHub CLI | ✅/❌ | No (optional) |
If all required prerequisites are installed: Inform user they are ready to proceed and skip to Verification section.
If any required prerequisites are missing: Proceed to Step 2.
Output: Prerequisites status summary
Goal: Guide user through installing missing prerequisites
Actions:
Ask user which missing prerequisites they want to install now.
For each selected prerequisite, provide installation guidance:
cortex --versionPodman (recommended - no daemon required):
macOS:
brew install podman
podman machine init
podman machine start
Windows: Download Podman Desktop: https://podman-desktop.io/downloads
Linux:
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install podman
# RHEL/CentOS/Fedora
sudo dnf install podman
Verify: podman --version && podman info
Docker (alternative if Podman is not available):
macOS:
brew install --cask docker
Or download Docker Desktop: https://docs.docker.com/desktop/install/mac-install/
Windows: Download Docker Desktop: https://docs.docker.com/desktop/install/windows-install/
Linux:
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install docker.io
sudo systemctl start docker
sudo systemctl enable docker
Post-install: Start Docker Desktop (macOS/Windows) or the daemon (Linux)
Verify: docker --version && docker info
All platforms:
pip install snowflake-cli-labs
Configure connection:
snow connection add
Follow prompts to enter:
my-snowflake)Verify: snow --version && snow connection list
macOS:
brew install git
Or install Xcode Command Line Tools: xcode-select --install
Windows: Download from https://git-scm.com/download/win
Linux:
# Ubuntu/Debian
sudo apt-get install git
# RHEL/CentOS
sudo yum install git
Configure:
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
Verify: git --version
macOS:
brew install gh
Windows:
winget install --id GitHub.cli
Linux:
# Ubuntu/Debian
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh
Authenticate:
gh auth login
Verify: gh --version
Output: Installation commands executed or provided
Goal: Confirm all prerequisites are now installed correctly
Actions:
Re-run the checks from Step 1
If all required prerequisites pass:
build routing solutionIf any required prerequisites still missing:
Output: Final verification status
After completion, all these commands should succeed:
cortex --version # Cortex Code CLI
podman --version # Podman (or docker --version for Docker)
podman info # Podman running (or docker info for Docker)
snow --version # Snowflake CLI
snow connection list # At least one connection configured
git --version # Git
Note: Either Podman or Docker is required - you don't need both.
Issue: brew command not found (macOS)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Issue: Docker daemon not running
sudo systemctl start dockerIssue: Permission denied for Docker
sudo usermod -aG docker $USER then log out and back inIssue: pip command not found
pip3 insteadIssue: snow CLI prints version update warnings
export SNOWFLAKE_CLI_NO_UPDATE_CHECK=1 in your shell profile to suppress update check noise during buildsIssue: Snowflake connection fails
ACCOUNT.REGION or ORG-ACCOUNT)All prerequisites verified and installed. Environment ready for deploying Route Optimizer.
tools
Optimize, audit, create, and improve Cortex Code skills following official best practices from the Anthropic skill-building guide. Use when: creating a new skill, reviewing an existing skill, optimizing skill description or triggers, improving SKILL.md structure, auditing skill quality, fixing undertriggering or overtriggering, restructuring skill for progressive disclosure. Do NOT use for: general code review, non-skill markdown editing, MCP server development. Triggers: optimize skill, audit skill, review skill, create skill, improve skill, fix skill triggers, skill best practices, skill quality check.
testing
Discover and remove all Snowflake objects created by skills in this repo. Uses the COMMENT tracking tag (sf_sit-is-fleet) to find objects, generates DROP statements, and optionally executes them. Use when: cleaning up after a demo, removing all skill-created objects, tearing down an environment, uninstalling a specific skill's objects. Do NOT use for: dropping objects not created by these skills, production environment cleanup without review. Triggers: routing-solution-cleanup, cleanup, teardown, remove, uninstall, drop all, clean up demo, remove skill objects, reset environment.
tools
Enable or disable ORS routing profiles (driving-car, driving-hgv, cycling, walking, wheelchair). Subskill of routing-customization — must be invoked from the router, not independently. Use when: changing vehicle types as part of customization workflow. Do NOT use for: standalone execution, changing map region, or deploying demo apps. Triggers: change routing profile, change vehicle type, enable profile, disable profile.
development
Subskill of routing-customization. Read current OpenRouteService configuration (region and routing profiles) and display to the user. Use when: checking current ORS settings, verifying map region, listing enabled vehicle profiles. Do NOT use for: changing configuration (use routing-customization), deploying demos, or building ORS from scratch. Triggers: ors configuration, openrouteservice config, routing simulator configuration, current map, current location, current vehicle types, current routing profiles.