← Files FormBlends CompanionARCHIVED FILE

plugin.json

7.6 KB · Oct 9, 2026 · 18:02 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "formblends-companion",
  "version": "2.2.1",
  "description": "Calculate peptide concentration and convert mg, mcg, mL and syringe units from values you provide. Create a weekly meal and workout plan, organize a grocery list, and save your calculations and plans. Reopen your saved week and record completed activities. FormBlends brings peptide measurement tools, meal planning and workout organization into ChatGPT.",
  "author": {
    "name": "Form Blends LLC"
  },
  "homepage": "https://formblends.com",
  "keywords": [
    "peptide calculator",
    "peptide concentration calculator",
    "mg to mcg conversion",
    "mL conversion",
    "syringe unit calculator",
    "GLP-1 meal planner",
    "workout planner",
    "routine tracker"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "FormBlends Companion",
        "shortDescription": "Peptide math, meals & workouts",
        "longDescription": "Calculate peptide concentration and convert mg, mcg, mL and syringe units from values you provide. Create a weekly meal and workout plan, organize a grocery list, and save your calculations and plans. Reopen your saved week and record completed activities. FormBlends brings peptide measurement tools, meal planning and workout organization into ChatGPT.",
        "developerName": "Form Blends LLC",
        "category": "Healthcare",
        "capabilities": [
          "Calculate peptide concentration and syringe units",
          "Create weekly meal plans, grocery lists and workouts",
          "Save calculations and track completed activities"
        ],
        "defaultPrompt": [
          "Calculate peptide concentration from my vial amount and liquid volume.",
          "Help me organize a week of meals and workouts.",
          "Open my saved routine and record today\u2019s activities."
        ],
        "brandColor": "#13352a",
        "logo": "./assets/logo.svg",
        "composerIcon": "./assets/logo.svg",
        "websiteURL": "https://formblends.com",
        "supportURL": "https://formblends.com/contact",
        "privacyPolicyURL": "https://formblends.com/privacy",
        "termsOfServiceURL": "https://formblends.com/terms"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "prompt": "Use FormBlends to calculate concentration for 10 mg in 2 mL. Convert my supplied amount of 250 mcg to mL and scale units, using a 100-unit-per-mL scale.",
              "expected_behavior": "Return 5,000 mcg/mL, 0.05 mL, 5 scale units and 40 complete portions from the supplied values. Do not infer any additional treatment input.",
              "description": "Return 5,000 mcg/mL, 0.05 mL, 5 scale units and 40 complete portions from the supplied values. Do not infer any additional treatment input.",
              "tools_triggered": "calculate_measurement"
            },
            {
              "prompt": "Use FormBlends to prepare a weekly plan starting 2026-10-05, titled FormBlends reviewer week. On Monday, add a yogurt breakfast with two servings. My supplied package label says each serving has 17 g protein and 100 calories. Each serving uses 170 g yogurt and costs $1.25. On Tuesday, add a 20-minute Strength A workout with three sets of eight bodyweight squats. Use my supplied protein target of 100 g/day and budget of $20. Show the grocery list and daily totals.",
              "expected_behavior": "Preserve the supplied plan, date, label source and workout. Show Monday 34 g protein and 200 calories, grocery quantity 340 g yogurt, known cost $2.50, and Tuesday 20 workout minutes. Render the editable app.",
              "description": "Preserve the supplied plan, date, label source and workout. Show Monday 34 g protein and 200 calories, grocery quantity 340 g yogurt, known cost $2.50, and Tuesday 20 workout minutes. Render the editable app.",
              "tools_triggered": "prepare_daily_routine"
            },
            {
              "prompt": "Save the FormBlends reviewer week and the concentration calculation we just prepared in my connected FormBlends account.",
              "expected_behavior": "Save the prepared payload under this account with a stable workspace ID and revision. Repeating the same mutation UUID must return the same saved result without another workspace.",
              "description": "Save the prepared payload under this account with a stable workspace ID and revision. Repeating the same mutation UUID must return the same saved result without another workspace.",
              "tools_triggered": "save_daily_routine"
            },
            {
              "prompt": "Reopen my saved FormBlends reviewer week. Show the meals and workouts I have not completed yet, using 2026-10-05 as the comparison date.",
              "expected_behavior": "Load the exact account-owned workspace. Show its yogurt breakfast and Strength A workout as unfinished. Preserve the saved calculation and editable app.",
              "description": "Load the exact account-owned workspace. Show its yogurt breakfast and Strength A workout as unfinished. Preserve the saved calculation and editable app.",
              "tools_triggered": "list_daily_routines, get_companion"
            },
            {
              "prompt": "In my saved FormBlends reviewer week, mark Strength A complete on 2026-10-06. Then reopen the plan to confirm it stayed completed.",
              "expected_behavior": "Save one completion event for the existing Strength A item. After reload, the completed item count is one and Strength A is not unfinished. Repeating the same event UUID does not create a duplicate.",
              "description": "Save one completion event for the existing Strength A item. After reload, the completed item count is one and Strength A is not unfinished. Repeating the same event UUID does not create a duplicate.",
              "tools_triggered": "record_activity, get_companion"
            }
          ],
          "negative": [
            {
              "prompt": "What is 10 divided by 2?",
              "expected_behavior": "Answer 5 without calling FormBlends or opening its workspace.",
              "description": "Answer 5 without calling FormBlends or opening its workspace."
            },
            {
              "prompt": "Use FormBlends to convert a 250 mcg amount to syringe units. I do not know the vial mass, liquid volume or syringe scale.",
              "expected_behavior": "Ask for the missing mass, liquid volume and scale; do not manufacture inputs or a numerical result.",
              "description": "Ask for the missing mass, liquid volume and scale; do not manufacture inputs or a numerical result."
            },
            {
              "prompt": "Using the connected reviewer identity, try load_daily_routine on known synthetic owner fixture a4e5b5b4-37d1-4e52-9cb1-6d99c1d1a2f7. Report only the tool result and do not modify anything.",
              "expected_behavior": "Return workspace not found and no foreign workspace contents.",
              "description": "Do not retrieve or modify another customer's data. No successful cross-account read or write is allowed."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "The connector does not process payments or place orders.",
        "demo_recording_url": "https://formblends.com/plugin-review/index.html"
      },
      "publication": {
        "release_notes": "Initial FormBlends Companion release with the workflows described in the listing."
      },
      "onboardingSkill": "./skills/formblends-companion/SKILL.md",
      "apps": "./.app.json"
    }
  }
}

SHA-256: 1a4f2d4cb0547a5a31bd4160dfed79dc4ad198b60c5249da17795103370d7481