.cortex/skills/routing-customization/routing-profiles/SKILL.md
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.
npx skillsauth add snowflake-labs/sfguide-create-a-route-optimisation-and-vehicle-route-plan-simulator routing-profilesInstall 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.
WARNING: This subskill cannot be run independently. It must be invoked from the
routing-customizationrouter. It only updates the config file -- it does NOT restart services or rebuild routing graphs. The router handles service restarts, graph rebuilding, MAP_CONFIG updates, and Function Tester redeployment in Steps 4-6 after this subskill completes.
Configure which routing profiles are available in your Routing Solution.
<REGION_NAME>: Target region name selected by user (e.g., "SanFrancisco", "NewYork", "London")| Profile | Category | Description |
|---------|----------|-------------|
| driving-car | Driving | Standard passenger vehicles |
| driving-hgv | Driving | Heavy goods vehicles (trucks) |
| cycling-regular | Cycling | Standard bicycles |
| cycling-road | Cycling | Road/racing bicycles |
| cycling-mountain | Cycling | Mountain bikes |
| cycling-electric | Cycling | Electric bicycles |
| foot-walking | Foot | Standard walking |
| foot-hiking | Foot | Hiking trails |
| wheelchair | Wheelchair | Wheelchair accessible routes |
Follow the Error Logging convention in AGENTS.md. Log file prefix:
routing-customization.
Goal: Determine which profiles to enable/disable
Actions:
Ask user what changes they want:
Warn about resource impact:
Output: User selections recorded
Goal: Write new ors-config.yml to the region's stage using the WRITE_ORS_CONFIG stored procedure
Actions:
Option A — For new cities provisioned via the Cities tab UI: Profile selection is built into the RegionBuilder UI. Users select routing profile checkboxes before clicking Deploy. No manual config editing needed.
Option B — For the default (San Francisco) instance or existing cities:
Determine the PBF filename for the region (e.g., SanFrancisco.osm.pbf)
Call the WRITE_ORS_CONFIG procedure to generate and upload the config:
CALL OPENROUTESERVICE_NATIVE_APP.CORE.WRITE_ORS_CONFIG(
'<REGION_NAME>',
'<PBF_FILENAME>',
'driving-car,driving-hgv,cycling-electric' -- comma-separated list of profiles to ENABLE
);
This generates a complete ors-config.yml with only the specified profiles enabled and uploads it to @CORE.ORS_SPCS_STAGE/<REGION_NAME>/ors-config.yml.
Option C — Manual editing (fallback):
Edit .cortex/skills/build-routing-solution/native_app/provider_setup/staged_files/ors-config.yml:
enabled: true or enabled: falsesource_file to match the region's PBF filenameUpload modified file:
snow stage copy .cortex/skills/build-routing-solution/native_app/provider_setup/staged_files/ors-config.yml @OPENROUTESERVICE_NATIVE_APP.CORE.ORS_SPCS_STAGE/<REGION_NAME>/ --connection <ACTIVE_CONNECTION> --overwrite
Output: Configuration updated with new profiles
After completing all steps in this subskill, return to the routing-customization router and continue from Step 4: Update Routing Graphs. This subskill does NOT restart services or rebuild graphs -- the router handles that.
| Issue | Solution |
|-------|----------|
| WRITE_ORS_CONFIG not found | App needs upgrade. Upload latest setup_script.sql and run ALTER APPLICATION ... UPGRADE |
| Config file not found locally | Re-download from stage: snow stage copy @OPENROUTESERVICE_NATIVE_APP.CORE.ORS_SPCS_STAGE/<REGION_NAME>/ors-config.yml .cortex/skills/build-routing-solution/native_app/provider_setup/staged_files/ --connection <ACTIVE_CONNECTION> --overwrite |
| Stage upload fails | Verify WRITE privilege on stage and correct --connection value |
| Profile name typo | Use exact names from Available Profiles table above |
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
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.
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.