terra-routes

Create GPS route templates and push them to Garmin, COROS, and Wahoo devices via Terra API.

Updated Sep 2, 2026
One-click install
npx skills add https://github.com/tryterra/agent-skills --skill terra-routes-tryterra
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: terra-routes
Source: https://github.com/tryterra/agent-skills/tree/main/skills/terra-routes
Command: npx skills add https://github.com/tryterra/agent-skills --skill terra-routes-tryterra

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Delivering GPS navigation routes to users' fitness devices normally requires integrating each provider's native route format. This Skill guides agents through Terra API Routes (pre-release), where a route is defined once as a template with waypoints and pushed to Garmin, COROS, and Wahoo devices without handling per-provider formats. ## Core Features & Use Cases - Two-phase workflow: Create a reusable route template with POST /routes to get a route_id, then push it to a user's device with POST /routes/{route_id}/push?user_id=X. - Data model and validation: Covers the RouteTemplate and Waypoint schemas, 8 sport types, 15 course-point types, and hard validation rules (2-10,000 waypoints, coordinate and elevation ranges). - Provider matrix and gotchas: Documents sharply different Garmin, COROS, and Wahoo capabilities, including Garmin-only course points and speed targets, COROS's missing delete, and silent failures on unsupported operations. - Use Case: A fitness app defines a trail-running route with course points once, pushes it to a user's Garmin watch, and later updates it with PUT /routes/{id}?cascade to re-push to all devices asynchronously. ## Quick Start Ask the agent to create a running route template with two waypoints via Terra API Routes and push it to a specific user's Garmin device.

Frequently Asked Questions about terra-routes

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I push a GPS route to a Garmin watch with Terra API?

First create a route template with POST /routes including name, sport, and at least two waypoints to get a route_id. Then call POST /routes/{route_id}/push?user_id=X; the route appears on the device after the user's next sync.

Which fitness devices support Terra API Routes?

Only Garmin, COROS, and Wahoo are supported. Garmin has the most complete feature set, COROS is the most limited with no delete or retrieve, and Wahoo supports update and delete with base64 FIT wire format.

Does Terra API Routes support course points and speed targets on all devices?

No. Course points, speed targets, and descriptions are Garmin-only and are silently ignored by COROS and Wahoo. Design routes for the lowest common denominator unless every target user is on Garmin.

Why does deleting a route not remove it from a COROS device?

COROS has no delete support, so the delete call only removes the record from Terra API's database while the route stays on the device. The API still returns a success response, so absence of an error does not confirm removal.

How do I update a route already pushed to devices?

Use PUT /routes/{id} for a partial update of the template, which does not touch pushed devices. Add ?cascade to asynchronously re-push to all devices, but note that re-push failures are only logged server-side and never surfaced.