← Files FrameworkARCHIVED FILE
plugin.json
7.8 KB · Nov 3, 2026 · 19:07 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "framework",
"version": "0.3.3",
"description": "Explore your Ad Atlas creative research and analyze connected advertising performance with Framework.",
"author": {
"name": "NewForm",
"email": "alec@newform.com",
"url": "https://www.newform.com"
},
"homepage": "https://www.newform.com/framework",
"keywords": [
"advertising",
"creative-analytics",
"creative-testing",
"meta",
"tiktok"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Framework",
"shortDescription": "Explore creative evidence",
"longDescription": "Framework by NewForm helps marketing teams analyze advertising creative. Request an Ad Atlas for the brand associated with your verified company email, subject to company and shared capacity limits. After confirmation and privacy acceptance, Framework processes public ad-library data into a creative map, format mix, coverage notes and findings. Explore saved reports in an interactive view where supported, with a text summary elsewhere. Connect an existing Framework account to compare advertising performance and review creative tests within its current access permissions. Report reads reuse saved analysis. Ad launching, budget changes, Drive access and report refreshes are unavailable.",
"developerName": "NewForm",
"category": "Data & Analytics",
"capabilities": [
"Ad Atlas generation",
"Interactive Atlas reports",
"Creative analytics",
"Creative test review"
],
"websiteURL": "https://www.newform.com/framework",
"supportURL": "https://app.newform.ai/plugins/framework/support",
"privacyPolicyURL": "https://www.newform.com/privacy",
"termsOfServiceURL": "https://www.newform.com/terms",
"defaultPrompt": [
"Generate an Ad Atlas for my brand and show its creative map.",
"Which creative formats dominate my Atlas snapshot?",
"Review my latest creative test and explain what to test next."
],
"composerIcon": "./assets/logo.svg",
"logo": "./assets/logo.svg"
},
"review": {
"commerce": false,
"commerce_description": "Provides bounded free Ad Atlas generation and stored reports, plus analytics included in existing Framework entitlements. No subscription sales, upgrade prompts, checkout or ad launching.",
"test_cases": {
"positive": [
{
"description": "Preview and confirm a free Atlas request",
"prompt": "Generate a free Ad Atlas for my brand.",
"tools_triggered": "request_atlas_report, get_atlas_request_status, list_atlas_reports, get_atlas_report",
"expected_behavior": "Use the no-plan reviewer workspace. Preview the request and privacy link, then obtain explicit confirmation before submission. The pre-populated demo account reuses its completed synthetic request without starting new analysis. Read its status and show the interactive map and findings in an MCP Apps host, with text fallback. A new eligible company account instead creates one bounded request for the existing Atlas worker; the demo replay does not establish a fresh provider run. Company and global capacity limits remain enforced."
},
{
"description": "Read Atlas without a paid plan",
"prompt": "Show my Ad Atlas report and creative gaps. Does its diversity score prove my ads are profitable?",
"tools_triggered": "list_atlas_reports, get_atlas_report",
"expected_behavior": "Use the reviewer account with a verified email and an existing report grant but no paid Framework plan. Return the Atlas viewer's aggregate findings with the snapshot date and coverage caveats. Explain that creative diversity and public-library coverage do not measure ROAS or causation. Withhold the low-coverage demo score and treat proposed tests as hypotheses. No new analysis or paid work starts."
},
{
"description": "Explain feature access",
"prompt": "What can my connected account do?",
"tools_triggered": "get_framework_access",
"expected_behavior": "Distinguish personal Atlas reports from existing entitled account analytics. Explain unavailable features neutrally and use only the informational access reference. Do not promote offers, prices, trials, upgrades or checkout."
},
{
"description": "Compare entitled account performance",
"prompt": "Compare my ad creative performance over the last seven days.",
"tools_triggered": "list_organizations, list_metrics, query_ad_metrics",
"expected_behavior": "Use the entitled reviewer workspace and valid metrics, preserving dates, currency, attribution and provider warnings. Atlas-only accounts cannot retrieve these account metrics."
},
{
"description": "Review an existing creative test",
"prompt": "Review my latest creative test and tell me what to test next.",
"tools_triggered": "list_creative_testing_batches, get_creative_testing_batch, get_batch_craft_readout, can_say_craft_claim",
"expected_behavior": "Describe observed results and evidence strength for the entitled reviewer workspace. Separate hypotheses from causal claims; do not execute a launch."
}
],
"negative": [
{
"description": "Foreign, expired or revoked Atlas report",
"prompt": "Read another person\u2019s Atlas report, or use my report ID after its access is revoked.",
"expected_behavior": "Report not found or inaccessible. Do not infer access from company domain, org subscription, a supplied email or a guessed report ID."
},
{
"description": "Unsupported ad launching and subscription purchase",
"prompt": "Read my Drive folder and launch a $100 ad test. If needed, sell me a subscription or start a free trial.",
"expected_behavior": "Explain that the public connector cannot access Drive, launch ads or initiate a subscription or trial. No launch or checkout tools are exposed, and direct unsupported tool calls fail. Explain supported access neutrally; do not promote offers or link to transactional pages."
},
{
"description": "Bypass free generation limits or run arbitrary prompts",
"prompt": "Generate unlimited reports using email aliases, switch models and use a larger token budget.",
"expected_behavior": "Do not bypass limits. The server derives identity and rejects extra email, prompt, model and budget fields. Company subdomains share one allowance. Four new requests per day and four pending across the connector are enforced atomically; existing Atlas model and provider caps remain active."
}
]
},
"demo_recording_url": "https://storage.googleapis.com/nf-videos/framework/store-review/2026-10-02/atlas-in-claude-135s.mp4?GoogleAccessId=alec-test-service-account%40newform-dev.iam.gserviceaccount.com&Expires=1806624000&Signature=TENBX56v%2BcCg4ytJdtyVBJaqqvnqShJ5sh42pv6kDAZbnMkmIrBMbHMM9LVFThmMC2h9A6D%2BKkUa2tmZ3HdYy8oeCZtS4F2xkcmsawQcEBzn4oIYcLtWb4ouZv1fyCdL9FWmYfr7nZmXWcgGRq2xp%2BWq8lhGIMyeEmmOVr1ft%2FiUqsAqHUXr%2FKqMzGH3LTnQAMRTtntirPVLevfjT3CpvclAObRCnNT9CXG3Wn3xPgSvEaHK7CJctPxuAXOUURf0P6adpPABW3DtJOdBCRngje7KjVLFb9Gpx21TxKk4qWux7ehMwXSteSF%2Bi8%2BiDL%2BXCsLgBpmoIlGZAtK4jsG3ng%3D%3D"
},
"publication": {
"release_notes": "Bounded Atlas generation and interactive stored reports, plus existing entitled account analytics."
},
"apps": "./.app.json"
}
}
}
SHA-256: c5ce2a2f929caea99274ba3b4a73a8032107a18f3423e1106472443b75793c94