← Files BTB Workout LogARCHIVED FILE

plugin.json

6.51 KB · Nov 10, 2026 · 07:27 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "btb-workout-log",
  "version": "1.0.0",
  "description": "Review, log, and edit your BTB Workout Log strength-training data from ChatGPT.",
  "author": {
    "name": "BTB Workout Log",
    "url": "https://btbworkoutlog.com/"
  },
  "homepage": "https://btbworkoutlog.com/",
  "keywords": [
    "workout",
    "strength training",
    "fitness",
    "gym log"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "BTB Workout Log",
        "shortDescription": "Log and review your lifting",
        "longDescription": "BTB Workout Log is a strength-training log app for iPhone. Connect it to ChatGPT to talk about your own training data: ask for a summary of last week, compare your bench press over time, or plan today's session based on what you actually did. You can also log workouts by describing them (\"bench 60 kg x 10 for 3 sets yesterday\") or paste records from another app to import them.\n\nImports can be undone in one step, and deletions are always reversible \u2014 the assistant cannot permanently delete anything. A BTB account is required; you sign in and approve access on our page, and you can disconnect at any time from the app.",
        "developerName": "BTB Workout Log",
        "category": "Productivity",
        "capabilities": [
          "Summarize workouts",
          "Log workouts",
          "Import records from other apps",
          "Edit sets",
          "Undo imports and restore deletions"
        ],
        "websiteURL": "https://btbworkoutlog.com/",
        "supportURL": "https://btbworkoutlog.com/support.html",
        "privacyPolicyURL": "https://btbworkoutlog.com/privacy-policy",
        "termsOfServiceURL": "https://btbworkoutlog.com/terms-of-service",
        "defaultPrompt": [
          "Summarize my workouts from the last 7 days.",
          "How has my bench press changed over the last 3 months?",
          "Plan today's session based on my recent training."
        ],
        "logo": "./assets/logo.png",
        "composerIcon": "./assets/logo.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Summarize recent workouts",
              "prompt": "Summarize my workouts from the last 7 days.",
              "tools_triggered": "list_workouts",
              "expected_behavior": "Summarizes each workout by date with exercises, weights and reps."
            },
            {
              "description": "Log a workout from natural language",
              "prompt": "Log for yesterday: Bulgarian split squat 20 kg x 10, 3 sets.",
              "tools_triggered": "list_exercises, import_workouts",
              "expected_behavior": "Imports 3 sets for yesterday's date and reports the result with a batch_id."
            },
            {
              "description": "Undo the last import",
              "prompt": "Undo the import you just made.",
              "tools_triggered": "undo_import",
              "expected_behavior": "Asks for confirmation, then reverts the import; the sets disappear from the app."
            },
            {
              "description": "Edit an existing set",
              "prompt": "Change the weight of the first squat set in my most recent leg day to 90 kg.",
              "tools_triggered": "list_workouts, upsert_rows",
              "expected_behavior": "Finds the most recent leg day, asks for confirmation if needed, and updates the first squat set to 90 kg."
            },
            {
              "description": "Delete and restore a workout",
              "prompt": "Delete my most recent leg day workout, then restore it.",
              "tools_triggered": "list_workouts, soft_delete, restore",
              "expected_behavior": "Soft-deletes the workout, then restores it together with all its exercises and sets."
            }
          ],
          "negative": [
            {
              "description": "General fitness knowledge: answer from general knowledge without calling BTB.",
              "prompt": "What is good form for a bench press?"
            },
            {
              "description": "Unrelated request: BTB should not be called.",
              "prompt": "What's the weather in Tokyo today?"
            },
            {
              "description": "Meal data is out of scope: BTB does not handle nutrition data, so it should not be called.",
              "prompt": "Show my meals from MyFitnessPal."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "This plugin does not sell products or process payments.",
        "demo_recording_url": "https://youtu.be/TLipomeDOg4"
      },
      "publication": {
        "release_notes": "Initial release: read, log, import, edit, undo, soft-delete and restore workouts in BTB Workout Log.",
        "translations": {
          "ja-JP": {
            "subtitle": "\u7b4b\u30c8\u30ec\u8a18\u9332\u3092ChatGPT\u3067",
            "description": "BTB Workout Log \u306f iPhone \u5411\u3051\u306e\u7b4b\u30c8\u30ec\u8a18\u9332\u30a2\u30d7\u30ea\u3067\u3059\u3002ChatGPT \u3068\u63a5\u7d9a\u3059\u308b\u3068\u3001\u81ea\u5206\u306e\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30c7\u30fc\u30bf\u306b\u3064\u3044\u3066\u4f1a\u8a71\u3067\u304d\u307e\u3059\u3002\u5148\u9031\u306e\u632f\u308a\u8fd4\u308a\u3001\u30d9\u30f3\u30c1\u30d7\u30ec\u30b9\u306e\u63a8\u79fb\u6bd4\u8f03\u3001\u5b9f\u969b\u306e\u8a18\u9332\u306b\u57fa\u3065\u3044\u305f\u4eca\u65e5\u306e\u30e1\u30cb\u30e5\u30fc\u4f5c\u308a\u306a\u3069\u3002\u300c\u6628\u65e5\u30d9\u30f3\u30c160kg\u00d710\u30923\u30bb\u30c3\u30c8\u300d\u306e\u3088\u3046\u306b\u8a71\u3057\u3066\u8a18\u9332\u3057\u305f\u308a\u3001\u4ed6\u30a2\u30d7\u30ea\u306e\u8a18\u9332\u3092\u8cbc\u308a\u4ed8\u3051\u3066\u53d6\u308a\u8fbc\u3080\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\n\n\u53d6\u308a\u8fbc\u307f\u306f\u30ef\u30f3\u30b9\u30c6\u30c3\u30d7\u3067\u53d6\u308a\u6d88\u305b\u3001\u524a\u9664\u306f\u3044\u3064\u3067\u3082\u5143\u306b\u623b\u305b\u307e\u3059\uff08\u30a2\u30b7\u30b9\u30bf\u30f3\u30c8\u304c\u5b8c\u5168\u306b\u524a\u9664\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\uff09\u3002BTB \u30a2\u30ab\u30a6\u30f3\u30c8\u304c\u5fc5\u8981\u3067\u3059\u3002\u5f53\u793e\u306e\u30da\u30fc\u30b8\u3067\u30ed\u30b0\u30a4\u30f3\u3057\u3066\u30a2\u30af\u30bb\u30b9\u3092\u8a31\u53ef\u3057\u3001\u30a2\u30d7\u30ea\u304b\u3089\u3044\u3064\u3067\u3082\u9023\u643a\u3092\u89e3\u9664\u3067\u304d\u307e\u3059\u3002"
          }
        }
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 5297dac103c124f3bcf01d701894aecf8e7c58e393c1b4e996a4c127e37e7f16