← Files Lion LiftARCHIVED FILE

plugin.json

6.44 KB · Nov 3, 2026 · 19:01 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "lion-lift",
  "version": "0.1.0",
  "description": "Review training history, propose and schedule runs, swims, rides, and lifts, compare plans with completed workouts, and create training analyses and reports.",
  "author": {
    "name": "Seth Roth"
  },
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Lion Lift",
        "shortDescription": "AI-assisted workout planning",
        "longDescription": "Use your Lion Lift workout history to plan runs, pool swims, bike rides, and lifts; review progress across sports; compare planned and completed sessions; and create training reports.",
        "developerName": "Seth Roth",
        "category": "Healthcare",
        "capabilities": [
          "Read",
          "Write"
        ],
        "defaultPrompt": [
          "What workout should I do today based on my recent training?",
          "Review my run, swim, bike, and lift progress over the last 4 weeks.",
          "Compare my most recent completed workout with its plan."
        ],
        "logo": "./assets/logo.png",
        "composerIcon": "./assets/composer-icon.png",
        "websiteURL": "https://lionlift.app/",
        "supportURL": "https://lionlift.app/support/",
        "privacyPolicyURL": "https://lionlift.app/privacy/",
        "termsOfServiceURL": "https://lionlift.app/terms/"
      },
      "review": {
        "commerce": false,
        "demo_recording_url": "https://drive.google.com/file/d/1NQP53wF_91FLm8wmtTPaFmbF51VsqAgD/view?usp=sharing",
        "test_cases": {
          "positive": [
            {
              "description": "With a test account containing recent runs and cross-training, propose a 40-minute run without scheduling it. The answer should reflect completed training and give a full session.",
              "prompt": "I have 40 minutes to run tomorrow. Look at my recent training and suggest one workout, including warm-up, main set, recovery, and cool-down.",
              "tools_triggered": "list_collections, list_fields when needed, fetch_records",
              "expected_behavior": "Read recent completed runs and relevant swims, rides, and lifts. Explain the choice using returned data, give a specific 40-minute workout, and do not call schedule_interval_run."
            },
            {
              "description": "With a test account containing recent swim and cross-training records, propose a 45-minute pool session that fits the stated focus.",
              "prompt": "I have 45 minutes in a 25-meter pool. Suggest a technique-focused swim based on my recent workouts.",
              "tools_triggered": "list_collections, list_fields when needed, fetch_records",
              "expected_behavior": "Review completed swims and relevant run, bike, and lift load. Give a complete pool workout with distances, strokes or drills, rest, total distance, and duration; do not schedule it."
            },
            {
              "description": "With a test account containing recent rides and cross-training, propose a trainer ride without inventing a power threshold.",
              "prompt": "I have an hour on the bike trainer today. Suggest one ride based on what I have done recently. I do not know my FTP.",
              "tools_triggered": "list_collections, list_fields when needed, fetch_records",
              "expected_behavior": "Review completed rides and relevant swim, run, and lift load. Give a 60-minute ride with warm-up, work and recovery, cool-down, and effort-based targets rather than an invented FTP."
            },
            {
              "description": "With a test account containing lift and cross-training history, propose a lift and explain the training focus in plain language.",
              "prompt": "What should I lift today? I have 50 minutes and want to get stronger. Explain which muscle groups we are working and why.",
              "tools_triggered": "list_collections, list_fields when needed, fetch_records",
              "expected_behavior": "Review comparable completed lifts and recent endurance work. Give exercises, sets, reps, rest, appropriate load guidance, and a simple explanation of strength and gradual progression; do not schedule it."
            },
            {
              "description": "With a test account and an approved full lift plan, create one scheduled lift for a specified calendar date.",
              "prompt": "Please schedule this lift for 2026-11-12: Barbell Back Squat 3 sets of 5 at 95 lb, Flat Barbell Bench Press 3 sets of 5 at 65 lb. Show me exactly what will be saved and wait for my confirmation.",
              "tools_triggered": "list_known_exercises, then schedule_lift only after the reviewer confirms the displayed record",
              "expected_behavior": "Use catalog exercise names where they match, show the date and every set's pounds and reps, wait for explicit confirmation, call schedule_lift once, and report the returned scheduled status."
            }
          ],
          "negative": [
            {
              "description": "Deleting a completed workout is outside the MCP server's write capabilities.",
              "prompt": "Delete my last completed lift from Lion Lift.",
              "expected_behavior": "Explain that this plugin has no delete-workout tool. Do not call any scheduling tool or claim the workout was deleted."
            },
            {
              "description": "The swim scheduling tool supports pool workouts, not open-water workouts.",
              "prompt": "Schedule a structured open-water swim with GPS pace alerts for tomorrow.",
              "expected_behavior": "Explain that this scheduling capability is for pool swims and cannot encode an open-water GPS pace workout. Do not call schedule_pool_swim_workout."
            },
            {
              "description": "A workout scheduling request without exact details or final confirmation must not create a record.",
              "prompt": "Schedule me a hard lift sometime next week; choose all the weights for me.",
              "expected_behavior": "Ask for the calendar date and resolve exact exercises, sets, reps, and loads before seeking explicit confirmation. Do not call schedule_lift from this prompt alone."
            }
          ]
        }
      },
      "publication": {
        "countries": [],
        "release_notes": "Initial Lion Lift plugin package with 11 training workflow skills and one hosted MCP server."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: bee16994afc3af7669df77d7d9924cd5c3a2805aacbeb040a0b6a4a61fe1f9a6