--- name: wordpress description: "WordPress Development Workflow Bundle workflow skill. Use this skill when the user needs 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 and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off." version: "0.0.1" category: frontend tags: ["wordpress", "complete", "development", "covering", "theme", "plugin", "creation", "woocommerce"] complexity: advanced risk: caution tools: ["codex-cli", "claude-code", "cursor", "gemini-cli", "opencode"] source: community author: "sickn33" date_added: "2026-04-15" date_updated: "2026-04-25" --- # WordPress Development Workflow Bundle ## Overview This public intake copy packages `plugins/antigravity-awesome-skills-claude/skills/wordpress` from `https://github.com/sickn33/antigravity-awesome-skills` into the native Omni Skills editorial shape without hiding its origin. Use it when the operator needs the upstream workflow, support files, and repository context to stay intact while the public validator and private enhancer continue their normal downstream flow. This intake keeps the copied upstream files intact and uses the `external_source` block in `metadata.json` plus `ORIGIN.md` as the provenance anchor for review. # WordPress Development Workflow Bundle Imported source sections that did not map cleanly to the public headings are still preserved below or in the support files. Notable imported sections: WordPress 7.0 Features (Backward Compatible), Quality Gates, Limitations. ## When to Use This Skill Use this section as the trigger filter. It should make the activation boundary explicit before the operator loads files, runs commands, or opens a pull request. - Building new WordPress websites - Creating custom themes - Developing WordPress plugins - Setting up WooCommerce stores - Optimizing WordPress performance - Hardening WordPress security ## Operating Table | Situation | Start here | Why it matters | | --- | --- | --- | | First-time use | `metadata.json` | Confirms repository, branch, commit, and imported path through the `external_source` block before touching the copied workflow | | Provenance review | `ORIGIN.md` | Gives reviewers a plain-language audit trail for the imported source | | Workflow execution | `SKILL.md` | Starts with the smallest copied file that materially changes execution | | Supporting context | `SKILL.md` | Adds the next most relevant copied source file without loading the entire package | | Handoff decision | `## Related Skills` | Helps the operator switch to a stronger native skill when the task drifts | ## Workflow This workflow is intentionally editorial and operational at the same time. It keeps the imported source useful to the operator while still satisfying the public intake standards that feed the downstream enhancer flow. 1. app-builder - Project scaffolding 2. environment-setup-guide - Development environment 3. Set up local development environment (LocalWP, Docker, or Valet) 4. Install WordPress (recommend 7.0+ for new projects) 5. Configure development database 6. Set up version control 7. Configure wp-config.php for development ### Imported Workflow Notes #### Imported: Workflow Phases ### Phase 1: WordPress Setup #### Skills to Invoke - `app-builder` - Project scaffolding - `environment-setup-guide` - Development environment #### Actions 1. Set up local development environment (LocalWP, Docker, or Valet) 2. Install WordPress (recommend 7.0+ for new projects) 3. Configure development database 4. Set up version control 5. Configure wp-config.php for development #### WordPress 7.0 Configuration ```php // 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 ``` #### Copy-Paste Prompts ``` Use @app-builder to scaffold a new WordPress project with modern tooling ``` ### Phase 2: Theme Development #### Skills to Invoke - `frontend-developer` - Component development - `frontend-design` - UI implementation - `tailwind-patterns` - Styling - `web-performance-optimization` - Performance #### Actions 1. Design theme architecture 2. Create theme files (style.css, functions.php, index.php) 3. Implement template hierarchy 4. Create custom page templates 5. Add custom post types and taxonomies 6. Implement theme customization options 7. Add responsive design 8. Test with WordPress 7.0 admin refresh #### WordPress 7.0 Theme Considerations - Block API v3 now reference model - Pseudo-element support in theme.json - Global Styles custom CSS honors block-defined selectors - View transitions for admin navigation #### Theme Structure ``` theme-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/ ``` #### Copy-Paste Prompts ``` Use @frontend-developer to create a custom WordPress theme with React components ``` ``` Use @tailwind-patterns to style WordPress theme with modern CSS ``` ### Phase 3: Plugin Development #### Skills to Invoke - `backend-dev-guidelines` - Backend standards - `api-design-principles` - API design - `auth-implementation-patterns` - Authentication #### Actions 1. Design plugin architecture 2. Create plugin boilerplate 3. Implement hooks (actions and filters) 4. Create admin interfaces 5. Add custom database tables 6. Implement REST API endpoints 7. Add settings and options pages #### WordPress 7.0 Plugin Considerations - **RTC Compatibility**: Register post meta with `show_in_rest => true` - **AI Integration**: Use `wp_ai_client_prompt()` for AI features - **DataViews**: Consider new admin UI patterns - **Meta Boxes**: Migrate to block-based UIs for collaboration support #### RTC-Compatible Post Meta Registration ```php register_post_meta('post', 'custom_field', [ 'type' => 'string', 'single' => true, 'show_in_rest' => true, // Required for RTC 'sanitize_callback' => 'sanitize_text_field', ]); ``` #### AI Connector Example ```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 Structure ``` 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/ ``` #### Copy-Paste Prompts ``` Use @backend-dev-guidelines to create a WordPress plugin with proper architecture ``` ### Phase 4: WooCommerce Integration #### Skills to Invoke - `payment-integration` - Payment processing - `stripe-integration` - Stripe payments - `billing-automation` - Billing workflows #### Actions 1. Install and configure WooCommerce 2. Create custom product types 3. Customize checkout flow 4. Integrate payment gateways 5. Set up shipping methods 6. Create custom order statuses 7. Implement subscription products 8. Add custom email templates #### WordPress 7.0 + WooCommerce Considerations - Test checkout with new admin interfaces - AI connectors for product descriptions - DataViews for order management screens - RTC for collaborative order editing #### Copy-Paste Prompts ``` Use @payment-integration to set up WooCommerce with Stripe ``` ``` Use @billing-automation to create subscription products in WooCommerce ``` ### Phase 5: Performance Optimization #### Skills to Invoke - `web-performance-optimization` - Performance optimization - `database-optimizer` - Database optimization #### Actions 1. Implement caching (object, page, browser) 2. Optimize images (lazy loading, WebP) 3. Minify and combine assets 4. Enable CDN 5. Optimize database queries 6. Implement lazy loading 7. Configure OPcache 8. Set up Redis/Memcached #### WordPress 7.0 Performance - Client-side media processing - Font Library enabled for all themes - Responsive grid block optimizations - View transitions reduce perceived load time #### Performance Checklist - [ ] Page load time < 3 seconds - [ ] Time to First Byte < 200ms - [ ] Largest Contentful Paint < 2.5s - [ ] Cumulative Layout Shift < 0.1 - [ ] First Input Delay < 100ms #### Copy-Paste Prompts ``` Use @web-performance-optimization to audit and improve WordPress performance ``` ### Phase 6: Security Hardening #### Skills to Invoke - `security-auditor` - Security audit - `wordpress-penetration-testing` - WordPress security testing - `sast-configuration` - Static analysis #### Actions 1. Update WordPress core, themes, plugins 2. Implement security headers 3. Configure file permissions 4. Set up firewall rules 5. Enable two-factor authentication 6. Implement rate limiting 7. Configure security logging 8. Set up malware scanning #### WordPress 7.0 Security Considerations - PHP 7.4 minimum (drops 7.2/7.3 support) - Test Abilities API permission boundaries - Verify collaboration data isolation - AI connector credential security #### Security Checklist - [ ] WordPress core updated (7.0+ recommended) - [ ] All plugins/themes updated - [ ] Strong passwords enforced - [ ] Two-factor authentication enabled - [ ] Security headers configured - [ ] XML-RPC disabled or protected - [ ] File editing disabled - [ ] Database prefix changed - [ ] Regular backups configured #### Copy-Paste Prompts ``` Use @wordpress-penetration-testing to audit WordPress security ``` ``` Use @security-auditor to perform comprehensive security review ``` ### Phase 7: Testing #### Skills to Invoke - `test-automator` - Test automation - `playwright-skill` - E2E testing - `webapp-testing` - Web app testing #### Actions 1. Write unit tests for custom code 2. Create integration tests 3. Set up E2E tests 4. Test cross-browser compatibility 5. Test responsive design 6. Performance testing 7. Security testing #### WordPress 7.0 Testing Priorities - Test with iframed post editor - Verify DataViews integration - Test collaboration (RTC) workflows - Validate AI connector functionality - Test Interactivity API with watch() #### Copy-Paste Prompts ``` Use @playwright-skill to create E2E tests for WordPress site ``` ### Phase 8: Deployment #### Skills to Invoke - `deployment-engineer` - Deployment - `cicd-automation-workflow-automate` - CI/CD - `github-actions-templates` - GitHub Actions #### Actions 1. Set up staging environment 2. Configure deployment pipeline 3. Set up database migrations 4. Configure environment variables 5. Enable maintenance mode during deployment 6. Deploy to production 7. Verify deployment 8. Monitor post-deployment #### Copy-Paste Prompts ``` Use @deployment-engineer to set up WordPress deployment pipeline ``` #### Imported: WordPress-Specific Workflows ### Custom Post Type Development (RTC-Compatible) ```php register_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', ]); ``` ### Custom REST API Endpoint ```php add_action('rest_api_init', function() { register_rest_route('myplugin/v1', '/books', [ 'methods' => 'GET', 'callback' => 'get_books', 'permission_callback' => '__return_true', ]); }); ``` ### WordPress 7.0 AI Connector Usage ```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-Only Block Registration (WordPress 7.0) ```php // Register block entirely in PHP register_block_type('my-plugin/hello-world', [ 'render_callback' => function($attributes, $content) { return '

