SECURITY REVIEW
Not yet assessed
Review the original instructions and requested permissions before installing.
No security review is available for this catalog entry yet.
Review WooCommerce changes for coding standards compliance and code quality.
Review WooCommerce code changes for coding standards compliance. Use when reviewing code locally, performing automated PR reviews, or checking code quality.
Review the original instructions and requested permissions before installing.
No security review is available for this catalog entry yet.
How clearly the skill guides your agent, how complete its workflow is, and how you can check the outcome.
No quality assessment is available for this catalog entry yet.
Original instructions from the publisher’s SKILL.md
# WooCommerce Code Review
Review code changes against WooCommerce coding standards and conventions.
## Critical Violations to Flag
### Backend PHP Code
Consult the `woocommerce-backend-dev` skill for detailed standards. Using these standards as guidance, flag these violations and other similar ones:
**Architecture & Structure:**
- ❌ **Standalone functions** - Must use class methods ([file-entities.md](../woocommerce-backend-dev/file-entities.md))
- ❌ **Using `new` for DI-managed classes** - Classes in `src/` must use `$container->get()` ([dependency-injection.md](../woocommerce-backend-dev/dependency-injection.md))
- ❌ **Classes outside `src/Internal/`** - Default location unless explicitly public ([file-entities.md](../woocommerce-backend-dev/file-entities.md))
**Naming & Conventions:**
- ❌ **camelCase naming** - Must use snake_case for methods/variables/hooks ([code-entities.md](../woocommerce-backend-dev/code-entities.md))
- ❌ **Yoda condition violations** - Must follow WordPress Coding Standards ([coding-conventions.md](../woocommerce-backend-dev/coding-conventions.md))
- ❌ **Magic strings with an existing enum constant** - New code comparing or assigning enumerated values (order statuses, product types, ...) must use the `Automattic\WooCommerce\Enums` constants, not raw literals — except in code that can run during install/upgrade ([coding-conventions.md](../woocommerce-backend-dev/coding-conventions.md))
**Documentation:**
- ❌ **Missing `@since` annotations** - Required for public/protected methods and hooks ([code-entities.md](../woocommerce-backend-dev/code-entities.md))
- ❌ **Missing docblocks** - Required for all hooks and methods ([code-entities.md](../woocommerce-backend-dev/code-entities.md))
- ❌ **Verbose docblocks** - Keep concise, one line is ideal ([code-entities.md](../woocommerce-backend-dev/code-entities.md))
**Data Integrity:**
- ❌ **Missing validation** - Must verify state before deletion/modification ([data-integrity.md](../woocommerce-backend-dev/data-integrity.md))
**Testing:**
- ❌ **Using `$instance` in tests** - Must use `$sut` variable name ([unit-tests.md](../woocommerce-backend-dev/unit-tests.md))
- ❌ **Missing `@testdox`** - Required in test method docblocks ([unit-tests.md](../woocommerce-backend-dev/unit-tests.md))
- ❌ **Test file naming** - Must follow convention for `includes/` vs `src/` ([unit-tests.md](../woocommerce-backend-dev/unit-tests.md))
- ❌ **Cleanup that duplicates the base lifecycle** - Identify the test's base class before requesting post-assertion fixture deletion or state restoration; flag cleanup already covered by its transaction or teardown ([unit-tests.md](../woocommerce-backend-dev/unit-tests.md#fixture-lifecycle-and-cleanup))
### Frontend JS/TS Code
**Architecture & Structure:**
- ❌ **Barrel self-import (circular dependency)** — a JS/TS file anywhere in the monorepo importing from its own package barrel (`from '../'`, `from '../../'`, `from '../index'`, `from '../../index'`) when that barrel re-exports it. Relevant to SWC TDZ / esbuild tree-shaking / tsc incremental builds. Fix: use the direct module path instead.
### UI Text & Copy
Consult the `woocommerce-copy-guidelines` skill. Flag:
- ❌ **Title Case in UI** - Must use sentence case ([sentence-case.md](../woocommerce-copy-guidelines/sentence-case.md))
- Wrong: "Save Changes", "Order Details", "Payment Options"
- Correct: "Save changes", "Order details", "Payment options"
- Exceptions: Proper nouns (WooPayments), acronyms (API), brand names
## Review Approach
1. **Scan for critical violations** listed above
2. **Cite specific skill files** when flagging issues
3. **Provide correct examples** from the skill documentation
4. **Group related issues** for clarity
5. **Be constructive** - explain why the standard exists when relevant
## Output Format
For each violation found:
```text
❌ [Issue Type]: [Specific problem]
Location: [File path and line number]
Standard: [Link to relevant skill file]
Fix: [Brief explanation or example]
```
## Notes
- All detailed standards are in the `woocommerce-backend-dev`, `woocommerce-dev-cycle`, and `woocommerce-copy-guidelines` skills
- Consult those skills for complete context and examples
- When in doubt, refer to the specific skill documentation linked above