What problem does it solve? Playwright test suites become unmaintainable when locators and interactions are duplicated across spec files. This Skill provides structured guidance on organizing test code with Page Object Model classes, component objects, custom fixtures, and helper functions so tests stay readable as the suite grows. ## Core Features & Use Cases - Page Object Patterns: Eight concrete patterns including basic POM classes, component objects scoped to a Locator root, navigation chains returning destination page objects, factory functions, getter-based dynamic locators, and static factory methods for async initialization. - Decision Framework: A flowchart and comparison table for choosing between page objects, custom fixtures, and helper functions based on interaction count, reuse across files, and lifecycle needs. - Anti-Pattern Catalog: Identifies god objects, assertions inside page objects, deep inheritance chains, stateful page objects, and oversized fixtures with concrete fixes. - Use Case: When refactoring a growing Playwright suite where the same login flow is copy-pasted across 10 spec files, use this Skill to extract a LoginPage class, wrap it in a test.extend fixture, and compose shared UI like navbars into component objects. ## Quick Start Ask the agent to refactor your Playwright login tests into a page object with fixture injection following the POM patterns in this Skill.