name: wordpress-woocommerce-development description: "WordPress WooCommerce Development Workflow workflow skill. Use this skill when the user needs WooCommerce store development workflow covering store setup, payment integration, shipping configuration, customization, and WordPress 7.0 features: AI connectors, DataViews, and collaboration tools and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off." version: "0.0.1" category: development tags: ["wordpress-woocommerce-development", "woocommerce", "store", "development", "covering", "setup", "payment", "integration"] complexity: advanced risk: safe tools: ["codex-cli", "claude-code", "cursor", "gemini-cli", "opencode"] source: community author: "sickn33" date_added: "2026-04-15" date_updated: "2026-04-25"
WordPress WooCommerce Development Workflow
Overview
This public intake copy packages plugins/antigravity-awesome-skills-claude/skills/wordpress-woocommerce-development 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 WooCommerce Development Workflow
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 + WooCommerce Features, WooCommerce + WordPress 7.0 AI Use Cases, 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.
- Setting up WooCommerce stores
- Integrating payment gateways
- Configuring shipping methods
- Creating custom product types
- Building subscription products
- Implementing AI-powered features (WP 7.0)
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.
- app-builder - Project scaffolding
- wordpress-penetration-testing - WordPress patterns
- Install WooCommerce
- Run setup wizard
- Configure store settings
- Set up tax rules
- Configure currency
Imported Workflow Notes
Imported: Workflow Phases
Phase 1: Store Setup
Skills to Invoke
app-builder- Project scaffoldingwordpress-penetration-testing- WordPress patterns
Actions
- Install WooCommerce
- Run setup wizard
- Configure store settings
- Set up tax rules
- Configure currency
- Test with WordPress 7.0 admin
WordPress 7.0 + WooCommerce Setup
// Minimum requirements for WP 7.0 + WooCommerce
// Add to wp-config.php for collaboration settings
define('WP_COLLABORATION_MAX_USERS', 10);
// AI features are enabled by installing a provider plugin
// Install OpenAI, Anthropic, or Gemini connector from WordPress.org
// Then configure via Settings > Connectors in admin panel
Copy-Paste Prompts
Use @app-builder to set up WooCommerce store
Phase 2: Product Configuration
Skills to Invoke
wordpress-penetration-testing- WooCommerce patterns
Actions
- Create product categories
- Add product attributes
- Configure product types
- Set up variable products
- Add product images
AI-Powered Product Descriptions (WP 7.0)
// Auto-generate product descriptions with AI
add_action('woocommerce_new_product', 'generate_ai_description', 10, 2);
function generate_ai_product_description($product_id, $product) {
if ($product->get_description()) {
return; // Skip if description exists
}
// Check if AI client is available
if (!function_exists('wp_ai_client_prompt')) {
return;
}
$title = $product->get_name();
$short_description = $product->get_short_description();
$prompt = sprintf(
'Write a compelling WooCommerce product description for "%s" that highlights key features and benefits. Make it SEO-friendly and persuasive.',
$title
);
if ($short_description) {
$prompt .= "\n\nShort description: " . $short_description;
}
$result = wp_ai_client_prompt($prompt);
if (is_wp_error($result)) {
return;
}
// Use temperature for consistent output
$result->using_temperature(0.3);
$description = $result->generate_text();
if ($description && !is_wp_error($description)) {
$product->set_description($description);
$product->save();
}
}
Copy-Paste Prompts
Use @wordpress-penetration-testing to configure WooCommerce products
Phase 3: Payment Integration
Skills to Invoke
payment-integration- Payment processingstripe-integration- Stripepaypal-integration- PayPal
Actions
- Choose payment gateways
- Configure Stripe
- Set up PayPal
- Add offline payments
- Test payment flows
WordPress 7.0 AI for Payments
// AI-powered fraud detection
// Note: This is a demonstration - implement proper fraud detection with multiple signals
// Use AI to analyze order for fraud indicators
function ai_check_order_fraud($order_id) {
// Check if AI client is available
if (!function_exists('wp_ai_client_prompt')) {
return false; // Default to no suspicion if AI unavailable
}
$order = wc_get_order($order_id);
if (!$order) {
return false;
}
$prompt = sprintf(
'Analyze this order for potential fraud. Order total: $%s. Shipping address: %s, %s. Billing: %s. Is this suspicious? Return only "suspicious" or "clean" without explanation.',
$order->get_total(),
$order->get_shipping_address_1(),
$order->get_shipping_city(),
$order->get_billing_email()
);
$result = wp_ai_client_prompt($prompt);
if (is_wp_error($result)) {
return false;
}
$result->using_temperature(0.1); // Low temp for consistent classification
$analysis = $result->generate_text();
return (strpos($analysis, 'suspicious') !== false);
}
Copy-Paste Prompts
Use @stripe-integration to integrate Stripe payments
Use @paypal-integration to integrate PayPal
Phase 4: Shipping Configuration
Skills to Invoke
wordpress-penetration-testing- WooCommerce shipping
Actions
- Set up shipping zones
- Configure shipping methods
- Add flat rate shipping
- Set up free shipping
- Integrate carriers
AI Shipping Recommendations (WP 7.0)
// AI-powered shipping recommendations
add_action('woocommerce_after_checkout_form', 'ai_shipping_recommendations');
function ai_shipping_recommendations($checkout) {
// Check if AI client is available
if (!function_exists('wp_ai_client_prompt')) {
return;
}
$cart = WC()->cart;
if ($cart->is_empty() || !$cart->get_cart_contents_weight()) {
return;
}
$prompt = sprintf(
'Based on this cart (total weight: %d kg, destination: %s), recommend the best shipping method from: free shipping (orders over $100), flat rate ($9.99), or express ($24.99). Consider delivery time and cost efficiency. Respond with just the recommended method name.',
$cart->get_cart_contents_weight(),
WC()->customer->get_shipping_country()
);
$result = wp_ai_client_prompt($prompt);
if (is_wp_error($result)) {
return;
}
$result->using_temperature(0.1); // Low temp for consistent recommendation
$recommendation = $result->generate_text();
if (strpos($recommendation, 'express') !== false) {
wc_add_notice(esc_html__('AI Recommendation: Consider Express shipping for faster delivery!', 'woocommerce'), 'info');
}
}
Copy-Paste Prompts
Use @wordpress-penetration-testing to configure shipping
Phase 5: Store Customization
Skills to Invoke
frontend-developer- Store customizationfrontend-design- Store design
Actions
- Customize product pages
- Modify cart page
- Style checkout flow
- Create custom templates
- Add custom fields
WordPress 7.0 Template Customization
// Custom product template with WP 7.0 blocks
add_action('woocommerce_after_main_content', 'add_product_ai_chat');
function add_product_ai_chat() {
if (!is_product()) return;
global $product;
?>
<div class="product-ai-assistant">
<h3>AI Shopping Assistant</h3>
<button id="ai-chat-toggle" type="button">Ask about this product</button>
<div id="ai-chat-panel" style="display:none;">
<div id="ai-chat-messages"></div>
<input type="text" id="ai-chat-input" placeholder="Ask about sizing, materials, etc.">
</div>
</div>
<script>
document.getElementById('ai-chat-toggle').addEventListener('click', function() {
const panel = document.getElementById('ai-chat-panel');
panel.style.display = panel.style.display === 'none' ? 'block' : 'none';
});
</script>
<?php
}
// AI-powered product Q&A
add_action('wp_ajax_ai_product_question', 'handle_ai_product_question');
add_action('wp_ajax_nopriv_ai_product_question', 'handle_ai_product_question');
function handle_ai_product_question() {
// Verify nonce for security
if (!check_ajax_referer('ai_product_question_nonce', 'nonce', false)) {
wp_send_json_error(['message' => 'Security check failed']);
}
$question = isset($_POST['question']) ? sanitize_text_field($_POST['question']) : '';
$product_id = isset($_POST['product_id']) ? intval($_POST['product_id']) : 0;
if (empty($question) || empty($product_id)) {
wp_send_json_error(['message' => 'Missing required fields']);
}
$product = wc_get_product($product_id);
if (!$product) {
wp_send_json_error(['message' => 'Product not found']);
}
// Check if AI client is available
if (!function_exists('wp_ai_client_prompt')) {
wp_send_json_error(['message' => 'AI service unavailable']);
}
$prompt = sprintf(
'Customer question about "%s": %s\n\nProduct details:
- Price: $%s
- SKU: %s
- Stock: %s
Answer helpfully, accurately, and concisely:',
$product->get_name(),
$question,
$product->get_price(),
$product->get_sku(),
$product->get_stock_status()
);
$result = wp_ai_client_prompt($prompt);
if (is_wp_error($result)) {
wp_send_json_error(['message' => $result->get_error_message()]);
}
$result->using_temperature(0.4); // Slightly higher for more varied responses
$answer = $result->generate_text();
if (is_wp_error($answer)) {
wp_send_json_error(['message' => 'Failed to generate response']);
}
wp_send_json_success(['answer' => $answer]);
}
Copy-Paste Prompts
Use @frontend-developer to customize WooCommerce templates
Phase 6: Extensions
Skills to Invoke
wordpress-penetration-testing- WooCommerce extensions
Actions
- Install required extensions
- Configure subscriptions
- Set up bookings
- Add memberships
- Integrate marketplace
Abilities API for WooCommerce (WP 7.0)
// Register ability categories first
add_action('wp_abilities_api_categories_init', function() {
wp_register_ability_category('ecommerce', [
'label' => __('E-Commerce', 'woocommerce'),
'description' => __('WooCommerce store management and operations', 'woocommerce'),
]);
});
// Register abilities
add_action('wp_abilities_api_init', function() {
// Register ability to update inventory
wp_register_ability('woocommerce/update-inventory', [
'label' => __('Update Inventory', 'woocommerce'),
'description' => __('Update product stock quantity', 'woocommerce'),
'category' => 'ecommerce',
'input_schema' => [
'type' => 'object',
'properties' => [
'product_id' => ['type' => 'integer', 'description' => 'Product ID to update'],
'quantity' => ['type' => 'integer', 'description' => 'New stock quantity']
],
'required' => ['product_id', 'quantity']
],
'output_schema' => [
'type' => 'object',
'properties' => [
'success' => ['type' => 'boolean'],
'new_quantity' => ['type' => 'integer']
]
],
'execute_callback' => 'woocommerce_update_inventory_handler',
'permission_callback' => function() {
return current_user_can('manage_woocommerce');
}
]);
// Register ability to process orders
wp_register_ability('woocommerce/process-order', [
'label' => __('Process Order', 'woocommerce'),
'description' => __('Mark order as processing and trigger fulfillment', 'woocommerce'),
'category' => 'ecommerce',
'input_schema' => [
'type' => 'object',
'properties' => [
'order_id' => ['type' => 'integer', 'description' => 'Order ID to process']
],
'required' => ['order_id']
],
'output_schema' => [
'type' => 'object',
'properties' => [
'success' => ['type' => 'boolean'],
'status' => ['type' => 'string']
]
],
'execute_callback' => 'woocommerce_process_order_handler',
'permission_callback' => function() {
return current_user_can('manage_woocommerce');
}
]);
});
// Handler for inventory update
function woocommerce_update_inventory_handler($input) {
$product_id = isset($input['product_id']) ? absint($input['product_id']) : 0;
$quantity = isset($input['quantity']) ? absint($input['quantity']) : 0;
$product = wc_get_product($product_id);
if (!$product) {
return new WP_Error('invalid_product', 'Product not found');
}
// Update stock
wc_update_product_stock($product, $quantity);
return [
'success' => true,
'new_quantity' => $product->get_stock_quantity()
];
}
// Handler for order processing
function woocommerce_process_order_handler($input) {
$order_id = isset($input['order_id']) ? absint($input['order_id']) : 0;
$order = wc_get_order($order_id);
if (!$order) {
return new WP_Error('invalid_order', 'Order not found');
}
$order->update_status('processing');
return [
'success' => true,
'status' => 'processing'
];
}
Copy-Paste Prompts
Use @wordpress-penetration-testing to configure WooCommerce extensions
Phase 7: Optimization
Skills to Invoke
web-performance-optimization- Performancedatabase-optimizer- Database optimization
Actions
- Optimize product images
- Enable caching
- Optimize database
- Configure CDN
- Set up lazy loading
WordPress 7.0 Performance
- Client-side media processing
- Font Library enabled
- Responsive grid block
- View transitions for perceived performance
Copy-Paste Prompts
Use @web-performance-optimization to optimize WooCommerce store
Phase 8: Testing
Skills to Invoke
playwright-skill- E2E testingtest-automator- Test automation
Actions
- Test checkout flow
- Verify payment processing
- Test email notifications
- Check mobile experience
- Performance testing
WordPress 7.0 Testing
- Test with new admin interface
- Verify AI features work
- Test DataViews for orders
- Verify collaboration features
AI-Powered Store Testing
// Automated AI testing for fraud detection during checkout
add_action('woocommerce_after_checkout_validation', 'ai_validate_order', 20);
function ai_validate_order($fields, $errors) {
// Skip if AI is not available
if (!function_exists('wp_ai_client_prompt')) {
return;
}
// Skip for logged-in users (assumed trusted)
if (is_user_logged_in()) {
return;
}
$order_data = [
'email' => isset($fields['billing_email']) ? $fields['billing_email'] : '',
'phone' => isset($fields['billing_phone']) ? $fields['billing_phone'] : '',
'address' => isset($fields['billing_address_1']) ? $fields['billing_address_1'] : '',
];
// Skip if insufficient data
if (empty($order_data['email'])) {
return;
}
$prompt = sprintf(
'This is a checkout validation. Check if these details seem legitimate: email=%s, phone=%s, address=%s. Return only "valid" or "suspicious" without additional text.',
sanitize_email($order_data['email']),
sanitize_text_field($order_data['phone']),
sanitize_text_field($order_data['address'])
);
$result = wp_ai_client_prompt($prompt);
if (is_wp_error($result)) {
// Don't block checkout on AI errors
return;
}
$result->using_temperature(0.1); // Low temp for consistent classification
$response = $result->generate_text();
if (is_wp_error($response)) {
return;
}
if (strpos($response, 'suspicious') !== false) {
$errors->add('validation', __('Additional verification may be needed for this order. We will contact you if needed.', 'woocommerce'));
}
}
Copy-Paste Prompts
Use @playwright-skill to test WooCommerce checkout flow
Imported: Related Workflow Bundles
wordpress- WordPress developmentwordpress-theme-development- Theme developmentwordpress-plugin-development- Plugin developmentpayment-integration- Payment processing
Imported: Overview
Specialized workflow for building WooCommerce stores including setup, payment gateway integration, shipping configuration, custom product types, store optimization, and WordPress 7.0 enhancements.
Imported: WordPress 7.0 + WooCommerce Features
-
AI Integration
- Auto-generate product descriptions
- AI-powered customer service responses
- Product summary generation
- Marketing copy assistance
-
DataViews for Orders
- Modern order management interfaces
- Enhanced filtering and sorting
- Activity layout for order history
-
Real-Time Collaboration
- Collaborative order editing
- Team notes and communication
- Live inventory updates
-
Admin Refresh
- Consistent WooCommerce admin styling
- View transitions between screens
-
Abilities API
- AI-powered order processing
- Automated inventory management
- Smart shipping recommendations
Examples
Example 1: Ask for the upstream workflow directly
Use @wordpress-woocommerce-development to handle <task>. 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
Review @wordpress-woocommerce-development 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
Use @wordpress-woocommerce-development for <task>. 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
Review @wordpress-woocommerce-development 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-woocommerce-development, 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: WooCommerce + WordPress 7.0 AI Use Cases
-
Product Descriptions
- Auto-generate from product attributes
- Translate descriptions
- SEO optimization
-
Customer Service
- AI chatbot for common questions
- Order status lookup
- Return processing
-
Inventory Management
- Demand forecasting
- Low stock alerts
- Reorder recommendations
-
Marketing
- Personalized emails
- Product recommendations
- Abandoned cart recovery
-
Order Processing
- Fraud detection
- Shipping optimization
- Invoice generation
Imported: Quality Gates
- Products displaying correctly
- Checkout flow working
- Payments processing
- Shipping calculating
- Emails sending
- Mobile responsive
- AI features tested (WP 7.0)
- DataViews working (WP 7.0)
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.