Hello, World!

'; }, 'attributes' => [ 'message' => ['type' => 'string', 'default' => 'Hello!'] ], ]); ``` ### Abilities API Registration ```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)]; } ``` ### WooCommerce Custom Product Type ```php add_action('init', function() { class WC_Product_Custom extends WC_Product { // Custom product implementation } }); ``` #### Imported: Related Workflow Bundles - `development` - General web development - `security-audit` - Security testing - `testing-qa` - Testing workflow - `ecommerce` - E-commerce development (End of file - total 440 lines) #### Imported: Overview 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. #### Imported: WordPress 7.0 Features (Backward Compatible) WordPress 7.0 (April 9, 2026) introduces significant features while maintaining backward compatibility: ### Real-Time Collaboration (RTC) - Multiple users can edit simultaneously using Yjs CRDT - HTTP polling provider (configurable via `WP_COLLABORATION_MAX_USERS`) - Custom transport via `sync.providers` filter - **Backward Compatibility**: Falls back to post locking when legacy meta boxes detected ### AI Connectors API - Provider-agnostic AI interface in core (`wp_ai_client_prompt()`) - Settings > Connectors for centralized API credential management - Official providers: OpenAI, Anthropic Claude, Google Gemini - **Backward Compatibility**: Works with WordPress 6.9+ via plugin ### Abilities API (Stable in 7.0) - Standardized capability declaration system - REST API endpoints: `/wp-json/abilities/v1/manifest` - MCP adapter for AI agent integration - **Backward Compatibility**: Can be used as Composer package in 6.x ### DataViews & DataForm - Replaces WP_List_Table on Posts, Pages, Media screens - New layouts: table, grid, list, activity - Client-side validation (pattern, minLength, maxLength, min, max) - **Backward Compatibility**: Plugins using old hooks still work ### PHP-Only Block Registration - Register blocks entirely via PHP without JavaScript - Auto-generated Inspector controls - **Backward Compatibility**: Existing JS blocks continue to work ### Interactivity API Updates - `watch()` replaces `effect` from @preact/signals - State navigation changes - **Backward Compatibility**: Old syntax deprecated but functional ### Admin Refresh - New default color scheme - View transitions between admin screens - **Backward Compatibility**: CSS-level changes, no breaking changes ### Pattern Editing - ContentOnly mode defaults for unsynced patterns - `disableContentOnlyForUnsyncedPatterns` setting - **Backward Compatibility**: Existing patterns work ## Examples ### Example 1: Ask for the upstream workflow directly ```text Use @wordpress to handle . Start from the copied upstream workflow, load only the files that change the outcome, and keep provenance visible in the answer. ``` **Explanation:** This is the safest starting point when the operator needs the imported workflow, but not the entire repository. ### Example 2: Ask for a provenance-grounded review ```text Review @wordpress against metadata.json and ORIGIN.md, then explain which copied upstream files you would load first and why. ``` **Explanation:** Use this before review or troubleshooting when you need a precise, auditable explanation of origin and file selection. ### Example 3: Narrow the copied support files before execution ```text Use @wordpress for . Load only the copied references, examples, or scripts that change the outcome, and name the files explicitly before proceeding. ``` **Explanation:** This keeps the skill aligned with progressive disclosure instead of loading the whole copied package by default. ### Example 4: Build a reviewer packet ```text Review @wordpress using the copied upstream files plus provenance, then summarize any gaps before merge. ``` **Explanation:** This is useful when the PR is waiting for human review and you want a repeatable audit packet. ## Best Practices Treat the generated public skill as a reviewable packaging layer around the upstream repository. The goal is to keep provenance explicit and load only the copied source material that materially improves execution. - Keep the imported skill grounded in the upstream repository; do not invent steps that the source material cannot support. - Prefer the smallest useful set of support files so the workflow stays auditable and fast to review. - Keep provenance, source commit, and imported file paths visible in notes and PR descriptions. - Point directly at the copied upstream files that justify the workflow instead of relying on generic review boilerplate. - Treat generated examples as scaffolding; adapt them to the concrete task before execution. - Route to a stronger native skill when architecture, debugging, design, or security concerns become dominant. ## Troubleshooting ### Problem: The operator skipped the imported context and answered too generically **Symptoms:** The result ignores the upstream workflow in `plugins/antigravity-awesome-skills-claude/skills/wordpress`, fails to mention provenance, or does not use any copied source files at all. **Solution:** Re-open `metadata.json`, `ORIGIN.md`, and the most relevant copied upstream files. Check the `external_source` block first, then restate the provenance before continuing. ### Problem: The imported workflow feels incomplete during review **Symptoms:** Reviewers can see the generated `SKILL.md`, but they cannot quickly tell which references, examples, or scripts matter for the current task. **Solution:** Point at the exact copied references, examples, scripts, or assets that justify the path you took. If the gap is still real, record it in the PR instead of hiding it. ### Problem: The task drifted into a different specialization **Symptoms:** The imported skill starts in the right place, but the work turns into debugging, architecture, design, security, or release orchestration that a native skill handles better. **Solution:** Use the related skills section to hand off deliberately. Keep the imported provenance visible so the next skill inherits the right context instead of starting blind. ## Related Skills - `@00-andruia-consultant` - Use when the work is better handled by that native specialization after this imported skill establishes context. - `@00-andruia-consultant-v2` - Use when the work is better handled by that native specialization after this imported skill establishes context. - `@10-andruia-skill-smith` - Use when the work is better handled by that native specialization after this imported skill establishes context. - `@10-andruia-skill-smith-v2` - Use when the work is better handled by that native specialization after this imported skill establishes context. ## Additional Resources Use this support matrix and the linked files below as the operator packet for this imported skill. They should reflect real copied source material, not generic scaffolding. | Resource family | What it gives the reviewer | Example path | | --- | --- | --- | | `references` | copied reference notes, guides, or background material from upstream | `references/n/a` | | `examples` | worked examples or reusable prompts copied from upstream | `examples/n/a` | | `scripts` | upstream helper scripts that change execution or validation | `scripts/n/a` | | `agents` | routing or delegation notes that are genuinely part of the imported package | `agents/n/a` | | `assets` | supporting assets or schemas copied from the source package | `assets/n/a` | ### Imported Reference Notes #### Imported: Quality Gates Before moving to next phase, verify: - [ ] All custom code tested - [ ] Security scan passed - [ ] Performance targets met - [ ] Cross-browser tested - [ ] Mobile responsive verified - [ ] Accessibility checked (WCAG 2.1) - [ ] WordPress 7.0 compatibility verified (for new projects) #### Imported: Limitations - Use this skill only when the task clearly matches the scope described above. - Do not treat the output as a substitute for environment-specific validation, testing, or expert review. - Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.