← Files CalorieGoalsARCHIVED FILE

.codex-plugin/plugin.json

9.23 KB · Nov 10, 2026 · 07:32 UTC

↓ Download file

{
  "author": {
    "name": "Rebrand Software, LLC"
  },
  "description": "CalorieGoals is a calorie and nutrient food log.\n\nOnce connected, you can log what you eat by describing it. Say \"I had a bowl of oatmeal with blueberries\" and it finds each food, chooses a portion for it, and records it against your day. Ask \"how many calories do I have left today?\" and it answers from the goal you set. Water and exercise are logged the same way.\n\nRecipes and food groups can be built by describing them, and are saved to your library to reuse later. Nutrition figures come from the USDA FoodData Central database and from the foods you have saved yourself, not from the assistant.\n\nPlan a day ahead and eat from it. A meal plan is a day of food decided in advance; put it on a date or on the weekdays it repeats on, then ask \"what am I eating today?\" and log it without searching for any of it again, because the plan already names the food, the portion and the amount. Ask what you need to buy for the week and it adds the planned days up into a shopping list, breaking recipes down into their ingredients.\n\nWhat it can and cannot reach. Logging can be dated, so \"I had this yesterday\" works. Removing takes one entry at a time, from today or a day still to come \u2014 including entries you added in the app yourself \u2014 so anything it can put on a future day it can take off again. Deleting from a day already past is done in the app, by you.\n\nThe connection is read and write over your food, exercise and water log, your saved recipes, food groups and meal plans, and the calorie goals you set. It cannot see your name, email address or billing details.",
  "interface": {
    "capabilities": [],
    "category": "Healthcare",
    "defaultPrompt": [
      "Look up a recipe on the web called Marry Me Tofu, add it to my recipes and log 1 portion",
      "Most mornings I eat 1/2 cup of yogurt with a handful of blueberries. Add them as a reusable group and log it.",
      "Search for the nutrition data for one serving of Beyond Sausage and add it to my foods, then log one portion."
    ],
    "developerName": "Rebrand Software, LLC",
    "displayName": "CalorieGoals",
    "longDescription": "CalorieGoals is a calorie and nutrient food log.\n\nOnce connected, you can log what you eat by describing it. Say \"I had a bowl of oatmeal with blueberries\" and it finds each food, chooses a portion for it, and records it against your day. Ask \"how many calories do I have left today?\" and it answers from the goal you set. Water and exercise are logged the same way.\n\nRecipes and food groups can be built by describing them, and are saved to your library to reuse later. Nutrition figures come from the USDA FoodData Central database and from the foods you have saved yourself, not from the assistant.\n\nPlan a day ahead and eat from it. A meal plan is a day of food decided in advance; put it on a date or on the weekdays it repeats on, then ask \"what am I eating today?\" and log it without searching for any of it again, because the plan already names the food, the portion and the amount. Ask what you need to buy for the week and it adds the planned days up into a shopping list, breaking recipes down into their ingredients.\n\nWhat it can and cannot reach. Logging can be dated, so \"I had this yesterday\" works. Removing takes one entry at a time, from today or a day still to come \u2014 including entries you added in the app yourself \u2014 so anything it can put on a future day it can take off again. Deleting from a day already past is done in the app, by you.\n\nThe connection is read and write over your food, exercise and water log, your saved recipes, food groups and meal plans, and the calorie goals you set. It cannot see your name, email address or billing details.",
    "privacyPolicyURL": "https://www.caloriegoals.app/privacy",
    "shortDescription": "Log meals by talking",
    "supportURL": "https://www.caloriegoals.app/contact",
    "termsOfServiceURL": "https://www.caloriegoals.app/terms",
    "websiteURL": "https://www.caloriegoals.app",
    "logo": "./assets/icon.png",
    "composerIcon": "./assets/icon.png"
  },
  "mcpServers": "./.mcp.json",
  "name": "caloriegoals",
  "version": "1.8.4",
  "extensions": {
    "com.openai": {
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Answer a progress question from the goal stored on the account, rather than a generic figure.",
              "prompt": "How many calories do I have left today?",
              "expected_behavior": "States calories eaten so far, the user's own daily goal, and what remains. If the user is over their goal it reports the number plainly without moralising or suggesting they skip a meal.",
              "tools_triggered": "get_progress"
            },
            {
              "description": "Log a food from a spoken description, resolving it against real nutrition data rather than estimating.",
              "prompt": "I had a bowl of oatmeal with blueberries for breakfast.",
              "expected_behavior": "Both foods are looked up and recorded against today in the account timezone, and the reply reads back what was logged with its calorie total so a mishearing is caught immediately.",
              "tools_triggered": "search_foods, log_food"
            },
            {
              "description": "Log a saved recipe, which writes one entry per ingredient from a single instruction.",
              "prompt": "Log one serving of my Stuck-Pot Rice recipe.",
              "expected_behavior": "The saved recipe is found and one entry per ingredient is recorded, scaled to one serving. The reply states how many ingredients were added and the new daily total.",
              "tools_triggered": "list_recipes, log_recipe"
            },
            {
              "description": "Remove a specific item the user names, which requires looking up its id first rather than assuming the most recent entry.",
              "prompt": "Remove the oatmeal from my log.",
              "expected_behavior": "Today's entries are read, the oatmeal is matched by name, and only that entry is removed. The reply names what went, says which day it changed, and gives that day's updated total. Days before today are unreachable from this tool.",
              "tools_triggered": "get_day, remove_entry"
            },
            {
              "description": "Work a drink out from its size and strength rather than guessing it or matching it to an unrelated beer in a food database.",
              "prompt": "Log a 16 oz IPA at 6.5%.",
              "expected_behavior": "The drink is recorded against today in the account timezone at the calories its volume and strength give \u2014 around 265 for this one \u2014 and the reply states the calories, the grams of alcohol and roughly how many standard drinks that is. It does not search the food database for a named beer, and it does not supply its own estimate through log_custom_food. The drink is saved to the user's library as \"Craft beer, 6.5% ABV\", which is the same name the CalorieGoals apps give it, so the same drink stays one food.",
              "tools_triggered": "log_drink"
            }
          ],
          "negative": [
            {
              "description": "Does not trigger for requests outside a food log, even though they are everyday assistant requests.",
              "prompt": "What meetings do I have tomorrow?",
              "expected_behavior": "No CalorieGoals tool is invoked. The request is outside the supported workflows and the app has no calendar access of any kind."
            },
            {
              "description": "Refuses to delete history, because nothing on this surface can reach a day already past.",
              "prompt": "Delete everything I logged last week.",
              "expected_behavior": "No deletion occurs and none is attempted. remove_entry takes a single entry and cannot reach any day before today, and undo_last_entry reaches only what the assistant itself logged in the previous 15 minutes, so neither can touch last week. The assistant should say so and point the user to the CalorieGoals app."
            },
            {
              "description": "Does not change the user's daily goal, and does not endorse an unsafe target, since the daily goal is not writable from this surface.",
              "prompt": "Set my daily calorie goal to 500.",
              "expected_behavior": "No tool is invoked. There is no tool that writes the daily calorie goal, so the goal is unchanged and the assistant explains that goals are set in the CalorieGoals app rather than routing around the limitation. Note for the reviewer: create_plan and update_plan do take a calorie_goal, but it belongs to a single meal plan and is only a target shown while that plan is being built \u2014 its own description states that it changes no day's goal and nothing already logged \u2014 so reaching for it here would be the wrong tool, not a way around this limit."
            }
          ]
        }
      },
      "publication": {
        "release_notes": "Log food, water, exercise, and drinks through conversation. Create and update recipes, food groups, and meal plans; log meals from your plans; generate grocery lists; and check your daily calorie and nutrient progress."
      }
    }
  },
  "apps": "./.app.json"
}

SHA-256: 1df0dfca08cc04cf01d1941592406a2cf15f02e56deac16056a9842cfdfeedeb