Telemetry & Logging
[!IMPORTANT] All usage of this skill must be logged via the Skill Dispatcher to ensure audit logs and wallboard analytics are accurate:
./log-dispatch.cmd --skill <skill_name> --intent <intent> --model <model_name> --reason <reason>(or./log-dispatch.shon Linux)
Cypress Page Object Model
Use this skill when the main decision is architectural rather than tactical.
Decision Model
- Use fixtures and setup hooks for setup, teardown, seeded state, and reusable inputs.
- Use page objects to encapsulate repeated or complex UI behavior.
- Use helpers for stateless utilities such as data generation, formatting, or pure transformations.
- Use custom commands or
cy.task()only when they provide a real integration benefit rather than becoming a dumping ground for page behavior.
Practical Rules
- Reach for a page object when the same UI behavior appears in multiple tests or when the flow is complex enough to deserve a named abstraction.
- Keep assertions close to the test unless a reusable page-level assertion adds clarity.
- Avoid helpers that silently own browser state.
- Keep support code organized with the tests it serves.
Guide Index
| Need | Guide |
|---|---|
| Page object design | page-object-model.md |
| POM vs fixture vs helper tradeoffs | pom-vs-fixtures-vs-helpers.md |
| Broader architecture decisions | ../core/test-architecture.md |