Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Complete WordPress development workflow covering theme development, plugin creation, WooCommerce integration, performance optimization, and security hardening. Includes WordPress 7.0 features: Real-Time Collaboration, AI Connectors, Abilities API, DataViews, and PHP-only blocks.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 187% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 203% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 203% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 126% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 264% | 0% |
Comprehensive WordPress development workflow covering theme development, plugin creation, WooCommerce integration, performance optimization, and security. This bundle orchestrates skills for building production-ready WordPress sites and applications.
WordPress 7.0 (April 9, 2026) introduces significant features while maintaining backward compatibility:
WP_COLLABORATION_MAX_USERS)sync.providers filterwp_ai_client_prompt())/wp-json/abilities/v1/manifestwatch() replaces effect from @preact/signalsdisableContentOnlyForUnsyncedPatterns settingUse this workflow when:
app-builder - Project scaffoldingenvironment-setup-guide - Development environmentphp// wp-config.php - Collaboration settings define('WP_COLLABORATION_MAX_USERS', 5); // AI Connector is enabled by installing a provider plugin // (e.g., OpenAI, Anthropic Claude, or Google Gemini connector) // No constant needed - configure via Settings > Connectors in admin
Use @app-builder to scaffold a new WordPress project with modern toolingfrontend-developer - Component developmentfrontend-design - UI implementationtailwind-patterns - Stylingweb-performance-optimization - Performancetheme-name/
├── style.css
├── functions.php
├── index.php
├── header.php
├── footer.php
├── sidebar.php
├── single.php
├── page.php
├── archive.php
├── search.php
├── 404.php
├── template-parts/
├── inc/
├── assets/
│ ├── css/
│ ├── js/
│ └── images/
└── languages/Use @frontend-developer to create a custom WordPress theme with React componentsUse @tailwind-patterns to style WordPress theme with modern CSSbackend-dev-guidelines - Backend standardsapi-design-principles - API designauth-implementation-patterns - Authenticationshow_in_rest => truewp_ai_client_prompt() for AI featuresphpregister_post_meta('post', 'custom_field', [ 'type' => 'string', 'single' => true, 'show_in_rest' => true, // Required for RTC 'sanitize_callback' => 'sanitize_text_field', ]);
php// Using WordPress 7.0 AI Connector // Note: Requires an AI provider plugin (OpenAI, Claude, or Gemini) to be installed and configured // Basic text generation $response = wp_ai_client_prompt('Summarize this content.') ->generate_text(); // With temperature for deterministic output $response = wp_ai_client_prompt('Summarize this content.') ->using_temperature(0.2) ->generate_text(); // With model preference (tries first available in list) $response = wp_ai_client_prompt('Summarize this content.') ->using_model_preference('gpt-4', 'claude-3-opus', 'gemini-2-pro') ->generate_text(); // For JSON structured output $schema = [ 'type' => 'object', 'properties' => [ 'summary' => ['type' => 'string'], 'keywords' => ['type' => 'array', 'items' => ['type' => 'string']] ], 'required' => ['summary'] ]; $response = wp_ai_client_prompt('Analyze this content and return JSON.') ->using_system_instruction('You are a content analyzer.') ->as_json_response($schema) ->generate_text();
plugin-name/
├── plugin-name.php
├── includes/
│ ├── class-plugin-activator.php
│ ├── class-plugin-deactivator.php
│ ├── class-plugin-loader.php
│ └── class-plugin.php
├── admin/
│ ├── class-plugin-admin.php
│ ├── css/
│ └── js/
├── public/
│ ├── class-plugin-public.php
│ ├── css/
│ └── js/
└── languages/Use @backend-dev-guidelines to create a WordPress plugin with proper architecturepayment-integration - Payment processingstripe-integration - Stripe paymentsbilling-automation - Billing workflowsUse @payment-integration to set up WooCommerce with StripeUse @billing-automation to create subscription products in WooCommerceweb-performance-optimization - Performance optimizationdatabase-optimizer - Database optimizationUse @web-performance-optimization to audit and improve WordPress performancesecurity-auditor - Security auditwordpress-penetration-testing - WordPress security testingsast-configuration - Static analysisUse @wordpress-penetration-testing to audit WordPress securityUse @security-auditor to perform comprehensive security reviewtest-automator - Test automationplaywright-skill - E2E testingwebapp-testing - Web app testingUse @playwright-skill to create E2E tests for WordPress sitedeployment-engineer - Deploymentcicd-automation-workflow-automate - CI/CDgithub-actions-templates - GitHub ActionsUse @deployment-engineer to set up WordPress deployment pipelinephpregister_post_type('book', [ 'labels' => [...], 'public' => true, 'has_archive' => true, 'supports' => ['title', 'editor', 'thumbnail', 'excerpt'], 'menu_icon' => 'dashicons-book', 'show_in_rest' => true, // Enable for RTC ]); // Register meta with REST API for collaboration register_post_meta('book', 'isbn', [ 'type' => 'string', 'single' => true, 'show_in_rest' => true, 'sanitize_callback' => 'sanitize_text_field', ]);
phpadd_action('rest_api_init', function() { register_rest_route('myplugin/v1', '/books', [ 'methods' => 'GET', 'callback' => 'get_books', 'permission_callback' => '__return_true', ]); });
php// Auto-generate post excerpt with AI add_action('save_post', function($post_id, $post) { if (wp_is_post_autosave($post_id) || wp_is_post_revision($post_id)) { return; } // Skip if excerpt already exists if (!empty($post->post_excerpt)) { return; } $content = strip_tags($post->post_content); if (empty($content)) { return; } // Check if AI client is available if (!function_exists('wp_ai_client_prompt')) { return; } // Build prompt with input $result = wp_ai_client_prompt( 'Create a brief 2-sentence summary of this content: ' . substr($content, 0, 1000) ); if (is_wp_error($result)) { return; // Silently fail - don't block post saving } // Use temperature for consistent output $result->using_temperature(0.3); $summary = $result->generate_text(); if ($summary && !is_wp_error($summary)) { wp_update_post([ 'ID' => $post_id, 'post_excerpt' => sanitize_textarea_field($summary) ]); } }, 10, 2);
php// Register block entirely in PHP register_block_type('my-plugin/hello-world', [ 'render_callback' => function($attributes, $content) { return '<p class="hello-world">Hello, World!</p>'; }, 'attributes' => [ 'message' => ['type' => 'string', 'default' => 'Hello!'] ], ]);
php// Register ability category on correct hook add_action('wp_abilities_api_categories_init', function() { wp_register_ability_category('content-creation', [ 'label' => __('Content Creation', 'my-plugin'), 'description' => __('Abilities for generating and managing content', 'my-plugin'), ]); }); // Register abilities on correct hook add_action('wp_abilities_api_init', function() { wp_register_ability('my-plugin/generate-summary', [ 'label' => __('Generate Post Summary', 'my-plugin'), 'description' => __('Creates an AI-powered summary of a post', 'my-plugin'), 'category' => 'content-creation', 'input_schema' => [ 'type' => 'object', 'properties' => [ 'post_id' => ['type' => 'integer', 'description' => 'The post ID to summarize'] ], 'required' => ['post_id'] ], 'output_schema' => [ 'type' => 'object', 'properties' => [ 'summary' => ['type' => 'string', 'description' => 'The generated summary'] ] ], 'execute_callback' => 'my_plugin_generate_summary_handler', 'permission_callback' => function() { return current_user_can('edit_posts'); } ]); }); // Handler function for the ability function my_plugin_generate_summary_handler($input) { $post_id = isset($input['post_id']) ? absint($input['post_id']) : 0; $post = get_post($post_id); if (!$post) { return new WP_Error('invalid_post', 'Post not found'); } $content = strip_tags($post->post_content); if (empty($content)) { return ['summary' => '']; } if (!function_exists('wp_ai_client_prompt')) { return new WP_Error('ai_unavailable', 'AI client not available'); } $result = wp_ai_client_prompt('Summarize in 2 sentences: ' . substr($content, 0, 1000)) ->using_temperature(0.3) ->generate_text(); if (is_wp_error($result)) { return $result; } return ['summary' => sanitize_textarea_field($result)]; }
phpadd_action('init', function() { class WC_Product_Custom extends WC_Product { // Custom product implementation } });
Before moving to next phase, verify:
development - General web developmentsecurity-audit - Security testingtesting-qa - Testing workflowecommerce - E-commerce development(End of file - total 440 lines)
Other measured skills in the registry, with their headline benchmark lift.