By shlomihod
Claude Code plugin that turns Garmin Connect data into a multi-agent training analysis. Port of leonzzz435/garmin-ai-coach.
Session-level execution specialist. Analyzes individual workout quality, pacing, HR response, power, splits, and progression patterns across recent activities. Delegate session-by-session interpretation to this agent.
Training-load and readiness metrics specialist. Analyzes ACWR, CTL/ATL/TSB, ramp rate, monotony, and strain from a window of Garmin data. Delegate all quantitative load analysis to this agent.
Recovery and readiness specialist. Analyzes HRV, sleep, body battery, resting HR, stress, and overall physiological readiness from Garmin wellness data. Delegate all recovery, autonomic-state, and readiness questions to this agent.
Pull recent Garmin data, dispatch three domain-expert subagents in parallel, synthesize their outputs, and render an analysis.html dashboard. The core peak-lab workflow.
Reference catalog for dynamically calling Garmin Connect API methods via `bin/garmin-call`. Consult when you need Garmin data beyond what's already in `raw.json`.
First-run bootstrap for peak-lab. Verifies prerequisites, walks the user through Garmin Connect authentication, and captures an athlete profile. Run this once before /peak-lab:analyze.
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
This plugin requires configuration values that are prompted when the plugin is enabled. Sensitive values are stored in your system keychain.
analysis_window_daysHow many days of Garmin data to pull for each analyze run.
${user_config.analysis_window_days}A Claude Code plugin that turns your Garmin Connect data into a multi-agent training analysis. It pulls the past couple of months of activities, wellness, and training-status data, dispatches three specialist subagents in parallel (metrics, activity, physiology), synthesizes their outputs, and renders a self-contained HTML dashboard.
peak-lab is a research preview and a Claude-Code-native port of
leonzzz435/garmin-ai-coach
(MIT) — the same three-expert architecture, re-expressed with Claude Code
skills, subagents, and two small CLIs (bin/fetch-garmin, bin/garmin-call)
as the data layer.
Not Garmin Coach. Garmin Coach is Garmin's own adaptive training feature. peak-lab is an unaffiliated third-party tool that reads data from your Garmin Connect account.
You need Claude Code, a Garmin Connect account, and uv (the
Python runner peak-lab's CLIs use).
uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
git clone https://github.com/shlomihod/peak-lab.git
mkdir ~/my-training-project && cd ~/my-training-project
claude --plugin-dir /path/to/peak-lab
/peak-lab:setup. It prints the path to the bundled
bin/garmin-auth script — run that once in a terminal. It prompts for
your Garmin email, password, and an MFA code (if enabled), then saves
OAuth tokens to ~/.garminconnect/garmin_tokens.json. Your password is
never stored. (Re-run garmin-auth --verify to check tokens, --force
to log in again.)/peak-lab:analyze. The first run takes a couple of
minutes while uv resolves dependencies; later runs are ~15–30 seconds.--plugin-dir loads peak-lab for one session — the intended path while it's
unpublished. Once it's in a plugin marketplace, installation becomes
/plugin marketplace add <marketplace> then /plugin install peak-lab@<marketplace>.
/peak-lab:setup — one-time bootstrap. Checks prerequisites, walks you
through Garmin authentication, and captures a short athlete profile (goals,
constraints, races) in profile.md. Re-run any time to update the profile./peak-lab:analyze — pulls ~60 days of Garmin data (activities, sleep,
HRV, training status/readiness, body battery, plans, PRs, race predictions)
into raw.json, dispatches the metrics, activity, and physiology
expert subagents in parallel, synthesizes their findings, and writes
analysis.html + analysis.json. Open the HTML in a browser.peak-lab writes every file into the current working directory — the folder you launched Claude Code from. That folder is your training project: profile, raw data, analyses, and plans all live there. No env vars, no fallback paths.
Keep your training project separate from the plugin source — don't run
peak-lab from inside the cloned peak-lab/ folder. A typical project after an
analyze run:
my-training-project/
├── profile.md your athlete profile (goals, constraints, races)
├── garmin-call.log audit log of every Garmin API call
└── runs/
├── 20260413T142123Z/ one analyze run
│ ├── raw.json full Garmin pull (~20 MB)
│ ├── analysis.json
│ └── analysis.html open this in a browser
└── latest → … symlink to the most recent run
If you git-track the project, ignore the bulky raw data in .gitignore:
runs/*/raw.json
garmin-call.log
Garmin OAuth tokens live separately at ~/.garminconnect/garmin_tokens.json
— global, written only by garmin-auth, reused across all your projects.
peak-lab uses Claude Code's userConfig mechanism — you're prompted when the
plugin is enabled:
| Key | Default | Meaning |
|---|---|---|
analysis_window_days | 60 | How many days of data /analyze pulls. |
npx claudepluginhub shlomihod/peak-lab --plugin peak-labAI document review with tracked changes and comments
Complete AI coding workflow system. Self-correcting memory + persistent FTS5-indexed research wikis + auto-research loop + multi-LLM council on a single SQLite store. 33 skills, 8 agents, 22 commands, 37 hook scripts across 24 events. Cross-agent via SkillKit.
Open-source, local-first Claude Code plugin for token reduction, context compression, and cost optimization using hybrid RAG retrieval (BM25 + vector search), reranking, AST-aware chunking, and compact context packets.
Intelligent draw.io diagramming plugin with AI-powered diagram generation, multi-platform embedding (GitHub, Confluence, Azure DevOps, Notion, Teams, Harness), conditional formatting, live data binding, and MCP server integration for programmatic diagram creation and management.
Complete creative writing suite with 10 specialized agents covering the full writing process: research gathering, character development, story architecture, world-building, dialogue coaching, editing/review, outlining, content strategy, believability auditing, and prose style/voice analysis. Includes genre-specific guides, templates, and quality checklists.
TypeScript/JavaScript full-stack development with NestJS, React, and React Native
MCP server that saves 98% of your context window with session continuity. Sandboxed code execution in 11 languages, FTS5 knowledge base with BM25 ranking, and automatic state restore across compactions.