
woocommerce-backend-dev
PopulerAdd or modify WooCommerce backend PHP code following project conventions. Use when creating new classes, methods, hooks, or modifying existing backend code. **MUST be invoked before writing any PHP unit tests.**
Add or modify WooCommerce backend PHP code following project conventions. Use when creating new classes, methods, hooks, or modifying existing backend code. **MUST be invoked before writing any PHP unit tests.**
WooCommerce Backend Development
This skill provides guidance for developing WooCommerce backend PHP code according to project standards and conventions.
When to Use This Skill
ALWAYS invoke this skill before:
- Writing new PHP unit tests (
*Test.phpfiles) - Creating new PHP classes
- Modifying existing backend PHP code
- Adding hooks or filters
Instructions
Follow WooCommerce project conventions when adding or modifying backend PHP code:
- Creating new code structures: See file-entities.md for conventions on creating classes and organizing files (but for new unit test files see unit-tests.md).
- Naming conventions: See code-entities.md for naming methods, variables, and parameters
- Coding style: See coding-conventions.md for general coding standards and best practices
- Type annotations: See type-annotations.md for PHPStan-aware PHPDoc annotations
- Working with hooks: See hooks.md for hook callback conventions and documentation
- Dependency injection: See dependency-injection.md for DI container usage
- Data integrity: See data-integrity.md for ensuring data integrity when performing CRUD operations
- Writing tests: See unit-tests.md for unit testing conventions
Key Principles
- Always follow WordPress Coding Standards
- Use class methods instead of standalone functions
- Place new internal classes in
src/Internal/by default - Use PSR-4 autoloading with
Automattic\WooCommercenamespace - Write comprehensive unit tests for new functionality
- Run linting and tests before committing changes
Version Information
To determine the next WooCommerce version number for @since annotations:
- Read the
$versionproperty inincludes/class-woocommerce.phpon the trunk branch - Remove the
-devsuffix if present - Example: If trunk shows
10.4.0-dev, use@since 10.4.0 - Note: When reviewing PRs against trunk, the version in trunk is correct even if it seems "future" relative to released versions
You Might Also Like
Related Skills

coding-agent
Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.
openclaw
add-uint-support
Add unsigned integer (uint) type support to PyTorch operators by updating AT_DISPATCH macros. Use when adding support for uint16, uint32, uint64 types to operators, kernels, or when user mentions enabling unsigned types, barebones unsigned types, or uint support.
pytorch
at-dispatch-v2
Convert PyTorch AT_DISPATCH macros to AT_DISPATCH_V2 format in ATen C++ code. Use when porting AT_DISPATCH_ALL_TYPES_AND*, AT_DISPATCH_FLOATING_TYPES*, or other dispatch macros to the new v2 API. For ATen kernel files, CUDA kernels, and native operator implementations.
pytorch
skill-writer
Guide users through creating Agent Skills for Claude Code. Use when the user wants to create, write, author, or design a new Skill, or needs help with SKILL.md files, frontmatter, or skill structure.
pytorch
implementing-jsc-classes-cpp
Implements JavaScript classes in C++ using JavaScriptCore. Use when creating new JS classes with C++ bindings, prototypes, or constructors.
oven-sh
implementing-jsc-classes-zig
Creates JavaScript classes using Bun's Zig bindings generator (.classes.ts). Use when implementing new JS APIs in Zig with JSC integration.
oven-sh