All Skills

Review code changes against WooCommerce iOS standards

W
$npx skills add woocommerce/woocommerce-ios --skill review

Review the current changes for compliance with WooCommerce iOS conventions.

  1. Get the changes to review:
git diff trunk...HEAD

If no diff against trunk, fall back to staged changes: git diff --cached

  1. Check each modified file against these criteria:

Architecture (see .claude/rules/architecture.md):

  • UI code does not import Networking or Storage directly
  • New actions follow the Yosemite dispatch pattern
  • Dependencies injected via constructor with protocol types
  • Coordinators for navigation, ViewModels for state

Swift Style (see .claude/rules/swift-style.md):

  • No force unwraps or force casts
  • Error handling uses do-catch, not try?
  • Line length under 163 characters
  • No parentheses around conditionals

Localization (see .claude/rules/localization.md):

  • NSLocalizedString uses reverse-DNS keys with value: and comment:
  • No LocalizedStringKey
  • No string interpolation in localized strings
  • Positional placeholders (%1$@)
  • Strings grouped in enum Localization { }

Analytics (see .claude/rules/analytics.md):

  • New events added to WooAnalyticsStat
  • Properties use WooAnalyticsEvent factory pattern
  • Analytics dependency injected

Testing (see .claude/rules/testing.md):

  • New code has corresponding tests
  • Tests use snake_case naming
  • Given/When/Then structure
  • Hand-written mocks with Mock prefix
  1. Report findings organized by severity:
    • Blockers: Must be fixed before merge
    • Suggestions: Recommended improvements
    • Positives: Things done well