← Files PertureARCHIVED FILE
plugin.json
9.39 KB · Nov 5, 2026 · 06:10 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "perture-review-readonly",
"version": "0.8.26",
"description": "Use approved Perture brand context to build, review and explicitly edit authorized Brand Pages in ChatGPT and Codex.",
"author": {
"name": "Marlan Yokomiso",
"email": "supportperture@gmail.com",
"url": "https://app.perture.co/"
},
"homepage": "https://app.perture.co/",
"repository": "https://github.com/perture/perture-codex-plugin",
"license": "UNLICENSED",
"keywords": [
"brand",
"design system",
"components",
"frontend",
"brand management"
],
"extensions": {
"com.openai": {
"review": {
"test_cases": {
"positive": [
{
"description": "List accessible brands for the dedicated review account.",
"prompt": "List the Perture brands available to my connected account.",
"tools_triggered": "list_brands",
"expected_behavior": "List Perture Review as an accessible brand and do not include brands from other accounts."
},
{
"description": "Select the review brand and establish its conversation lock.",
"prompt": "Set Perture Review as the active Perture brand for this conversation.",
"tools_triggered": "list_brands, set_active_brand",
"expected_behavior": "Confirm Perture Review is active; subsequent brand tools must use its brand lock."
},
{
"description": "Read the review brand's approved color and typography context.",
"prompt": "For Perture Review, show the approved colors and typography from its brand context.",
"tools_triggered": "list_brands, set_active_brand, get_brand_context",
"expected_behavior": "Use Perture Review only; include Landing Blue #00A6FF and the RethinkSans type styles without inventing rules."
},
{
"description": "Retrieve the official brand logo through its authorized asset link.",
"prompt": "For Perture Review, show me the official logo and its usage restrictions.",
"tools_triggered": "list_brands, set_active_brand, get_brand_assets",
"expected_behavior": "Return the Perture Review logo via an app.perture.co asset URL and state that the mark must not be recreated, recolored, stretched, or distorted."
},
{
"description": "Get output-specific brand reference without claiming to render an artifact.",
"prompt": "For Perture Review, get the official reference for a landing page hero on a light, wide layout. Do not generate the page yet.",
"tools_triggered": "list_brands, set_active_brand, get_brand_reference_for_output",
"expected_behavior": "Return a landing_page_hero brand reference for Perture Review, distinguish official references from host-side rendering, and do not claim a page was generated."
},
{
"description": "Inspect the current Pro editor capability matrix without modifying data.",
"prompt": "For Perture Review, show the available Brand Page editor capabilities and their limits. Do not change anything.",
"tools_triggered": "list_brands, set_active_brand, get_brand_editor_capabilities",
"expected_behavior": "Use the exact review brand. Return current individually named editor commands, file limits and preservation boundaries, or clearly explain if this account is not an eligible Pro owner. Do not execute a write."
},
{
"description": "Run output readiness before creating an external artifact.",
"prompt": "For Perture Review, check readiness for a landing page hero. Report missing required brand guidance and stop if blocked. Do not generate a page yet.",
"tools_triggered": "list_brands, set_active_brand, preflight_brand_output",
"expected_behavior": "Run readiness against the exact brand. Preserve any blocked result and list the actual missing fields; do not invent references or claim an artifact was generated."
},
{
"description": "Exercise a bounded reversible Pro draft edit with readback and restoration.",
"prompt": "In the dedicated Perture Review test brand only, read the draft and temporarily append [review test] to its description. Verify the saved description, restore the original description, and verify restoration. Do not publish a Brand Release.",
"tools_triggered": "list_brands, set_active_brand, get_brand_page_draft, update_brand_page_draft",
"expected_behavior": "Require the review brand owner Pro entitlement and brands:write authorization. Use the exact current snapshot hash for each save, reread after each mutation, restore the original description, and leave the published release unchanged. If write authorization or entitlement is absent, stop and explain the requirement without another account or brand fallback."
}
],
"negative": [
{
"description": "A general CSS explanation should not invoke brand-specific tools.",
"prompt": "Explain the difference between CSS flexbox and grid without consulting any brand system.",
"tools_triggered": "none",
"expected_behavior": "Answer the general CSS question directly without calling Perture or accessing any brand."
},
{
"description": "A generic design request with no connected brand should not invoke Perture.",
"prompt": "In plain text only, suggest three generic homepage ideas for a fictional bakery. Do not use images, web search, Perture, or any existing brand.",
"tools_triggered": "none",
"expected_behavior": "Give three original text-only ideas without calling Perture, referring to a connected brand, or using existing brands."
},
{
"description": "A simple translation is unrelated to Perture's brand tools.",
"prompt": "Translate 'Good morning' into Portuguese.",
"tools_triggered": "none",
"expected_behavior": "Translate the phrase directly as Bom dia without calling Perture."
},
{
"description": "Account secrets are outside the Brand Page editor workflow.",
"prompt": "Use Perture to change my account password and show it here.",
"tools_triggered": "none",
"expected_behavior": "Do not access or change passwords, credentials or account security. Direct the user to the normal account flow without requesting a secret in chat."
}
]
},
"commerce": false,
"demo_recording_url": "https://youtu.be/dJjebH8Nyyg"
},
"publication": {
"release_notes": "Update to the completed Perture skill with its supporting references and local validation scripts. Add explicit Pro Brand Page authoring and settings capabilities. The MCP catalog exposes individually named operations for snapshot items, sections, guidance, Interface System components/variants, uploads and legacy logo reconciliation, with corrected overwrite annotations. Read access remains scoped; editing requires Pro ownership, exact brand selection, OAuth write authorization, version checks and verified saves. Existing walkthrough covers brand-context reads; editor test cases are provided separately."
},
"interface": {
"displayName": "Perture",
"shortDescription": "Build and manage your brand.",
"longDescription": "Connect ChatGPT and Codex to your Perture Brand Pages: approved colors, typography, logos, visual references, interface components and output guidance. Build and review brand-aware work with the current Perture skill and its bundled validation resources. On supported coding hosts, local checks help verify source and rendered interfaces. Authorized owners can explicitly request scoped Brand Page edits, component and variant authoring, file uploads and agent/Figma sync settings. Requires an eligible Perture account; editing availability depends on account permissions. Generated source submitted for remote verification and selected files for upload are sent to Perture over HTTPS. Unrelated repository files stay local. Draft edits, Brand Release publication, saving Works and deployment are separate actions that require the user's corresponding request.",
"developerName": "Marlan Yokomiso",
"category": "Developer Tools",
"capabilities": [
"Read",
"Write"
],
"websiteURL": "https://perture.co",
"supportURL": "https://perture.co/support",
"privacyPolicyURL": "https://perture.co/privacy",
"termsOfServiceURL": "https://perture.co/terms",
"brandColor": "#00A6FF",
"composerIcon": "./assets/icon.png",
"logo": "./assets/icon.png",
"logoDark": "./assets/icon.png",
"defaultPrompt": [
"Use my selected Perture brand to plan an on-brand interface after checking its readiness.",
"Review my interface against the selected Perture Brand Page without changing files.",
"Help me edit a specific Brand Page rule; ask which brand and rule first."
]
},
"apps": "./.app.json"
}
}
}
SHA-256: 426d384ee42d00edb4a84ab684ec058977f87b091726da3421edffdc23a9fbb7