Skip to content
Back to skills

Onboarding

ASecurity

Bootstraps a brand-new athlete profile by inferring from Garmin data first, then confirming with five quick questions. Load this skill when /coach-onboard runs, or when any coaching interaction discovers `coach_state read kind=profile` returns null.

  • 4 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 26, 2026
ai-agentsrustgo

Works with

  • cli
  • mcp

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add ace4seven/GC-MCP --skill onboarding --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Onboarding?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Onboarding
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ace4seven-onboarding/badge)](https://www.skillsdirectory.com/skills/ace4seven-onboarding)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: onboarding
description: Bootstraps a brand-new athlete profile by inferring from Garmin data first, then confirming with five quick questions. Load this skill when /coach-onboard runs, or when any coaching interaction discovers `coach_state read kind=profile` returns null.
---

# Onboarding — bootstrap a new athlete

Goal: produce a working `profile.json`, `goals.md`, and `current-block.md` in under five minutes of user time. Infer aggressively from Garmin data; ask the fewest possible questions.

## Phase 1 — Silent inference (no questions yet)

Fire these MCP tool calls in parallel and synthesise a draft profile:

- `list_activities` with `limit: 100` and a 90-day date range
- `get_training_status` (30-day range)
- `get_vo2max`
- `get_hrv_status` (30-day range)
- `get_user_profile`
- `get_personal_records`
- `list_gear`

Derive:

- **Primary modalities** = top 1-2 sport types by `frequency × duration` over 90 days. Group as `running` / `cycling` / `strength` / `mixed_conditioning` / `other`.
- **Secondary modalities** = anything else with ≥10% share.
- **Experience level** — `beginner` if <1 year of data or VO2max <40th percentile; `advanced` if VO2max >75th percentile and ≥3 distance/strength PRs; `intermediate` otherwise.
- **Weekly hours available** = median weekly activity hours over last 8 weeks, rounded.
- **Preferred training days** = days-of-week with ≥60% activity frequency over 90 days.
- **Baselines** = pulled directly from Garmin: resting HR, HRV 7d avg, VO2max running/cycling, weight if available.
- **Constraints** = empty for now (only user fills).

Show the draft to the user, then ask Phase 2 questions.

## Phase 2 — Confirmation interview (5 questions)

Ask one question at a time. Don't batch.

1. **Modality confirmation** — show your inferred split and ask if it matches.
2. **Goal in user's own words** — store verbatim in `goals.md`. Do not structure or rephrase. One sentence.
3. **Time honesty** — distinguish historical median from current capacity. "Is 6.2 hours/week what you have, or what you've been managing?"
4. **Constraints** — free-form: injuries, sore joints, life things, untrainable days.
5. **Voice** — direct / coach-style / inquisitive. Default coach-style.

## Phase 3 — Starter block (write without asking)

Write `current-block.md` automatically:

- 4-week conservative block.
- Stated goal: "Establish baseline + earn the right to push." Not the user's goal yet.
- Volume: 90% of the last 4 weeks' average. Deliberately under-prescribed for trust.
- One quality session per primary modality per week. Everything else easy.
- Deload built into week 4.

Save:

- `coach_state` `write` `profile` with the inferred + confirmed object.
- `coach_state` `write` `goals` with the verbatim string.
- `coach_state` `write` `current_block` with the starter block markdown.

End by suggesting `/coach-plan-week` to materialise the first week's specific sessions.

## What never to do

- Don't run a fitness test. The user has 90 days of data already.
- Don't ask for subjective ratings of recent training. First-day self-reports are noisy.
- Don't program directly toward the stated goal. Earn signal first.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.