[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-automattic-plugin-creator":3,"mdc--a9j4op-key":30,"related-repo-automattic-plugin-creator":253,"related-org-automattic-plugin-creator":343},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":19,"repoUrl":20,"updatedAt":21,"license":22,"forks":23,"topics":24,"repo":25,"sourceUrl":28,"mdContent":29},"plugin-creator","create WordPress plugins","Create or update a custom WordPress plugin for site functionality that should not live in a theme or a block. Use when the user needs reusable behavior, admin\u002Fsettings UI, hooks, REST endpoints, scheduled tasks, integrations, or server-side logic for a Studio-backed site.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"automattic","Automattic","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fautomattic.png",[12,16],{"name":13,"slug":14,"type":15},"WordPress","wordpress","tag",{"name":17,"slug":18,"type":15},"Plugin Development","plugin-development",7,"https:\u002F\u002Fgithub.com\u002FAutomattic\u002Fbuild-with-wordpress","2026-04-06T18:03:31.59652",null,1,[],{"repoUrl":20,"stars":19,"forks":23,"topics":26,"description":27},[],"Build and manage WordPress websites and applications on your chosen AI surface. ","https:\u002F\u002Fgithub.com\u002FAutomattic\u002Fbuild-with-wordpress\u002Ftree\u002FHEAD\u002Fskills\u002Fplugin-creator","---\nname: plugin-creator\ndescription: Create or update a custom WordPress plugin for site functionality that should not live in a theme or a block. Use when the user needs reusable behavior, admin\u002Fsettings UI, hooks, REST endpoints, scheduled tasks, integrations, or server-side logic for a Studio-backed site.\n---\n\n# Plugin Creator\n\nUse this skill when the user needs custom WordPress functionality that should survive theme changes.\n\n## Ownership\n\nThis skill owns:\n\n- minimal plugin scaffolding inside the selected Studio site\n- plugin-specific implementation guardrails\n\nUse `studio` for site selection, activation, `wp_cli`, and review.\n\n## Workflow\n\n1. Use `studio` to resolve the target site.\n2. Once you begin the actual plugin implementation workflow, call `record_workflow_event` with `workflow: \"plugin-build\"` and `stage: \"started\"`.\n3. Create the plugin under `\u003Csite-path>\u002Fwp-content\u002Fplugins\u002F\u003Cslug>\u002F`.\n4. Start with the smallest viable structure:\n   - a main plugin file with the header\n   - only add extra files, classes, or build tooling when the request needs them\n5. Keep load-time side effects light. Register hooks predictably and add activation, deactivation, or uninstall behavior only when the request actually needs lifecycle work.\n6. If the plugin accepts input or exposes admin actions, enforce capability checks and nonces, sanitize on input, and escape on output.\n7. If the plugin needs JS or CSS assets, add the minimal build setup required for those assets instead of scaffolding a large default toolchain.\n8. Activate and verify through `studio`.\n9. Call `record_workflow_event` with `workflow: \"plugin-build\"` and `stage: \"completed\"` once the plugin work is complete.\n\n## Guardrails\n\n- Do not create a plugin for pure styling or template work.\n- Keep the plugin editable and easy to reason about.\n- Prefer the smallest viable file set and dependency footprint.\n",{"data":31,"body":32},{"name":4,"description":6},{"type":33,"children":34},"root",[35,43,49,56,61,76,98,104,229,235],{"type":36,"tag":37,"props":38,"children":39},"element","h1",{"id":4},[40],{"type":41,"value":42},"text","Plugin Creator",{"type":36,"tag":44,"props":45,"children":46},"p",{},[47],{"type":41,"value":48},"Use this skill when the user needs custom WordPress functionality that should survive theme changes.",{"type":36,"tag":50,"props":51,"children":53},"h2",{"id":52},"ownership",[54],{"type":41,"value":55},"Ownership",{"type":36,"tag":44,"props":57,"children":58},{},[59],{"type":41,"value":60},"This skill owns:",{"type":36,"tag":62,"props":63,"children":64},"ul",{},[65,71],{"type":36,"tag":66,"props":67,"children":68},"li",{},[69],{"type":41,"value":70},"minimal plugin scaffolding inside the selected Studio site",{"type":36,"tag":66,"props":72,"children":73},{},[74],{"type":41,"value":75},"plugin-specific implementation guardrails",{"type":36,"tag":44,"props":77,"children":78},{},[79,81,88,90,96],{"type":41,"value":80},"Use ",{"type":36,"tag":82,"props":83,"children":85},"code",{"className":84},[],[86],{"type":41,"value":87},"studio",{"type":41,"value":89}," for site selection, activation, ",{"type":36,"tag":82,"props":91,"children":93},{"className":92},[],[94],{"type":41,"value":95},"wp_cli",{"type":41,"value":97},", and review.",{"type":36,"tag":50,"props":99,"children":101},{"id":100},"workflow",[102],{"type":41,"value":103},"Workflow",{"type":36,"tag":105,"props":106,"children":107},"ol",{},[108,119,148,160,178,183,188,193,204],{"type":36,"tag":66,"props":109,"children":110},{},[111,112,117],{"type":41,"value":80},{"type":36,"tag":82,"props":113,"children":115},{"className":114},[],[116],{"type":41,"value":87},{"type":41,"value":118}," to resolve the target site.",{"type":36,"tag":66,"props":120,"children":121},{},[122,124,130,132,138,140,146],{"type":41,"value":123},"Once you begin the actual plugin implementation workflow, call ",{"type":36,"tag":82,"props":125,"children":127},{"className":126},[],[128],{"type":41,"value":129},"record_workflow_event",{"type":41,"value":131}," with ",{"type":36,"tag":82,"props":133,"children":135},{"className":134},[],[136],{"type":41,"value":137},"workflow: \"plugin-build\"",{"type":41,"value":139}," and ",{"type":36,"tag":82,"props":141,"children":143},{"className":142},[],[144],{"type":41,"value":145},"stage: \"started\"",{"type":41,"value":147},".",{"type":36,"tag":66,"props":149,"children":150},{},[151,153,159],{"type":41,"value":152},"Create the plugin under ",{"type":36,"tag":82,"props":154,"children":156},{"className":155},[],[157],{"type":41,"value":158},"\u003Csite-path>\u002Fwp-content\u002Fplugins\u002F\u003Cslug>\u002F",{"type":41,"value":147},{"type":36,"tag":66,"props":161,"children":162},{},[163,165],{"type":41,"value":164},"Start with the smallest viable structure:\n",{"type":36,"tag":62,"props":166,"children":167},{},[168,173],{"type":36,"tag":66,"props":169,"children":170},{},[171],{"type":41,"value":172},"a main plugin file with the header",{"type":36,"tag":66,"props":174,"children":175},{},[176],{"type":41,"value":177},"only add extra files, classes, or build tooling when the request needs them",{"type":36,"tag":66,"props":179,"children":180},{},[181],{"type":41,"value":182},"Keep load-time side effects light. Register hooks predictably and add activation, deactivation, or uninstall behavior only when the request actually needs lifecycle work.",{"type":36,"tag":66,"props":184,"children":185},{},[186],{"type":41,"value":187},"If the plugin accepts input or exposes admin actions, enforce capability checks and nonces, sanitize on input, and escape on output.",{"type":36,"tag":66,"props":189,"children":190},{},[191],{"type":41,"value":192},"If the plugin needs JS or CSS assets, add the minimal build setup required for those assets instead of scaffolding a large default toolchain.",{"type":36,"tag":66,"props":194,"children":195},{},[196,198,203],{"type":41,"value":197},"Activate and verify through ",{"type":36,"tag":82,"props":199,"children":201},{"className":200},[],[202],{"type":41,"value":87},{"type":41,"value":147},{"type":36,"tag":66,"props":205,"children":206},{},[207,209,214,215,220,221,227],{"type":41,"value":208},"Call ",{"type":36,"tag":82,"props":210,"children":212},{"className":211},[],[213],{"type":41,"value":129},{"type":41,"value":131},{"type":36,"tag":82,"props":216,"children":218},{"className":217},[],[219],{"type":41,"value":137},{"type":41,"value":139},{"type":36,"tag":82,"props":222,"children":224},{"className":223},[],[225],{"type":41,"value":226},"stage: \"completed\"",{"type":41,"value":228}," once the plugin work is complete.",{"type":36,"tag":50,"props":230,"children":232},{"id":231},"guardrails",[233],{"type":41,"value":234},"Guardrails",{"type":36,"tag":62,"props":236,"children":237},{},[238,243,248],{"type":36,"tag":66,"props":239,"children":240},{},[241],{"type":41,"value":242},"Do not create a plugin for pure styling or template work.",{"type":36,"tag":66,"props":244,"children":245},{},[246],{"type":41,"value":247},"Keep the plugin editable and easy to reason about.",{"type":36,"tag":66,"props":249,"children":250},{},[251],{"type":41,"value":252},"Prefer the smallest viable file set and dependency footprint.",{"items":254,"total":342},[255,272,287,301,306,317,331],{"slug":256,"name":256,"fn":257,"description":258,"org":259,"tags":260,"stars":19,"repoUrl":20,"updatedAt":271},"auditing","audit WordPress sites for performance and accessibility","Audit a Studio-backed WordPress site for performance, accessibility, and visible frontend quality issues, then recommend or validate improvements.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[261,264,267,270],{"name":262,"slug":263,"type":15},"Accessibility","accessibility",{"name":265,"slug":266,"type":15},"Audit","audit",{"name":268,"slug":269,"type":15},"Performance","performance",{"name":13,"slug":14,"type":15},"2026-04-06T18:03:27.759352",{"slug":273,"name":273,"fn":274,"description":275,"org":276,"tags":277,"stars":19,"repoUrl":20,"updatedAt":286},"block-creator","create WordPress Gutenberg blocks","Create, edit, build, and review a custom WordPress Gutenberg block plugin inside a Studio-backed site.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[278,281,284,285],{"name":279,"slug":280,"type":15},"Block Editor","block-editor",{"name":282,"slug":283,"type":15},"Frontend","frontend",{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-04-06T18:03:30.309512",{"slug":288,"name":288,"fn":289,"description":290,"org":291,"tags":292,"stars":19,"repoUrl":20,"updatedAt":300},"design-previews-creator","generate WordPress design preview options","Generate three parallel design preview options for a Studio-backed site and collect the user's preferred direction before theme implementation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[293,296,299],{"name":294,"slug":295,"type":15},"Design","design",{"name":297,"slug":298,"type":15},"Themes","themes",{"name":13,"slug":14,"type":15},"2026-04-06T18:03:34.089094",{"slug":4,"name":4,"fn":5,"description":6,"org":302,"tags":303,"stars":19,"repoUrl":20,"updatedAt":21},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[304,305],{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":307,"name":307,"fn":308,"description":309,"org":310,"tags":311,"stars":19,"repoUrl":20,"updatedAt":316},"site-creator","create WordPress sites from a brief","Create a WordPress site from a rough idea using Studio and shared WordPress skills.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[312,315],{"name":313,"slug":314,"type":15},"Local Development","local-development",{"name":13,"slug":14,"type":15},"2026-04-06T18:03:35.335664",{"slug":87,"name":87,"fn":318,"description":319,"org":320,"tags":321,"stars":19,"repoUrl":20,"updatedAt":330},"run local WordPress development with Studio","Use WordPress Studio for local WordPress development, preferring MCP and falling back to the Studio CLI when needed.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[322,325,326,329],{"name":323,"slug":324,"type":15},"CLI","cli",{"name":313,"slug":314,"type":15},{"name":327,"slug":328,"type":15},"MCP","mcp",{"name":13,"slug":14,"type":15},"2026-04-06T18:03:26.516124",{"slug":332,"name":332,"fn":333,"description":334,"org":335,"tags":336,"stars":19,"repoUrl":20,"updatedAt":341},"theme-creator","create WordPress block themes","Create a modern WordPress block theme.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[337,338,339,340],{"name":294,"slug":295,"type":15},{"name":282,"slug":283,"type":15},{"name":297,"slug":298,"type":15},{"name":13,"slug":14,"type":15},"2026-04-06T18:03:29.048538",8,{"items":344,"total":518},[345,364,379,393,410,421,433,448,463,472,487,503],{"slug":346,"name":346,"fn":347,"description":348,"org":349,"tags":350,"stars":361,"repoUrl":362,"updatedAt":363},"annotate","collect visual feedback with browser annotation tools","Open a browser with visual annotation tools. The user clicks elements on their site and leaves feedback — the agent reads annotations and makes changes. Use this when the user wants to point at specific elements to fix, tweak, or redesign.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[351,352,355,358],{"name":282,"slug":283,"type":15},{"name":353,"slug":354,"type":15},"Productivity","productivity",{"name":356,"slug":357,"type":15},"UX Copy","ux-copy",{"name":359,"slug":360,"type":15},"UX Design","ux-design",484,"https:\u002F\u002Fgithub.com\u002FAutomattic\u002Fstudio","2026-05-06T05:40:01.516544",{"slug":365,"name":365,"fn":366,"description":367,"org":368,"tags":369,"stars":361,"repoUrl":362,"updatedAt":378},"block-content","write editable WordPress block markup","Write editable WordPress block markup for local Studio sites, including core\u002Fhtml limits, block-theme layout rules, full-width sections, validation, and skeleton-first page\u002FCSS recipes.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[370,371,374,377],{"name":279,"slug":280,"type":15},{"name":372,"slug":373,"type":15},"CSS","css",{"name":375,"slug":376,"type":15},"HTML","html",{"name":13,"slug":14,"type":15},"2026-05-27T07:01:55.629681",{"slug":380,"name":380,"fn":381,"description":382,"org":383,"tags":384,"stars":361,"repoUrl":362,"updatedAt":392},"hosting-plans-helper","provide WordPress.com hosting plan information","Answer WordPress.com plan, pricing, upgrade, and feature-tier questions (plan names, what each tier unlocks — plugins, themes, custom code, SSH, hosting — and current prices) from authoritative live data. Load before answering ANY plan, pricing, or feature-gating question; never answer these from memory.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[385,388,391],{"name":386,"slug":387,"type":15},"Pricing","pricing",{"name":389,"slug":390,"type":15},"Reference","reference",{"name":13,"slug":14,"type":15},"2026-07-02T07:42:33.654791",{"slug":394,"name":394,"fn":395,"description":396,"org":397,"tags":398,"stars":361,"repoUrl":362,"updatedAt":409},"liberate","migrate websites to WordPress","Import and rebuild a website from a closed platform (Wix, Squarespace, Webflow, Shopify, GoDaddy, Hostinger, HubSpot, Weebly) into a Studio WordPress site. Extracts pages\u002Fposts\u002Fproducts + media, then reconstructs the design as editable blocks + WooCommerce OR as a high-fidelity replica theme. Invoke when the user wants to migrate, import, liberate, or rebuild a site from one of these platforms.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[399,402,405,408],{"name":400,"slug":401,"type":15},"CMS","cms",{"name":403,"slug":404,"type":15},"Migration","migration",{"name":406,"slug":407,"type":15},"Web Development","web-development",{"name":13,"slug":14,"type":15},"2026-07-09T06:47:33.454311",{"slug":411,"name":411,"fn":412,"description":413,"org":414,"tags":415,"stars":361,"repoUrl":362,"updatedAt":420},"need-for-speed","run frontend performance audits for WordPress sites","Run a frontend performance audit on a WordPress site and get actionable optimization recommendations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[416,417,418,419],{"name":265,"slug":266,"type":15},{"name":282,"slug":283,"type":15},{"name":268,"slug":269,"type":15},{"name":13,"slug":14,"type":15},"2026-05-06T05:40:06.433267",{"slug":422,"name":422,"fn":423,"description":424,"org":425,"tags":426,"stars":361,"repoUrl":362,"updatedAt":432},"plugin-recommendations","recommend WordPress plugins for site features","Choose recommended plugins and plugin-provided blocks for features core WordPress blocks do not cover - ecommerce (WooCommerce), forms and newsletters (Jetpack), online courses and quizzes (Sensei LMS), polls, surveys and ratings (Crowdsignal), spam protection (Akismet) - while keeping generated content editable and avoiding raw HTML fallbacks. Any request to sell products or build a shop, store, or storefront requires WooCommerce with products.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[427,430,431],{"name":428,"slug":429,"type":15},"Content Creation","content-creation",{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-05-27T07:01:58.249105",{"slug":434,"name":434,"fn":435,"description":436,"org":437,"tags":438,"stars":361,"repoUrl":362,"updatedAt":447},"rank-me-up","run on-page SEO audits for WordPress sites","Run an on-page SEO audit on a WordPress site and get actionable recommendations to improve search visibility.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[439,440,443,446],{"name":265,"slug":266,"type":15},{"name":441,"slug":442,"type":15},"Marketing","marketing",{"name":444,"slug":445,"type":15},"SEO","seo",{"name":13,"slug":14,"type":15},"2026-05-06T05:40:05.196367",{"slug":449,"name":449,"fn":450,"description":451,"org":452,"tags":453,"stars":361,"repoUrl":362,"updatedAt":462},"site-spec","gather specifications for new WordPress sites","Gather the site name and layout preference before building a WordPress site. Run this before creating any new site.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[454,455,458,461],{"name":294,"slug":295,"type":15},{"name":456,"slug":457,"type":15},"Product Management","product-management",{"name":459,"slug":460,"type":15},"Specs","specs",{"name":13,"slug":14,"type":15},"2026-05-06T05:40:02.739409",{"slug":464,"name":464,"fn":465,"description":466,"org":467,"tags":468,"stars":361,"repoUrl":362,"updatedAt":471},"studio-cli","manage local WordPress sites with Studio CLI","Use the Studio CLI to manage local WordPress sites, authentication, and preview sites. Invoke this skill when you need to run Studio CLI commands, manage sites, or troubleshoot site issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[469,470],{"name":323,"slug":324,"type":15},{"name":13,"slug":14,"type":15},"2026-04-06T18:02:57.150231",{"slug":473,"name":473,"fn":474,"description":475,"org":476,"tags":477,"stars":361,"repoUrl":362,"updatedAt":486},"taxonomist","optimize WordPress category taxonomy","Analyze and optimize a WordPress site's category taxonomy. Exports all posts, uses AI to suggest an improved category structure — merging duplicates, retiring dead categories, creating missing ones, writing descriptions, and re-categorizing posts. Run this when the user wants to clean up or improve their categories.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[478,481,484,485],{"name":479,"slug":480,"type":15},"Content Strategy","content-strategy",{"name":482,"slug":483,"type":15},"Data Cleaning","data-cleaning",{"name":444,"slug":445,"type":15},{"name":13,"slug":14,"type":15},"2026-05-06T05:40:03.966799",{"slug":488,"name":488,"fn":489,"description":490,"org":491,"tags":492,"stars":361,"repoUrl":362,"updatedAt":502},"visual-design","plan and execute visual design direction","Plan and execute high-quality visual direction for site creation, redesign, layout, typography, color, motion, and visual polish.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[493,496,497,500],{"name":494,"slug":495,"type":15},"Animation","animation",{"name":294,"slug":295,"type":15},{"name":498,"slug":499,"type":15},"Typography","typography",{"name":501,"slug":488,"type":15},"Visual Design","2026-07-24T05:40:57.887452",{"slug":504,"name":504,"fn":505,"description":506,"org":507,"tags":508,"stars":361,"repoUrl":362,"updatedAt":517},"visual-polish","verify and polish website visual design","Verify and polish a built or redesigned site by diagnosing rendered-DOM issues against intent and fixing them in a planned, batched screenshot-and-fix loop.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[509,512,513,516],{"name":510,"slug":511,"type":15},"Debugging","debugging",{"name":282,"slug":283,"type":15},{"name":514,"slug":515,"type":15},"Screenshots","screenshots",{"name":501,"slug":488,"type":15},"2026-06-06T07:09:59.809812",81]