← Files StoreAdOpsARCHIVED FILE

.codex-plugin/plugin.json

7.41 KB · Nov 3, 2026 · 18:59 UTC

↓ Download file

{
  "author": {
    "name": "StoreAdOps"
  },
  "description": "Connect StoreAdOps to review advertising performance, diagnose wasted spend, prepare daily briefs from available data with missing revenue, margin, or profit clearly identified, and prepare paused campaign drafts for explicit review before any provider write.",
  "interface": {
    "brandColor": "#2563EB",
    "brandColorDark": "#2563EB",
    "capabilities": [],
    "category": "Business & Operations",
    "defaultPrompt": [
      "Check which advertising accounts are connected and help me get started.",
      "Give me yesterday's profit brief using available data; flag missing revenue, margin, ad spend, and ROAS.",
      "Review my advertising performance and prioritize wasted-spend opportunities."
    ],
    "developerName": "StoreAdOps",
    "displayName": "StoreAdOps",
    "longDescription": "Connect StoreAdOps to review advertising performance, diagnose wasted spend, prepare daily briefs from available data with missing revenue, margin, or profit clearly identified, and prepare paused campaign drafts for explicit review before any provider write.",
    "privacyPolicyURL": "https://app.storeadops.ai/privacy",
    "shortDescription": "Analyze ads and prepare drafts",
    "supportURL": "https://app.storeadops.ai/support",
    "termsOfServiceURL": "https://app.storeadops.ai/terms",
    "websiteURL": "https://app.storeadops.ai",
    "composerIcon": "./assets/icon.png",
    "logo": "./assets/logo.png",
    "composerIconDark": "./assets/icon.png",
    "logoDark": "./assets/logo.png"
  },
  "name": "storeadops-ads",
  "skills": "./skills",
  "version": "1.0.1",
  "extensions": {
    "com.openai": {
      "onboardingSkill": "./skills/storeadops-get-started/SKILL.md",
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Verify connected providers, selected accounts and account-specific readiness without making changes.",
              "prompt": "Check which advertising accounts are connected and help me get started.",
              "tools_triggered": "get_connections_status; get_capabilities",
              "expected_behavior": "Name connected providers and selected accounts, distinguish saved state from live authorization, and show account-specific capabilities and missing prerequisites. Suggest a safe next step. Do not expose secrets, switch accounts or change anything; unavailable connections are not successful tests."
            },
            {
              "description": "Produce yesterday's advertising and commerce brief from available data, with explicit coverage limits.",
              "prompt": "Give me yesterday's profit brief using available data; flag missing revenue, margin, ad spend, and ROAS.",
              "tools_triggered": "get_connections_status; get_capabilities; query; get_merchant_profile when needed",
              "expected_behavior": "State day, timezone, currency and coverage. Use bounded ads and connected Shopify reads; report observed revenue, spend and supported ROAS. Label missing costs, margin or profit unavailable; never invent them. Explain report-job prerequisites and ask before creating a job. Make no provider changes."
            },
            {
              "description": "Review connected advertising performance and prioritize evidence-backed wasted-spend findings.",
              "prompt": "Review my advertising performance and prioritize wasted-spend opportunities.",
              "tools_triggered": "get_connections_status; get_capabilities; query",
              "expected_behavior": "Use bounded supported reads for connected Google, Meta, Microsoft and TikTok accounts. State dates, currencies and gaps; distinguish facts from inference and acknowledge zero data. Rank at most five findings. Ask before any report job. Do not change budgets, bids, delivery, targeting or creative."
            },
            {
              "description": "Prepare an unexecuted paused Google Search campaign plan; do not create a provider campaign or start spending.",
              "prompt": "Prepare a paused Google Search campaign draft for StoreAdOps with a $10 daily budget. Show the exact preview and do not publish or enable anything.",
              "tools_triggered": "get_connections_status; get_capabilities; query for supported discovery when needed; prepare_change",
              "expected_behavior": "Read campaign.create's contract; clarify missing fields, then prepare a PAUSED plan with account, budget, currency, targeting and effects. Preparing saves a plan, not a provider campaign. Stop at preview: no execute_change, confirmed=true, delivery or billing changes. Report failures honestly."
            },
            {
              "description": "Diagnose non-delivery from bounded account and campaign evidence without changing delivery.",
              "prompt": "Diagnose why my selected advertising account is not delivering and give me a read-only recovery plan.",
              "tools_triggered": "get_connections_status; get_capabilities; query",
              "expected_behavior": "Use supported account, campaign and delivery reads. Distinguish paused or absent campaigns, zero activity, restrictions and missing evidence. Rank causes by confidence and provide safe verification steps. Do not promise delivery, switch accounts, create unapproved report jobs or execute changes."
            }
          ],
          "negative": [
            {
              "description": "Translation is outside StoreAdOps scope. Use no StoreAdOps skill or tool. Ask for the missing paragraph, or translate supplied text normally without advertising data.",
              "prompt": "Translate this paragraph from English to French."
            },
            {
              "description": "Local file deletion is outside StoreAdOps scope. Use no StoreAdOps skill or tool; do not claim deletion or substitute an ads write. Explain that StoreAdOps cannot delete local files.",
              "prompt": "Delete old temporary files from my laptop."
            },
            {
              "description": "Weather is outside StoreAdOps scope. Use no StoreAdOps skill or tool. Ask for a location and use an independent weather source if available; otherwise explain the limitation without inventing data.",
              "prompt": "What will the weather be tomorrow?"
            }
          ]
        },
        "demo_recording_url": "https://storage.googleapis.com/storeadops-review-assets-advantage-mcp-501321/reviewer-demo/2026-09/storeadops-openai-1.0.1-e59a34e21c25.mp4",
        "commerce": false,
        "commerce_description": "StoreAdOps reviews connected advertising and commerce data and prepares advertising changes. This plugin does not sell goods, sell subscriptions, process payments or direct users to purchase digital goods."
      },
      "publication": {
        "release_notes": "New replacement StoreAdOps plugin draft combining four skills and the direct ads-v3 MCP declaration in one package. Skills cover connection onboarding, daily briefs, performance review and paused campaign planning, using the ten-tool ads-v3 contract. Five positive and three negative review cases and the existing demo URL are included. This is a new plugin registration; the previous unpublished registration is not modified. Fresh OAuth, domain verification, MCP scanning and host E2E validation remain separate checks. No credentials or reviewer sign-in details are included."
      }
    }
  },
  "mcpServers": "./.mcp.json",
  "apps": "./.app.json"
}

SHA-256: adb29295d437aebfebec90d563a18bc9f067986117696a88fab8bb7980e07304