All Skills
W
review
Test, Deploy & Monitor
Review code changes against project architecture, style, and conventions
Wreview
$
npx skills add woocommerce/woocommerce-android --skill reviewReview Changes
Review the current changes against the project's conventions and architecture rules.
Load the appropriate docs based on which code area is being reviewed:
- Store code:
@docs/store-compose.md,@docs/store-viewmodel-patterns.md,@docs/store-tracking-events.md,@docs/store-testing.md - POS code:
@docs/pos-architecture.md,@docs/pos-tracking-events.md,@docs/pos-testing.md - Shared:
@docs/coding-style.md
Steps
- Determine the diff to review. First check
git diff trunk...HEADfor branch changes (most common: pre-PR review). If empty, fall back togit diff --cachedfor staged changes, thengit difffor unstaged changes. - Determine if the code is POS or store. POS:
ui/woopos/,WooPos*prefix. Everything else: store management. Read the relevant docs above. - Read the changed files in full to understand context, not just the diff hunks.
- Check against each category below. Only report actual issues found — do not report categories with no issues.
Architecture
- POS: ViewModels extend
ViewModel(), use parent-child SharedFlow event bus, pure Compose, Compose Navigation - Store: ViewModels extend
ScopedViewModel, usetriggerEvent()/MultiLiveEvent, Compose inside Fragments, XML nav graphs - Both:
@HiltViewModel+@Inject constructor, data flows through repositories, ViewModels never access Room/network directly
Kotlin Style
- Max 120 character line length (test names excepted)
- No wildcard imports, no
FIXME(useTODO), no!!force unwraps - Constants:
UPPER_SNAKE_CASE, companion objects at bottom
Jetpack Compose
- Check against patterns in
docs/store-compose.md(store) ordocs/pos-architecture.md(POS)
Testing
- Store:
BaseUnitTest,testBlocking,captureValues, AssertJ - POS:
WooPosCoroutineTestRule,runTest,advanceUntilIdle, AssertJ
Analytics
- Store:
AnalyticsEventenum,AnalyticsTrackerWrapper - POS:
WooPosAnalyticsEventsealed class,WooPosAnalyticsTracker
Output Format
## Blockers
- [file:line] Description of blocking issue
## Suggestions
- [file:line] Description of improvement suggestion
## Positives
- Description of what was done well