Page Object Model patterns for Playwright — when to use POM, how to structure page objects, and when fixtures or helpers are a better fit.
Install with the open skills CLI (global, non-interactive — available in every Claude Code session):
npx skills add zebbern/claude-code-guide --skill "playwright-pom" -g -a claude-code -yOr manually — clone and copy the skill directory (SKILL.md + companion files):
git clone --depth 1 https://github.com/zebbern/claude-code-guide /tmp/claude-code-guide && cp -r /tmp/claude-code-guide/skills/playwright/pom ~/.claude/skills/playwright-pomPart of the playwright-skill skill collection — installing the parent includes this skill.
This skill is a directory: SKILL.md is the entry point; the files below ship with it.
---
name: playwright-pom
description: Page Object Model patterns for Playwright — when to use POM, how to structure page objects, and when fixtures or helpers are a better fit.
---
# Playwright Page Object Model
> Structure your test code for maintainability — know when POM helps and when simpler patterns win.
**2 guides** covering Page Object Model implementation and the decision framework for choosing between POM, fixtures, and helpers.
## Guide Index
| Topic | Guide |
| -------------------------- | -------------------------------------------------------------- |
| Page Object Model patterns | [page-object-model.md](page-object-model.md) |
| POM vs fixtures vs helpers | [pom-vs-fixtures-vs-helpers.md](pom-vs-fixtures-vs-helpers.md) |
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
Use when implementing any feature or bugfix, before writing implementation code