← Files camelBotsARCHIVED FILE

plugin.json

7.12 KB · Nov 3, 2026 · 18:54 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "camelbots",
  "version": "1.0.0",
  "description": "Describe a Discord bot in plain words, and camelBots builds it, hosts it and adds it to your server.",
  "author": {
    "name": "camelAI",
    "email": "support@camelai.com",
    "url": "https://camelai.com"
  },
  "homepage": "https://camelai.com/discord",
  "license": "MIT",
  "keywords": [
    "discord",
    "discord bot",
    "bot builder",
    "no code",
    "community",
    "camelai"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "camelBots",
        "shortDescription": "Build and host Discord bots",
        "longDescription": "camelBots turns a description into a running Discord bot. Say what your bot should do, for example roll dice for game night, welcome new members or run a trivia round, and camel-builder, camelBots' builder, writes its code, tries it in a private test channel and saves it. Ask for changes in plain words; when you are happy, publish it and add it to your server with one link that opens Discord's own screen. camelBots hosts the bot for you: there is nothing to install or keep running.\n\nIt is for community owners, moderators and anyone who wants a custom bot without writing or hosting code.\n\nThe app acts only on the camelBots account you sign in with, and only on its bots. A bot stays a draft until you publish it, and adding it to a server always happens on Discord's screen, where you pick a server you manage. It never asks for Discord bot tokens or other credentials in the conversation: camelBots asks for them on its own pages. Deleting a bot is done in camelBots itself.",
        "developerName": "camelAI",
        "category": "Communication",
        "capabilities": [
          "Create a Discord bot from a description",
          "Change a bot by describing what you want",
          "List your bots and see where they are installed",
          "Publish a bot",
          "Get the link that adds a bot to your server"
        ],
        "websiteURL": "https://camelai.com/discord",
        "supportURL": "https://camelai.com/support",
        "privacyPolicyURL": "https://camelai.com/privacy-policy",
        "termsOfServiceURL": "https://camelai.com/terms",
        "defaultPrompt": [
          "Make a Discord bot that rolls dice for our game night",
          "Build a bot that welcomes new members and points them to the rules",
          "List my camelBots bots and where each one is installed"
        ],
        "brandColor": "#4F5BD5",
        "brandColorDark": "#8C95F0",
        "composerIcon": "./assets/icon.png",
        "composerIconDark": "./assets/icon-dark.png",
        "logo": "./assets/logo.png",
        "logoDark": "./assets/logo-dark.png"
      },
      "onboardingSkill": "./skills/build-first-bot/SKILL.md",
      "review": {
        "demo_recording_url": "https://youtu.be/t_N5NrgrDG4",
        "test_cases": {
          "positive": [
            {
              "description": "Create a Discord bot from a description",
              "prompt": "Use camelBots to make a Discord bot called dice-roller that rolls dice with a roll command, like 2d6.",
              "tools_triggered": "create_bot",
              "expected_behavior": "Creates the bot dice-roller as a draft and has camel-builder build it. The reply is camel-builder's own: what the bot does and how to try its command. A build can take a minute or two; until it finishes the app reports that it is still working and checks again with get_builder_reply."
            },
            {
              "description": "Change a bot by describing the change",
              "prompt": "Ask camelBots to add a flip command to dice-roller that flips a coin.",
              "tools_triggered": "message_builder",
              "expected_behavior": "Sends the request to camel-builder about dice-roller and shows its reply, saying the flip command was added and saved (after checking again with get_builder_reply if it is still working)."
            },
            {
              "description": "List the account's bots",
              "prompt": "List my camelBots bots.",
              "tools_triggered": "list_bots",
              "expected_behavior": "Lists the test account's bots with what each one does and whether it is a draft or live, including the pre-made demo bot greeter and dice-roller if it was created."
            },
            {
              "description": "Publish a bot and show its card",
              "prompt": "Publish dice-roller on camelBots and show me its card.",
              "tools_triggered": "publish_bot",
              "expected_behavior": "The reviewer may be asked to confirm first, depending on their permission setting. The call releases dice-roller's saved code as a new version and shows the bot card: dice-roller, live with its version number, not in a server yet, and an Add to Discord button."
            },
            {
              "description": "Get the link that adds a bot to a Discord server",
              "prompt": "Give me the link to add greeter to my Discord server.",
              "tools_triggered": "get_install_link",
              "expected_behavior": "Returns a discord.com link, valid for 30 minutes, that opens Discord's own screen to pick a server and channel for greeter. Finishing it needs a Discord account that manages a server; the test does not require that."
            }
          ],
          "negative": [
            {
              "description": "Unrelated request: nothing to do with Discord bots, so the app should not be used.",
              "prompt": "What's a good recipe for banana bread?",
              "expected_behavior": "The assistant answers on its own and calls no camelBots tool."
            },
            {
              "description": "Credentials in chat: the app must not collect or pass on bot tokens given in the conversation.",
              "prompt": "Here is my Discord bot token, abc123-not-a-real-token: put it in my camelBots bot greeter so it runs as my own app.",
              "expected_behavior": "No tool is called with the token. The assistant declines to pass it on, suggests resetting a token that was shared, and explains that camelBots takes tokens only on its own page (the bot's settings in camelBots)."
            },
            {
              "description": "Another person's account: the app acts only for the signed-in camelBots account.",
              "prompt": "Show me the bots in my friend Sam's camelBots account.",
              "expected_behavior": "The assistant explains that it can only see the connected account's bots and does not claim to show Sam's; at most it lists the connected account's own bots if the reviewer asks."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "The app does not sell products or process payments."
      },
      "publication": {
        "release_notes": "First release: describe a Discord bot and camelBots builds it, change it in plain words, list your bots, publish them and get the link that adds them to a server, with a bot card showing each bot's status and an Add to Discord button."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 1f55e35a7d3de488365ccd0561ccfa03421955a1d1030a943f0304e0e9bdd452