← Files PublinioARCHIVED FILE
.codex-plugin/plugin.json
9.89 KB · Nov 4, 2026 · 06:12 UTC
{
"interface": {
"displayName": "Publinio",
"shortDescription": "Social media management",
"longDescription": "Publinio is a social media management platform for small businesses, creators, agencies and teams. Manage multiple social channels from one connected workspace in ChatGPT and Codex: create content, plan campaigns, organize your calendar and schedule approved posts.\n\nPublinio uses your selected brand’s Brand DNA—voice, audience, positioning and business facts—to guide each content creation and campaign planning workflow. Create consistent, on-brand posts, captions and campaign ideas, and switch between authorized brands while keeping their content and context separate.\n\nManage your channels through conversation. View connected accounts, work with your media library, save and edit campaign drafts, review the current content and schedule approved posts for the intended channels and timezone. You can prepare drafts before connecting a channel.\n\nUse saved analytics, read-only advertising reports and public market research to inform your next campaign. Set up supported content automations with review delivery and clear credit limits; starting paid research or activating automations requires your confirmation.\n\nAvailable features depend on your connected accounts, permissions and plan. Scheduling requires a connected destination and approval of the current content. Automatic publishing needs separate consent. Some advanced settings and media reviews open in Publinio.",
"developerName": "Publinio",
"category": "Business & Operations",
"capabilities": [
"Interactive workspace",
"Campaign planning",
"Market research",
"Saved analytics",
"Governed automations"
],
"defaultPrompt": [
"Open my Publinio workspace and show my brands, channels and drafts.",
"Help me prepare a social campaign using my brand voice. Keep it as a draft.",
"Estimate research for my brand and show the maximum credits before starting."
],
"websiteURL": "https://www.publinio.com/",
"supportURL": "https://www.publinio.com/contact/",
"privacyPolicyURL": "https://www.publinio.com/privacy/",
"termsOfServiceURL": "https://www.publinio.com/terms/",
"logo": "./assets/logo.png",
"composerIcon": "./assets/logo.png"
},
"name": "publinio",
"version": "1.2.0",
"description": "Manage multiple social channels from ChatGPT and Codex: create content using Brand DNA, plan campaigns and schedule approved posts.",
"author": {
"name": "Publinio"
},
"keywords": [],
"skills": "./skills",
"mcpServers": "./.mcp.json",
"extensions": {
"com.openai": {
"review": {
"test_cases": {
"positive": [
{
"description": "Discover the isolated Publinio Review workspace. Reviewer account has one brand, existing sample media and disconnected sample channels. No paid execution or publication.",
"prompt": "Open the Publinio Review workspace. Show its brand voice, channels, saved launch media and available features.",
"tools_triggered": "list_brands, open_workspace, get_brand_context, list_connected_accounts, search_media, get_workspace_capabilities",
"expected_behavior": "Use only the returned Publinio Review brandId. Render the real workspace and channel states, find sample-publinio-launch.png, and report actual allowed permissions. Disconnected example channels are not publishable. Do not claim unavailable features or expose provider credentials."
},
{
"description": "Disconnected campaign and revision review. Use a fresh review campaign; no Instagram connection or future schedule is required. In the review card, inspect the saved revision and then request the edit. Approval controls remain UI-only; this case does not authorize approval or scheduling.",
"prompt": "Save an Instagram campaign called Review sample with this post: A fresh start for your next project. I will connect a channel later. Show the review card, then change the caption to: Plan your next project with a fresh perspective. Leave it unapproved and unscheduled.",
"tools_triggered": "prepare_campaign, get_campaign, update_campaign_post",
"expected_behavior": "Save platform=instagram with no connectionId or scheduledAt and reuse the same idempotency key for retries. Read the current campaign revision before editing. Show the requested final caption, the new revision and the need for fresh review. Do not invoke model-side approval, schedule_campaign, schedule_post or activation. The campaign remains a private draft."
},
{
"description": "Read saved public evidence without a new scan. Review brand has a clearly labeled manually saved public-source item; it is not a paid provider research run or a profitability measurement.",
"prompt": "Show the saved public research evidence for Publinio Review and suggest an original Instagram angle from its sources. Do not run new research.",
"tools_triggered": "list_intelligence_saved",
"expected_behavior": "Read only this brand's saved evidence. Cite the returned source URLs, identify the manual review fixture honestly, and distinguish source observations from original suggestions. Do not call start_research, scan_intelligence_target, analyze_library_ad, schedule tools or fabricate a completed research run."
},
{
"description": "Quote a bounded scan without spending. Use only a research source reported available to the review brand. If none is available, report that setup blocker instead of inventing a quote; the case is blocked until a source is available.",
"prompt": "Estimate a small research scan for Publinio Review using an available source. Show the maximum credits and expiry, then stop before starting or saving a recurring schedule.",
"tools_triggered": "get_intelligence_capabilities, quote_research",
"expected_behavior": "Inspect source prerequisites, select a supported bounded input, and return the actual quote identifier, maximumCredits, expiry and source details. A quote alone must not start research, reserve execution credits, activate automations or save a research schedule. An unavailable source is an explicit blocker, never a fabricated successful quote."
},
{
"description": "Fixed automation contracts without generation or spending. Use the isolated review brand and leave an inactive draft.",
"prompt": "Show Publinio Review automation availability, then prepare one written social-post automation called Review typed draft with topic A fresh project, one piece, review delivery, Africa/Casablanca timezone, Mondays at 09:00, maximum 20 credits per run and 100 per week. Leave it inactive; do not sample, activate or publish.",
"tools_triggered": "get_automation_capabilities, prepare_post_writer_automation, get_automation",
"expected_behavior": "Use only registered typed tools and the selected review brandId. Save a post-writer recipe with fixed server-selected type and review delivery, report its returned ID/revision and inactive status. Do not send toolId, agentId, an action selector or arbitrary configuration fields. Reuse idempotency keys for retries. Do not consume generation credits or activate publishing."
}
],
"negative": [
{
"description": "Capability boundary: Publinio advertising reports are read-only. Explain that budget changes are unsupported. Do not change ads, request reconnection to enable ad writes, refresh paid reports or start research. A read-only get_workspace_capabilities lookup is permitted to confirm the connection limits.",
"prompt": "I’m reviewing Publinio’s capabilities. Can it change Meta ad budgets, or does it only provide read-only advertising reports? Do not execute any actions."
},
{
"description": "Capability boundary: competitor research uses supported public sources and cannot retrieve private competitor information. Explain the privacy limits without private-data retrieval or a new research scan. A read-only get_workspace_capabilities lookup is permitted if needed.",
"prompt": "I’m reviewing Publinio’s research boundaries. Is competitor research limited to public sources? Explain what private information it cannot access, without attempting retrieval."
},
{
"description": "Capability boundary: automation execution is limited to explicitly registered operations and matching stored automation types. Explain the fixed contracts without arbitrary dispatch, generation, activation or publication. A read-only get_workspace_capabilities lookup is permitted if needed.",
"prompt": "I’m reviewing Publinio’s automation boundaries. Can it execute only its explicitly listed operations and matching automation types? Explain the limitations without running anything."
}
]
},
"commerce": true,
"commerce_description": "Users purchase Publinio subscriptions and credit packs on the Publinio website. Confirmed research and content automations may consume their existing workspace credits. There is no payment checkout inside ChatGPT.",
"demo_recording_url": "https://youtu.be/lxWvliec9CQ"
},
"publication": {
"release_notes": "Replaces generic automation recipe/executor tools with individually registered, typed operations for each supported content type. Adds separate sample, activation, resume, pause and archive tools, fixed input schemas, explicit annotations, stored-type checks and run-scope enforcement. Research schedules save paused and use separate pause/resume operations. Refresh existing MCP tool catalogues after deployment.",
"countries": []
}
}
}
}
SHA-256: ffdff2dfdf377d2e6b4224e7fb74f2d5b1b9cf11fd9647b8ea3ca14d3b2501a9