← Files Running WorkoutARCHIVED FILE

.codex-plugin/plugin.json

6.98 KB · Nov 7, 2026 · 12:39 UTC

↓ Download file

{
  "name": "running-workout",
  "version": "1.1.0",
  "description": "Running Workout is a sports training assistant for runners, cyclists and swimmers who train with a Garmin watch. It reads the athlete's own Garmin activities and training profile, keeps track of race goals and training plans, and builds structured running, cycling and swimming workouts that it schedules on the athlete's Garmin Connect calendar, so they sync to the watch. It connects through the official Garmin Connect Developer Program API with the athlete's consent and only accesses the connected account. It is a sports training tool and does not give medical advice.",
  "author": {
    "name": "Running Workout",
    "email": "nicolas@runningworkout.fr",
    "url": "https://www.runningworkout.fr/"
  },
  "homepage": "https://www.runningworkout.fr/",
  "keywords": [
    "running",
    "training",
    "garmin",
    "workout",
    "training plan",
    "cycling",
    "swimming"
  ],
  "skills": "./skills/",
  "mcpServers": "./.mcp.json",
  "interface": {
    "displayName": "Running Workout",
    "shortDescription": "Coach and schedule workouts",
    "longDescription": "Running Workout is a sports training assistant for runners, cyclists and swimmers who train with a Garmin watch. It reads the athlete's own Garmin activities and training profile, keeps track of race goals and training plans, and builds structured running, cycling and swimming workouts that it schedules on the athlete's Garmin Connect calendar, so they sync to the watch. It connects through the official Garmin Connect Developer Program API with the athlete's consent and only accesses the connected account. It is a sports training tool and does not give medical advice.",
    "developerName": "Running Workout",
    "category": "Healthcare",
    "capabilities": [],
    "websiteURL": "https://www.runningworkout.fr/?lang=en",
    "supportURL": "https://www.runningworkout.fr/support?lang=en",
    "privacyPolicyURL": "https://www.runningworkout.fr/privacy-policy?lang=en",
    "termsOfServiceURL": "https://www.runningworkout.fr/legal?lang=en",
    "defaultPrompt": [
      "Build me a plan to run a 10K in 8 weeks, 3 sessions a week.",
      "Put a VMA interval session on Thursday: 10\u00d7400m at 95% VMA.",
      "How did my last long run go compared to what was planned?"
    ],
    "brandColor": "#6366F1",
    "composerIcon": "./assets/icon.svg",
    "logo": "./assets/logo.png"
  },
  "extensions": {
    "com.openai": {
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Review the athlete's current profile before giving coaching advice.",
              "prompt": "Review my current training profile and tell me what matters most before we plan my next race.",
              "tools_triggered": "get_athlete_profile",
              "expected_behavior": "Returns a concise synthesis of the test athlete's profile: declared measurements (VMA 15 km/h), the 10K goal, constraints and recent activity context."
            },
            {
              "description": "Review completed running sessions in a bounded date range.",
              "prompt": "Show my running activities from the last two weeks and tell me which session I should look at more closely.",
              "tools_triggered": "list_activities",
              "expected_behavior": "Lists the two recent runs of the test account (an interval session and a long run) with distance, duration and pace, and points to one to inspect."
            },
            {
              "description": "Create and schedule a structured workout.",
              "prompt": "Create a 45-minute structured interval running workout and schedule it for next Tuesday.",
              "tools_triggered": "create_workout",
              "expected_behavior": "Asks for confirmation, then creates the structured workout and reports that it is scheduled for next Tuesday. The review account has no Garmin device: the Garmin Connect side is a sandbox and the answer says so."
            },
            {
              "description": "Start the training plan the athlete has set up, after an explicit confirmation.",
              "prompt": "I reviewed my saved 10K plan setup and I confirm that you should start it now.",
              "tools_triggered": "start_training_plan",
              "expected_behavior": "Reads back the saved 10K plan setup, starts it after confirmation and returns a recap of the active plan. If the case is replayed while the plan is already active, it returns the recap of that active plan and changes nothing. The test account returns to its starting state (plan set up, not started) after 30 minutes without activity."
            },
            {
              "description": "Record a training constraint in the athlete's persistent profile.",
              "prompt": "Remember that I can only run in the evening on weekdays.",
              "tools_triggered": "set_athlete_constraint",
              "expected_behavior": "Asks for confirmation, then saves an availability constraint (weekday evenings) and confirms what was recorded."
            }
          ],
          "negative": [
            {
              "description": "Unrelated general fitness advice: no athlete data is needed, the plugin should not be invoked.",
              "prompt": "What are some good stretches to do after sitting at a desk all day?"
            },
            {
              "description": "Public travel planning is outside the supported training workflows.",
              "prompt": "Find me a hotel near the Berlin Marathon start line."
            },
            {
              "description": "External account support is outside the scope of the plugin.",
              "prompt": "Help me reset the password for my email account."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "This plugin does not sell products or process payments.",
        "demo_recording_url": "https://youtu.be/igMKQG8D4iY"
      },
      "publication": {
        "release_notes": "Initial release: athlete profile, activity review, goals, constraints, training plans, and structured running, cycling and swimming workouts scheduled on Garmin Connect.",
        "translations": {
          "fr-FR": {
            "subtitle": "Coach et planning de s\u00e9ances",
            "description": "Running Workout est un assistant d'entra\u00eenement pour les coureurs, cyclistes et nageurs \u00e9quip\u00e9s d'une montre Garmin. Il lit les activit\u00e9s Garmin et le profil de l'athl\u00e8te, suit ses objectifs de course et ses plans d'entra\u00eenement, et construit des s\u00e9ances structur\u00e9es de course, de v\u00e9lo et de natation qu'il programme dans le calendrier Garmin Connect, pour qu'elles se synchronisent sur la montre. Il passe par l'API officielle du Garmin Connect Developer Program, avec l'accord de l'athl\u00e8te, et n'acc\u00e8de qu'au compte connect\u00e9. C'est un outil d'entra\u00eenement sportif, qui ne donne pas d'avis m\u00e9dical."
          }
        }
      }
    }
  },
  "apps": "./.app.json"
}

SHA-256: 42bc3e0c74007a209c501d592f32a4e0b0f4f951ea795c259b99aea532ebfed1