{"id":322857,"date":"2026-06-23T15:19:21","date_gmt":"2026-06-23T15:19:21","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/publish-with-ai\/"},"modified":"2026-06-23T15:44:15","modified_gmt":"2026-06-23T15:44:15","slug":"publishio","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/publishio\/","author":4286506,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.4.1","stable_tag":"0.4.1","tested":"7.0","requires":"6.9","requires_php":"8.2","requires_plugins":null,"header_name":"Publishio","header_author":"rtCamp","header_description":"Build WordPress pages and posts using your existing patterns directly from your favorite AI assistant.","assets_banners_color":"aeadad","last_updated":"2026-06-23 15:44:15","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/rtCamp\/publishio","header_author_uri":"https:\/\/rtcamp.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":33,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.4.0":{"tag":"0.4.0","author":"rtcamp","date":"2026-06-23 15:18:56"},"0.4.1":{"tag":"0.4.1","author":"rtcamp","date":"2026-06-23 15:44:15"}},"upgrade_notice":{"0.4.0":"<ul>\n<li>Release plugin on WordPress.org.<\/li>\n<\/ul>","0.2.0":"<p>Initial public release. No upgrade steps required.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3583439,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3583439,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3583439,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3583439,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3583439,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3583489,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"meta\":{\"title\":\"Publishio\",\"description\":\"Connect any AI to WordPress and build pages and posts from your site's own block patterns, without changing your design.\",\"author\":\"rtCamp\",\"categories\":[\"Publish\",\"AI\",\"Editorial Workflow\",\"Abilities\",\"MCP\"]},\"login\":true,\"landingPage\":\"\\\/wp-admin\\\/admin.php?page=publishio\",\"preferredVersions\":{\"php\":\"8.4\",\"wp\":\"latest\"},\"features\":{\"networking\":true},\"plugins\":[\"publishio\"],\"steps\":[{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"publishio\"},\"options\":{\"activate\":true}}]}"}},"all_blocks":[],"tagged_versions":["0.4.0","0.4.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3583439,"resolution":"1","location":"assets","locale":"","width":2444,"height":1510},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3583439,"resolution":"2","location":"assets","locale":"","width":2444,"height":1510},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3583439,"resolution":"3","location":"assets","locale":"","width":876,"height":1202},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3583439,"resolution":"4","location":"assets","locale":"","width":2444,"height":1510}},"screenshots":{"1":"The Publishio Guide page in the WordPress dashboard \u2014 lists available AI setup guides.","2":"The Claude AI setup guide showing how to add a custom MCP connector in Claude's Customize &gt; Connectors panel.","3":"The WordPress OAuth authorization screen, where Claude requests access to your site via the Publishio MCP server.","4":"The Connections page listing all AI apps that have authenticated with your site, with user, registration date, and last-active details."}},"plugin_section":[],"plugin_tags":[251511,2353,96456,242115,2970],"plugin_category":[],"plugin_contributors":[265808,268561,257867,266187,223945,268560,78533,221670],"plugin_business_model":[],"class_list":["post-322857","plugin","type-plugin","status-publish","hentry","plugin_tags-abilities","plugin_tags-ai","plugin_tags-editorial-workflow","plugin_tags-mcp","plugin_tags-publish","plugin_contributors-aviral89","plugin_contributors-dipankardas011","plugin_contributors-hiabhaykulkarni","plugin_contributors-iamdanih17","plugin_contributors-justlevine","plugin_contributors-muralig","plugin_contributors-rtcamp","plugin_contributors-utsavladani","plugin_committers-rtcamp"],"banners":{"banner":"https:\/\/ps.w.org\/publishio\/assets\/banner-772x250.png?rev=3583439","banner_2x":"https:\/\/ps.w.org\/publishio\/assets\/banner-1544x500.png?rev=3583439","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/publishio\/assets\/icon.svg?rev=3583439","icon":"https:\/\/ps.w.org\/publishio\/assets\/icon.svg?rev=3583439","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/publishio\/assets\/screenshot-1.png?rev=3583439","caption":"The Publishio Guide page in the WordPress dashboard \u2014 lists available AI setup guides."},{"src":"https:\/\/ps.w.org\/publishio\/assets\/screenshot-2.png?rev=3583439","caption":"The Claude AI setup guide showing how to add a custom MCP connector in Claude's Customize &gt; Connectors panel."},{"src":"https:\/\/ps.w.org\/publishio\/assets\/screenshot-3.png?rev=3583439","caption":"The WordPress OAuth authorization screen, where Claude requests access to your site via the Publishio MCP server."},{"src":"https:\/\/ps.w.org\/publishio\/assets\/screenshot-4.png?rev=3583439","caption":"The Connections page listing all AI apps that have authenticated with your site, with user, registration date, and last-active details."}],"raw_content":"<!--section=description-->\n<p><strong>Publishio<\/strong> connects any AI assistant \u2014 ChatGPT, Claude, or any tool that supports the Model Context Protocol (MCP) \u2014 directly to your WordPress site, so you can create and publish pages and posts just by chatting.<\/p>\n\n<p>Publishio is not an AI itself. It is the bridge between the AI you already use and your WordPress site. The key difference from generic AI content tools is that Publishio builds everything from <em>your site's own block patterns<\/em> \u2014 the patterns your designers already created. Your layout, spacing, colours, and brand stay exactly as intended, because the AI assembles pages from your approved building blocks rather than inventing new markup.<\/p>\n\n<p>That means editors and content teams can spin up landing pages, blog posts, and campaign pages in minutes, in plain language, without touching the designer's work and without breaking the design system.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Pattern Auto-Discovery:<\/strong> Automatically discovers all patterns registered on your site \u2014 from your theme, plugins, and core.<\/li>\n<li><strong>Structured Content Generation:<\/strong> AI builds pages using proper block structures, fully Block Editor-compatible content, avoiding messy HTML insertion.<\/li>\n<li><strong>In-Chat Previews:<\/strong> Shows live previews of each section directly within the AI chat interface before AI publishes them.<\/li>\n<li><strong>Platform Agnostic:<\/strong> Works with major AI platforms like Claude and ChatGPT via Model Context Protocol (MCP).<\/li>\n<li><strong>SEO &amp; Metadata:<\/strong> Automatically adds metadata and SEO details (compatible with Yoast).<\/li>\n<li><strong>Theme Agnostic:<\/strong> Works with any Block-based\/FSE theme.<\/li>\n<\/ul>\n\n<h4>AI Skill<\/h4>\n\n<p>This plugin includes a skill file that teaches AI assistants how to generate WordPress content correctly \u2014 using your site's existing patterns, building pages incrementally, and following your design system rather than inventing markup.<\/p>\n\n<p>The skill is served automatically to any connected AI assistant via MCP. Editors and content creators don't need to configure anything \u2014 just connect your AI platform and start prompting.<\/p>\n\n<p>To use the skill in Claude (claude.ai):<\/p>\n\n<ol>\n<li><a href=\"https:\/\/raw.githubusercontent.com\/rtCamp\/publishio\/main\/skills\/publishio\/SKILL.md\">Download the skill file<\/a><\/li>\n<li>Open Claude and go to Customize \u2192 Skills \u2192 Upload Skill<\/li>\n<li>Upload the downloaded file<\/li>\n<li>Start prompting Claude to build WordPress pages using your theme's patterns<\/li>\n<\/ol>\n\n<h3>Requirements<\/h3>\n\n<h4>WordPress<\/h4>\n\n<ul>\n<li><strong>WordPress 6.9 or higher<\/strong><\/li>\n<\/ul>\n\n<h4>Themes<\/h4>\n\n<ul>\n<li>Tested this plugin with <strong>Twenty Twenty-Five<\/strong> and <strong>Ollie<\/strong>.<\/li>\n<li>Compatible with any theme. For best results, ensure patterns have descriptive names and descriptions.<\/li>\n<\/ul>\n\n<h4>Why your theme's patterns need proper names and descriptions<\/h4>\n\n<p>This plugin acts as a bridge between your WordPress theme and AI assistants. Here's how it works:<\/p>\n\n<ol>\n<li><strong>Pattern discovery<\/strong> \u2014 the plugin scans all patterns registered by your active theme via <code>WP_Block_Patterns_Registry<\/code>.<\/li>\n<li><strong>Metadata sent to AI<\/strong> \u2014 each pattern's <code>title<\/code>, <code>description<\/code>, <code>categories<\/code>, and <code>keywords<\/code> are sent to the AI as structured data. The actual block markup is fetched separately, on demand.<\/li>\n<li><strong>AI selects a pattern<\/strong> \u2014 the AI reads the pattern metadata and decides which pattern best fits the user's request.<\/li>\n<li><strong>Content is filled<\/strong> \u2014 the AI hydrates the selected pattern with new content (headings, paragraphs, images, buttons).<\/li>\n<li><strong>Preview and approve<\/strong> \u2014 the generated page is previewed in the AI chat before insertion.<\/li>\n<\/ol>\n\n<p><strong>When a pattern has no description (or a generic one), the AI has only the <code>title<\/code> to work with for matching.<\/strong> A title like \"Hero Section\" doesn't tell the AI whether it's a full-width hero, a split hero with an image, a centered hero with a CTA, or a hero with a background video. The AI must then fetch the full content of every pattern that matches a keyword \u2014 adding expensive round trips \u2014 just to understand what each one looks like.<\/p>\n\n<p><strong>What the AI sees:<\/strong><\/p>\n\n<ul>\n<li>Patterns with rich metadata \u2192 the AI matches confidently in one round trip.<\/li>\n<li>Patterns with no metadata \u2192 the AI either skips them or fetches every candidate's full content to reverse-engineer their purpose.<\/li>\n<\/ul>\n\n<p><strong>Bottom line:<\/strong> The more descriptive your pattern names and descriptions, the better the AI's output. Theme authors should treat pattern metadata as documentation for AI \u2014 not just a label for the block inserter.<\/p>\n\n<h3>Documentation<\/h3>\n\n<ul>\n<li><strong>Connection Guide<\/strong> \u2014 Open the Publishio page in your WordPress dashboard for the Claude setup guide.<\/li>\n<li><a href=\"https:\/\/github.com\/rtCamp\/publishio\/blob\/main\/docs\/DEVELOPMENT.md\">Development Guide<\/a> \u2014 Setup, commands, testing, and contribution.<\/li>\n<li><a href=\"https:\/\/github.com\/rtCamp\/publishio\/blob\/main\/docs\/CONTRIBUTING.md\">Contributing<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/rtCamp\/publishio\/blob\/main\/docs\/CODE_OF_CONDUCT.md\">Code of Conduct<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/rtCamp\/publishio\/blob\/main\/docs\/SECURITY.md\">Security<\/a><\/li>\n<\/ul>\n\n<h3>Source Code<\/h3>\n\n<p>The source code is available on <a href=\"https:\/\/github.com\/rtCamp\/publishio\">GitHub<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin in your WordPress dashboard.<\/li>\n<li>Ensure you meet the requirements (WordPress 6.9+).<\/li>\n<li>Open the <strong>Publishio<\/strong> page in your WordPress dashboard \u2014 it includes a step-by-step guide to connect Claude to your site.<\/li>\n<li>Start prompting Claude to build WordPress pages using your theme's patterns.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20connect%20claude%20to%20my%20wordpress%20site%3F\"><h3>How do I connect Claude to my WordPress site?<\/h3><\/dt>\n<dd><p>Open the <strong>Publishio<\/strong> page in your WordPress dashboard. It contains a complete setup guide \u2014 including how to add your site's MCP server to Claude and authenticate the connection.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20specific%20theme%3F\"><h3>Do I need a specific theme?<\/h3><\/dt>\n<dd><p>No, it works with any theme, but themes with well-described patterns (like Twenty Twenty-Five) yield the best results.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20ai%20platforms%20other%20than%20claude%20and%20chatgpt%3F\"><h3>Does it work with AI platforms other than Claude and ChatGPT?<\/h3><\/dt>\n<dd><p>Yes. The plugin uses the Model Context Protocol (MCP), an open standard. Any AI platform or client that supports MCP \u2014 including local models, coding assistants, and custom integrations \u2014 can connect to your site and build content.<\/p><\/dd>\n<dt id=\"does%20the%20ai%20publish%20directly%2C%20or%20can%20i%20review%20content%20first%3F\"><h3>Does the AI publish directly, or can I review content first?<\/h3><\/dt>\n<dd><p>You're always in control. The plugin provides in-chat previews of each section before anything is inserted. You can review, request changes, or approve before the content is published.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20classic%20%28non-block%29%20themes%3F\"><h3>Does it work with classic (non-block) themes?<\/h3><\/dt>\n<dd><p>The plugin is designed for block-based and Full Site Editing (FSE) themes. Classic themes without block editor support are not recommended \u2014 the AI generates Block Editor content that requires block-aware themes to render correctly.<\/p><\/dd>\n<dt id=\"will%20it%20work%20with%20page%20builders%20like%20elementor%20or%20divi%3F\"><h3>Will it work with page builders like Elementor or Divi?<\/h3><\/dt>\n<dd><p>No. This plugin generates native WordPress block markup for the Block Editor. Page builder shortcodes and proprietary formats are not supported.<\/p><\/dd>\n<dt id=\"does%20it%20support%20custom%20post%20types%3F\"><h3>Does it support custom post types?<\/h3><\/dt>\n<dd><p>Yes. The plugin works with any registered post type \u2014 pages, posts, and custom post types (e.g. portfolio, product, event). Just pass the post type slug when creating content.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.4.1<\/h4>\n\n<ul>\n<li>Fix readme.txt<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>Release plugin on WordPress.org.<\/li>\n<\/ul>\n\n<h4>0.3.1<\/h4>\n\n<ul>\n<li>Update plugin name to \"Publishio\".<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Add support for OAuth DCR flow for seamless AI platform integration.<\/li>\n<li>Add SEO capabilities by integrating with Yoast SEO metadata.<\/li>\n<li>Refactor codebase for improved maintainability and performance.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<li>Pattern auto-discovery via WP_Block_Patterns_Registry.<\/li>\n<li>In-chat previews before content is inserted.<\/li>\n<li>Claude connection with MCP and OAuth authentication.<\/li>\n<li>Yoast SEO metadata support.<\/li>\n<li>AI Skill file for guided content generation.<\/li>\n<\/ul>","raw_excerpt":"Connect any AI to WordPress and build pages and posts from your site&#039;s own block patterns, without changing your design.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/322857","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=322857"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/rtcamp"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=322857"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=322857"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=322857"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=322857"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=322857"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=322857"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}