mcpField
W
woocommerce-code-review

woocommerce-code-review

github.com/woocommerceTesting & quality10.6k1.8k installsUpdated today
Repository

About woocommerce-code-review

A code-review skill for checking WooCommerce changes against project conventions. It highlights backend PHP, frontend JS/TS, testing, and UI-copy violations, with a structured format for reporting findings.

Key features

  1. 01Backend PHP convention checks
  2. 02Frontend JS/TS architecture checks
  3. 03Test and documentation checks
  4. 04UI sentence-case checks
  5. 05Structured violation reports

Use cases

  1. 01Reviewing WooCommerce pull requests
  2. 02Finding PHP or test convention violations
  3. 03Checking UI copy and frontend imports

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/woocommerce/woocommerce --skill woocommerce-code-review

After installing, type/woocommerce-code-reviewin Claude Code to confirm it loaded.

Details

From the project README

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)
  • ❌ Using new for DI-managed classes - Classes in src/ must use $container->get() (dependency-injection.md)
  • ❌ Classes outside src/Internal/ - Default location unless explicitly public (file-entities.md)

Naming & Conventions:

  • ❌ camelCase naming - Must use snake_case for methods/variables/hooks (code-entities.md)
  • ❌ Yoda condition violations - Must follow WordPress Coding Standards (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)

Documentation:

  • ❌ Missing @since annotations - Required for public/protected methods and hooks (code-entities.md)
  • ❌ Missing docblocks - Required for all hooks and methods (code-entities.md)
  • ❌ Verbose docblocks - Keep concise, one line is ideal (code-entities.md)

Data Integrity:

  • ❌ Missing validation - Must verify state before deletion/modification (data-integrity.md)

Testing:

  • ❌ Using $instance in tests - Must use $sut variable name (unit-tests.md)
  • ❌ Missing @testdox - Required in test method docblocks (unit-tests.md)
  • ❌ Test file naming - Must follow convention for includes/ vs src/ (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)
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)
    • 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:

❌ [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

Comments

Markdown supported