Device agnostic
Change watches or apps without leaving your training history behind. Keep your ath file wherever you want, on your machine or in the cloud.
Your workouts are spread across watches, apps and old logs.
Bring that history into your ath file, so your agent has more to work with than the last conversation.
Change watches or apps without leaving your training history behind. Keep your ath file wherever you want, on your machine or in the cloud.
Use your ath file with the agent and model you choose. Ask your own questions, build your own tools, and change providers as your needs change.
ATH is free to use. No account or subscription required.
Have your agent match device sessions with workout details from spreadsheets, notebooks and old training plans.
Device readings keep their source. Your notes stay separate, and vendor scores stay labeled.
Bring your workouts, sleep and recovery together from Apple Health, WHOOP and Oura.
$ath import ~/Downloads/export.zipimport ~/Downloads/export.zipLook back across devices and years. Link a logged result to its recorded session, with device measurements and your own notes kept distinct.
Inside your ath file ↗{
"athleticstandard_version": "0.4.3",
"athlete": {},
"sources": [
{
"id": "manual",
"kind": "manual"
},
{
"id": "apple-watch",
"kind": "wearable",
"vendor": "apple",
"writer": "Apple Watch",
"via": "apple_health"
}
],
"hard_signals": [
{
"type": "benchmark_result",
"benchmark": "fran",
"recorded_at": "2026-05-12T17:05:12Z",
"source": "manual",
"result": {
"duration_s": 312
},
"scaling": "rx"
},
{
"type": "benchmark_result",
"benchmark": "fran",
"recorded_at": "2026-06-09T17:04:58Z",
"source": "manual",
"result": {
"duration_s": 298
},
"scaling": "rx"
},
{
"type": "benchmark_result",
"benchmark": "fran",
"recorded_at": "2026-07-14T17:04:49Z",
"source": "manual",
"result": {
"duration_s": 289
},
"scaling": "rx"
},
{
"type": "benchmark_result",
"benchmark": "fran",
"recorded_at": "2026-08-18T17:04:41Z",
"source": "manual",
"result": {
"duration_s": 281
},
"scaling": "rx"
},
{
"type": "benchmark_result",
"benchmark": "fran",
"recorded_at": "2026-09-19T17:04:32Z",
"source": "manual",
"result": {
"duration_s": 272
},
"scaling": "rx",
"session": {
"source": "apple-watch",
"start": "2026-09-19T17:00:00Z"
}
},
{
"type": "workout_session",
"start": "2026-09-19T17:00:00Z",
"end": "2026-09-19T17:04:32Z",
"source": "apple-watch",
"aggregates": {
"activity": "crossfit",
"avg_hr_bpm": 154,
"max_hr_bpm": 178
}
}
],
"soft_signals": [
{
"type": "note",
"reported_at": "2026-09-19T17:06:00Z",
"note": "legs felt heavy",
"provenance": {
"via": "text"
}
}
],
"benchmarks": [
{
"id": "fran",
"kind": "named_wod",
"score_type": "time",
"definition": "21-15-9 reps for time: thrusters and pull-ups"
}
],
"predictions": []
}A notebook, a coach’s text, the whiteboard, an online program, a PDF. Drop it into your agent chat, add what you actually did, and log it to your ath file.
Log a workout ↗$ath log Fran in 4:41 rxlog fran 4:41 rx
Ask your agent to estimate your next attempt from past results, recent training and longer-term baselines. Save the prediction before you know the result.
Work through a prediction ↗$ath predict franpredict my next fran time and save itBased on your previous attempts and recent training.
Record the result and compare it with the estimate. Keep what the model predicted and where it missed, so your agent can review the evidence.
Grade an attempt ↗$ath grade fran --actual 4:32got 4:32 on fran how does that compare to your predictionInstall ATH, import an export and keep adding to your ath file.
$npm install -g athleticstandardread https://ath.fit/SKILL.md and follow the instructions to set up ath and its agent skill for me