How matevivan/running-coach works
This repository equips coding agents to maintain a privacy-first running-coaching workflow: initialize an athlete workspace, collect recovery data, review runs, and adapt the athlete profile and plan. Separate skills also support FIT parsing and gear research. The README documents the workflow routing, private-data model, and major capabilities; source excerpts were unavailable, so links below reflect documented relationships rather than unverified implementation calls.
Main entry points: initialize-running-project/SKILL.md Initialize workspace · AGENTS.md Project instructions · analyze-running-activity/SKILL.md Analyze activity · collect-daily-metrics/SKILL.md Collect daily metrics
Components 22
Agent routing
- Project instructions
AGENTS.md
Athlete workflows
- Initialize workspace
.agents/skills/initialize-running-project/SKILL.md - Collect daily metrics
.agents/skills/collect-daily-metrics/SKILL.md - Analyze activity
.agents/skills/analyze-running-activity/SKILL.md - Coach runner
.agents/skills/coach-runner/SKILL.md - Parse FIT run
.agents/skills/parse-fit-run/SKILL.md - Research gear
.agents/skills/research-running-gear/SKILL.md - FIT file parser
.agents/skills/parse-fit-run/scripts/parse_fit_run.py
Private data
- Private workspace setup
.agents/skills/initialize-running-project/scripts/initialize_private_workspace.py - Private athlete history
.agents/running_data/migrations/001_initial.sql - Runner profile
- Running plan
- Recovery projection
External data
- GarminDB setup
.agents/skills/initialize-running-project/scripts/setup_garmindb_config.py - Read daily metrics
.agents/skills/collect-daily-metrics/scripts/read_garmindb_daily.py - Sync recovery data
.agents/skills/collect-daily-metrics/scripts/sync_latest_garmindb_recovery.py - Sync recent runs
.agents/skills/analyze-running-activity/scripts/sync_latest_garmindb.py - List recent runs
.agents/skills/analyze-running-activity/scripts/list_recent_garmindb_runs.py - Fetch historical weather
.agents/skills/analyze-running-activity/scripts/fetch_historical_weather.py - GarminDB
- Open-Meteo weather API
Other components
- Runner / agent user
Connections 29
- Runner / agent user → Project instructions: starts task
- Project instructions → Initialize workspace: routes setup
- Project instructions → Collect daily metrics: routes collection
- Project instructions → Analyze activity: routes review
- Project instructions → Coach runner: routes coaching
- Project instructions → Research gear: routes research
- Analyze activity → Parse FIT run: uses parser
- Initialize workspace → Private workspace setup: creates workspace
- Initialize workspace → GarminDB setup: sets up GarminDB
- GarminDB setup → GarminDB: configures access
- Collect daily metrics → Read daily metrics: reads metrics
- Collect daily metrics → Sync recovery data: syncs recovery
- Read daily metrics → GarminDB: reads
- Sync recovery data → GarminDB: reads
- Collect daily metrics → Recovery projection: updates projection
- Analyze activity → Sync recent runs: syncs activities
- Analyze activity → List recent runs: lists activities
- Sync recent runs → GarminDB: reads
- List recent runs → GarminDB: reads
- Analyze activity → Fetch historical weather: requests weather
- Fetch historical weather → Open-Meteo weather API: queries history
- Analyze activity → Private athlete history: records reviewed run
- Initialize workspace → Private athlete history: projects evidence
- Coach runner → Private athlete history: maintains history
- Coach runner → Runner profile: updates profile
- Coach runner → Running plan: updates plan
- Initialize workspace → Runner profile: creates projection
- Initialize workspace → Running plan: creates projection
- Initialize workspace → Recovery projection: creates projection