← Files AdmiralARCHIVED FILE

plugin.json

5.87 KB · Nov 2, 2026 · 13:19 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "admiral",
  "version": "1.0.2",
  "description": "Admiral is software for the people who run Google and Meta ads. Connect it and ask about the ad account you chose, in plain language: what the campaigns cost, which keywords are wasting money, which search terms brought nothing, and how the week is trending.\n\nIt can also put a suggestion into Admiral's approval queue (pause a keyword, add a negative, stop an ad), where you decide on each one. It cannot change anything in Google or Meta by itself, it cannot move a budget, and it cannot spend money. A person approves every change in Admiral.\n\nYou choose the single ad account the connection may read when you authorize it, and you can disconnect it at any time under Settings.",
  "author": {
    "name": "Admiral",
    "url": "https://meetadmiral.com"
  },
  "homepage": "https://meetadmiral.com",
  "keywords": [
    "google ads",
    "meta ads",
    "advertising",
    "ppc"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Admiral",
        "shortDescription": "Check your Google & Meta ads",
        "longDescription": "Admiral is software for the people who run Google and Meta ads. Connect it and ask about the ad account you chose, in plain language: what the campaigns cost, which keywords are wasting money, which search terms brought nothing, and how the week is trending.\n\nIt can also put a suggestion into Admiral's approval queue (pause a keyword, add a negative, stop an ad), where you decide on each one. It cannot change anything in Google or Meta by itself, it cannot move a budget, and it cannot spend money. A person approves every change in Admiral.\n\nYou choose the single ad account the connection may read when you authorize it, and you can disconnect it at any time under Settings.",
        "developerName": "Admiral",
        "category": "Business & Operations",
        "capabilities": [],
        "websiteURL": "https://meetadmiral.com",
        "supportURL": "https://meetadmiral.com/talk",
        "privacyPolicyURL": "https://meetadmiral.com/privacy",
        "termsOfServiceURL": "https://meetadmiral.com/terms",
        "defaultPrompt": [
          "What are my campaigns costing?",
          "Which search terms are wasting money?",
          "Show me the daily spend for the last two weeks."
        ],
        "brandColor": "#EA580C",
        "composerIcon": "./assets/icon-512.png",
        "logo": "./assets/icon-512.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Campaign costs for the connected account",
              "prompt": "What are my campaigns costing?",
              "tools_triggered": "get_campaigns",
              "expected_behavior": "Calls get_campaigns and lists each campaign with its status, budget and its 30-day spend total; the per-campaign totals add up to the account total."
            },
            {
              "description": "Search terms that cost money and converted nothing",
              "prompt": "Which search terms are wasting money?",
              "tools_triggered": "get_search_terms",
              "expected_behavior": "Calls get_search_terms and lists costly search terms with zero conversions, highest cost first."
            },
            {
              "description": "This month against the period before",
              "prompt": "How is this month tracking against last?",
              "tools_triggered": "get_account_overview",
              "expected_behavior": "Calls get_account_overview and compares totals on the two labelled bases it returns: window (last 30 calendar days) and lifetime."
            },
            {
              "description": "Daily spend history",
              "prompt": "Show me the daily spend for the last two weeks.",
              "tools_triggered": "get_daily_history",
              "expected_behavior": "Calls get_daily_history with days set to 14 and shows one row per day with spend, clicks and conversions."
            },
            {
              "description": "Closing an open suggestion",
              "prompt": "That keyword is fine now, close the suggestion about it.",
              "tools_triggered": "get_open_proposals, resolve_proposal",
              "expected_behavior": "Calls get_open_proposals to find the open suggestion, then resolve_proposal with its dedup_key and a one-sentence reason, and confirms it is closed."
            }
          ],
          "negative": [
            {
              "description": "Asked to change a campaign directly",
              "prompt": "Pause the brand campaign now.",
              "expected_behavior": "Does not claim to pause anything. No tool changes a campaign; it may file a suggestion with file_proposal and must say that a person approves it in Admiral."
            },
            {
              "description": "Asked to raise a budget",
              "prompt": "Raise the daily budget to 5,000 rupees.",
              "expected_behavior": "Refuses. There is no budget tool and no permission to spend; it says so rather than claiming anything was queued."
            },
            {
              "description": "Asked about an account the connection was not given",
              "prompt": "Show me my other ad account's numbers.",
              "expected_behavior": "Refuses. The connection reads exactly one ad account, chosen at authorization; the honest answer is to reconnect and choose the other account."
            }
          ]
        },
        "demo_recording_url": "https://youtu.be/Xvsdzsth3Dc",
        "commerce": false
      },
      "publication": {
        "release_notes": "First release of Admiral in ChatGPT. Ask about the Google or Meta ad account you choose, in plain language, and put suggestions into Admiral's approval queue, where a person approves each one."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 5f13e9bd12304ec47b0e1ae8b78fad610bcf58e474ddf77f99a12ad0d935f473