plan-generator

Generates 14–21 day personalized running training plans with safe load progression. Use when user completes onboarding, requests a new plan, updates their running goals, or wants to export a training calendar.

$ Installer

git clone https://github.com/nadavyigal/Running-coach- /tmp/Running-coach- && cp -r /tmp/Running-coach-/.claude/skills/plan-generator ~/.claude/skills/Running-coach-

// tip: Run this command in your terminal to install the skill


name: plan-generator description: Generates 14–21 day personalized running training plans with safe load progression. Use when user completes onboarding, requests a new plan, updates their running goals, or wants to export a training calendar. metadata: short-description: Drafts personalized training blocks with safe load progression and rationale.

When Claude should use this skill

  • After onboarding completion or goal updates
  • When the user requests a new plan or calendar export
  • When user asks to create/regenerate/export their training schedule

Invocation guidance

  1. Load shared contracts from running-coach-index/references/contracts.md.
  2. Inputs must include UserProfile, TrainingHistory, and optional RecentRunTelemetry[].
  3. Enforce rest distribution and load caps from deterministic rules (v0/lib/plan-complexity-engine.ts, v0/lib/periodization.ts).
  4. Return JSON matching Plan + rationale.

Input schema (JSON)

{
  "profile": UserProfile,
  "trainingHistory": TrainingHistory,
  "startDate": "2025-01-01",
  "preferences": { "indoorOk": true, "rookieChallenge": true }
}

Output schema (JSON)

Plan & { rationale: string; safetyFlags?: SafetyFlag[] }

Integration points

  • API: v0/app/api/generate-plan/route.ts
  • Logic: v0/lib/planGenerator.ts, v0/lib/plan-templates.ts
  • UI: Today and Plan screens (Dexie data via v0/lib/db.ts)

Safety & guardrails

  • No medical diagnosis; if pain/dizziness flags are present, reduce load and advise consulting a professional.
  • Hard-cap weekly volume deltas via plan-complexity-engine.ts.
  • Emit SafetyFlag for load spikes or missing critical data.

Telemetry

  • Emit ai_skill_invoked and ai_plan_generated with plan_version, fallback_used, safety_flags.