garmin-skill
Talk to your Garmin data — ask questions about your activities, training load, VO2 Max, heart rate zones.
Setup & Installation
Install command
clawhub install nftechie/garmin-skillIf the CLI is not installed:
Install command
npx clawhub@latest install nftechie/garmin-skillOr install with OpenClaw CLI:
Install command
openclaw skills install nftechie/garmin-skillor paste the repo link into your assistant's chat
Install command
https://github.com/openclaw/skills/tree/main/skills/nftechie/garmin-skillWhat This Skill Does
Connects AI agents to your Garmin Connect training data via the Transition app. Supports querying activities, VO2 Max trends, heart rate zones, training load, and scheduled workouts. Includes a free workout generator that requires no account.
Instead of manually exporting Garmin data or navigating Connect dashboards, you can ask natural-language questions and get answers grounded in your actual training history.
When to Use It
- Ask if you're overtraining based on recent activity data
- Check how running volume changed month over month
- Get CTL, ATL, and TSB values before planning a hard week
- Push a scheduled workout directly to your Garmin device
- Generate a structured workout without linking any account
View original SKILL.md file
# Garmin Skill
Chat with your Garmin Connect data using AI. Ask about your runs, rides, swims, training load, VO2 Max, heart rate zones, and performance trends. Powered by [Transition](https://www.transition.fun), which syncs with Garmin Connect to give AI agents access to your training data.
## Setup
1. Download [Transition](https://www.transition.fun) and connect your Garmin account
2. Go to **Settings > API Keys** and tap **Generate New Key**
3. Set the environment variable:
```bash
export TRANSITION_API_KEY="tr_live_xxxxxxxxxxxxxxxxxxxxx"
```
## No Auth Required
### Workout of the Day
Generate a random structured workout — no account needed.
```bash
curl "https://api.transition.fun/api/v1/wod?sport=run&duration=45"
```
**Parameters:**
- `sport` — `run`, `bike`, `swim`, or `strength` (default: `run`)
- `duration` — minutes, 10-300 (default: `45`)
## Authenticated Endpoints
**Base URL:** `https://api.transition.fun`
**Auth:** Pass `X-API-Key` header on every request.
### AI Coach Chat
Ask questions about your Garmin data. The AI coach has full context on your activities, training load, and performance.
```bash
curl -X POST -H "X-API-Key: $TRANSITION_API_KEY" \
-H "Content-Type: application/json" \
-d '{"message": "How has my running volume changed this month compared to last?"}' \
"https://api.transition.fun/api/v1/coach/chat"
```
Example questions:
- "What was my longest run this week?"
- "How is my VO2 Max trending?"
- "Am I overtraining based on my recent Garmin data?"
- "Compare my cycling power this month vs last month"
- "What does my heart rate data say about my fitness?"
### Get Workouts
Retrieve scheduled workouts for a date range.
```bash
curl -H "X-API-Key: $TRANSITION_API_KEY" \
"https://api.transition.fun/api/v1/workouts?start=2026-02-09&end=2026-02-15"
```
**Parameters:**
- `start` — Start date (YYYY-MM-DD, required)
- `end` — End date (YYYY-MM-DD, required)
- Maximum range between `start` and `end` is 90 days.
### Performance Management Chart (PMC)
Get CTL (fitness), ATL (fatigue), and TSB (form) calculated from your Garmin activities.
```bash
curl -H "X-API-Key: $TRANSITION_API_KEY" \
"https://api.transition.fun/api/v1/performance/pmc"
```
### Performance Stats
Get FTP, threshold paces, heart rate zones, and other metrics derived from your Garmin data.
```bash
curl -H "X-API-Key: $TRANSITION_API_KEY" \
"https://api.transition.fun/api/v1/performance/stats"
```
### Athlete Profile
```bash
curl -H "X-API-Key: $TRANSITION_API_KEY" \
"https://api.transition.fun/api/v1/profile"
```
### Chat History
```bash
curl -H "X-API-Key: $TRANSITION_API_KEY" \
"https://api.transition.fun/api/v1/coach/history"
```
### Push Workout to Garmin
Send a scheduled workout directly to your Garmin device.
```bash
curl -X POST -H "X-API-Key: $TRANSITION_API_KEY" \
"https://api.transition.fun/api/v1/workouts/123/push-garmin"
```
## Rate Limits
| Tier | Read Endpoints | AI Endpoints |
|------|---------------|-------------|
| Free | 100/day | 3/day |
| Paid | 10,000/day | 100/day |
## Tips for Agents
1. **Use coach chat as the primary interface.** It has full context on the user's Garmin activities, training load, and performance — just ask natural questions.
2. **Check fatigue before recommending hard workouts.** Call `GET /api/v1/performance/pmc` and look at TSB. If TSB is below -20, the athlete is fatigued.
3. **Use the free WOD endpoint for quick workouts.** No auth needed — great for users who just want a workout suggestion.
4. **Date format is always YYYY-MM-DD** for all date parameters.
Example Workflow
Here's how your AI assistant might use this skill in practice.
User asks: Ask if you're overtraining based on recent activity data
- 1Ask if you're overtraining based on recent activity data
- 2Check how running volume changed month over month
- 3Get CTL, ATL, and TSB values before planning a hard week
- 4Push a scheduled workout directly to your Garmin device
- 5Generate a structured workout without linking any account
Talk to your Garmin data — ask questions about your activities, training load, VO2 Max, heart rate zones.
Security Audits
These signals reflect official OpenClaw status values. A Suspicious status means the skill should be used with extra caution.
Similar Skills
VIEW ALLairfrance-afkl
Track Air France flights using the Air France–KLM Open Data APIs.
idfm-journey-skill
Query Île-de-France Mobilités (IDFM) PRIM/Navitia.
charger
Check EV charger availability (favorites, nearby search) via Google Places.
sholat
Ambil jadwal sholat (imsak, subuh, dzuhur, ashar, maghrib, isya) untuk kota/kabupaten di Indonesia dari API Muslim.