← Files SimmaARCHIVED FILE

plugin.json

8.68 KB · Nov 2, 2026 · 12:55 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "simma",
  "version": "0.2.1",
  "description": "Triathlon and endurance coaching, powered by your Garmin data.",
  "author": {
    "name": "Simma",
    "email": "coaching@getsimma.com",
    "url": "https://getsimma.com"
  },
  "homepage": "https://getsimma.com",
  "keywords": [
    "swimming",
    "running",
    "cycling",
    "triathlon",
    "coaching",
    "garmin",
    "training"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Simma",
        "shortDescription": "Triathlon & endurance coaching",
        "longDescription": "Simma turns swimming, running and cycling data into coaching for triathletes and endurance athletes. It reads activities from Garmin, computes the numbers a triathlon coach actually uses \u2014 form calibrated to each athlete's own history, per-sport training status across swim, bike and run, pace and stroke detail down to the lap \u2014 and gives ChatGPT the finished picture rather than raw files.\n\nFor coaches. Whether you coach triathletes, runners, cyclists or swimmers, ask who on your roster needs attention this week and why. Open one athlete and get three weeks of sessions bucketed by week, their load against their own baseline, race goals with days to go, the linked training plan, and pre-computed flags for the things worth a message. Draft that message in your own voice, save it, and send it from Simma so replies thread back into the same conversation. Keep private notes per athlete that steer every future draft. Every number is computed by Simma; ChatGPT writes the words.\n\nFor athletes. Ask how your triathlon training is going and get an honest read against your own history, not a generic scale. Look up any swim, ride or run in detail, find the sessions where you faded or negative-split, set and track race goals, link a training plan, and message your coach \u2014 or, if you are self-coached, get the same analysis Simma gives a coach.\n\nWorkouts to the watch. Ask ChatGPT to write a session in Simma's workout format, from your plan or from the conversation; Simma checks it against your pool and thresholds, reads it back, and on your confirmation adds it to your Garmin workout library, where you pick it on the watch. Coaches can do the same for an athlete on their roster.\n\nWhat it does not do. Simma never sends anything on your behalf without an explicit confirmation step, and read tools are marked read-only so ChatGPT can use them freely. Tools that overwrite a setting, delete a goal or end a coaching relationship are marked destructive so ChatGPT asks before running them. Sending a message is gated twice: the draft is shown to you in full and must be approved before it goes.\n\nYou need a Simma account; new users can create one during sign-in. Activity data comes from Garmin Connect, linked from the Simma web app. Your training history loads within a few minutes of linking, as long as historical data is allowed on Garmin's consent page.",
        "developerName": "Simma",
        "category": "Data & Analytics",
        "capabilities": [
          "Read training status, load and form for an athlete or a whole squad",
          "Read session detail down to the lap",
          "Read sleep, HRV and resting heart rate trends",
          "Create, update and delete training goals",
          "Update training settings and thresholds",
          "Draft messages and send them after approval",
          "Join, leave or change coach",
          "Check a workout written by ChatGPT and send it to a Garmin watch after approval"
        ],
        "websiteURL": "https://getsimma.com",
        "supportURL": "https://getsimma.com/resources/connect-simma-to-chatgpt",
        "privacyPolicyURL": "https://getsimma.com/privacy",
        "termsOfServiceURL": "https://getsimma.com/terms",
        "defaultPrompt": [
          "Analyse my last run and chart it.",
          "How have my sleep, HRV and resting heart rate been this week?",
          "Who in my squad needs attention this week, and why?"
        ],
        "brandColor": "#FF5082",
        "composerIcon": "./assets/icon.png",
        "logo": "./assets/logo.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Roster status (review coach account)",
              "prompt": "Who in my squad needs attention this week?",
              "tools_triggered": "list_athletes, get_coach_inbox",
              "expected_behavior": "Each athlete on the coach's roster is returned with a training status and the reason for it. No error."
            },
            {
              "description": "Athlete context (review coach account)",
              "prompt": "Give me the full picture on Niall.",
              "tools_triggered": "list_athletes, get_athlete_context",
              "expected_behavior": "Three weeks of sessions bucketed by week, load against the athlete's own baseline, goals with days to go, notable flags, and the coach's private notes (a shoulder-strain note is present)."
            },
            {
              "description": "Session detail (review coach account)",
              "prompt": "Walk me through Niall's most recent swim.",
              "tools_triggered": "list_athlete_activities, get_activity_detail",
              "expected_behavior": "The most recent swim is found and its sets, laps and pace are returned and described."
            },
            {
              "description": "Draft without sending (review coach account)",
              "prompt": "Draft Niall a short note about keeping the swims easy this week.",
              "tools_triggered": "get_coach_profile, get_athlete_context, save_draft",
              "expected_behavior": "A draft with a subject and body is stored in Simma. Nothing is sent: the thread shows the message with status draft."
            },
            {
              "description": "Athlete self-view (review athlete account)",
              "prompt": "How is my training going?",
              "tools_triggered": "get_my_context",
              "expected_behavior": "The athlete's own load, form and recent sessions are returned and summarised. The coach's private notes are absent."
            },
            {
              "description": "Workout to the watch (review athlete account)",
              "prompt": "Write me a 40-minute easy run with four 20-second strides near the end and send it to my watch.",
              "tools_triggered": "get_workout_format, check_my_workout, send_workout_to_my_watch",
              "expected_behavior": "The workout is checked and read back as plain lines with its totals. The send asks for confirmation and runs only on approval; the result names the Garmin workout, or, if the account has no Garmin link, Garmin's own refusal is returned."
            }
          ],
          "negative": [
            {
              "description": "Send without confirmation: as the coach, the send is refused unless the confirmation is shown and accepted; nothing is emailed",
              "prompt": "Send that draft now, don't ask me."
            },
            {
              "description": "Access outside the coach's squad: the API answers not found and no data is returned",
              "prompt": "Show me the training status for athlete id 00000000-0000-0000-0000-000000000000."
            },
            {
              "description": "Athlete asking for a coach tool: every tool is listed to every account, but a coach tool called from an athlete's account is refused before any data is read, and the reply names the athlete tool to use instead",
              "prompt": "List all athletes in the squad."
            }
          ]
        },
        "demo_recording_url": "https://getsimma.com/demo/simma-chatgpt-demo.mp4",
        "commerce": false,
        "commerce_description": "This plugin does not sell products or process payments."
      },
      "publication": {
        "release_notes": "0.2.1. Starter prompts lead with what athletes ask most: one activity analysed with its heart-rate and other traces and charted, and sleep, HRV and resting heart rate. Activity detail now lists the traces worth reading with each session and marks pool lengths the watch got wrong, which are left out of pace. No tool added, renamed or removed. 0.2.0. One tool list for every account: coach tools are listed to athletes too and refused at call time with the athlete tool to use, so the directory's scanned list is right for everyone. Workout tools: get_workout_format, check_my_workout, send_workout_to_my_watch, check_athlete_workout, send_workout_to_athlete_watch \u2014 a session in Simma's workout format is checked, read back and sent to a Garmin watch after confirmation."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 02264fc6f6cd8bfc53a17b258b69a47775c05c7368b13cb825631be232fd47e1