event4u-app/agent-config

playwright-architect

Use when shaping a Playwright suite — locator strategy, Page Object boundaries, fixture composition, flake-prevention architecture, CI-vs-local split — even on 'design our E2E tests'.

96Collecting
See how to use itView GitHub source
npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/playwright-architect"

Quick start

Start using it in three steps

Install it or open the source, trigger it with a clear task, then follow the source workflow.

1

Install the Skill

npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/playwright-architect"
2

Describe the task

Use playwright-architect to help me with: [describe your task]. Before you begin, tell me what input you need, the steps you will follow, and the expected output.

3

Follow the workflow

No structured workflow was detected; follow the original SKILL.md below.

Continue to the workflow

Direct answers

Answers to review before you install

What is playwright-architect?

Use when shaping a Playwright suite — locator strategy, Page Object boundaries, fixture composition, flake-prevention architecture, CI-vs-local split — even on 'design our E2E tests'.

Who should use playwright-architect?

It is relevant to workflows involving Testing, Engineering, Design.

How do you install playwright-architect?

SkillSignal detected this source-specific command: npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/playwright-architect". Inspect the repository and command before running it.

Which Agent platforms does it support?

The upstream source does not declare a dedicated Agent platform.

What permissions or risks should you review?

No obvious permission action was detected by the static rules. This is not proof that the Skill is safe.

What are the current evidence limits?

This page combines upstream documentation with deterministic repository, quality, and static-risk signals. It is not described as a manual test or security review.

SkillSignal brief

Decide whether it fits your work first

Use when shaping a Playwright suite — locator strategy, Page Object boundaries, fixture composition, flake-prevention architecture, CI-vs-local split — even on 'design our E2E tests'.

Useful in these contexts

Not yet included in a workflow collection

Core capabilities

TestingEngineeringDesign

Distilled from the source

Understand this Skill in one minute

About 4 min · 6 sections

When it is worth using

  1. A new Playwright suite is starting and the directory shape, fixture

  2. An existing suite has flake 2 % runs, slow CI ( 10 min), or a

  3. A second app / surface (admin, mobile-web, embedded widget) needs

  4. German triggers: "Playwright Setup planen", "Page Objects schneiden",

Examples and typical usage

  1. Locator + Page Object plan — chosen strategy, PO list with surface

  2. Fixture composition — base / auth / domain layer with what each

  3. Parallelism + flake budget — worker count, shard strategy,

Repository stars
7
Repository forks
1
Quality
96/100
Source repository last pushed

Quality breakdown

Based on traceable docs and repository signals; stars are not treated as quality.

96/100
Documentation26/30
Specificity25/25
Maintenance20/20
Trust signals25/25

Compare before choosing

Related Agent Skills and source variants

These links are selected from shared tasks, functions, stacks, platforms, and same-name variants. Compare the source owner, documentation, permissions, and maintenance signals.

View original Skill.mdThis page is parsed directly from the repository SKILL.md without editorial rewriting. Collected: Jul 28, 2026 · about 4 min

playwright-architect

Architectural lens above the existing tactical playwright-testing. Decides locator philosophy, Page Object boundaries, fixture composition, and the CI-vs-local split before the first test is written. The playwright-testing skill handles concrete assertions, selectors, and visual-regression mechanics once the design is locked.

When to use

  • A new Playwright suite is starting and the directory shape, fixture hierarchy, and locator strategy are unsettled.
  • An existing suite has flake > 2 % runs, slow CI (> 10 min), or a god-test file mixing unrelated journeys.
  • A second app / surface (admin, mobile-web, embedded widget) needs to share fixtures with the main suite.
  • German triggers: "Playwright Setup planen", "Page Objects schneiden", "warum flaket der Test?".

Do NOT use when:

  • A single test fails and the question is the assertion or selector — route to playwright-testing.
  • The platform is mobile-native (Detox, Appium, Maestro) — route to mobile-e2e-strategy.
  • Unit / component tests are the question — Playwright is the wrong tool; route to the stack-specific testing skill.

Procedure

1. Inspect the suite, pick the locator philosophy

Review existing tests for current locator patterns; the established strategy wins unless it is the "last resort" tier. One philosophy per suite, written into CONTRIBUTING-tests.md:

StrategyWhen
getByRole + accessible nameDefault — couples tests to the user contract, not markup
data-testidLegacy markup, third-party widgets, hash-suffixed CSS modules
Text content (getByText)Static marketing pages, copy-stable surfaces
CSS / XPathLast resort — every use is a debt entry

Mixing strategies inside one test file is the smell — pick one and fall back only with comment.

2. Cut Page Object boundaries

A Page Object owns: (a) one URL or one logical surface (modal, drawer), (b) the locators on that surface, (c) the actions a user can perform there. It does NOT own assertions about other surfaces or test setup. Boundary rule: if two POs need to call each other, introduce a flow object (SignupFlow) above them.

3. Compose fixtures, don't inherit

Playwright fixtures stack via test.extend(). Three layers max:

LayerOwns
BaseBrowser, context, storageState, network mocks
AuthLogged-in user states (admin, member, guest)
DomainPre-seeded entities for a journey

Deeper stacks become un-debuggable; flatten by extracting helpers.

4. Plan flake prevention before the first failure

Bake in: auto-retry on network idle, soft assertions for parallel checks, deterministic seed data, time freezing (page.clock), explicit expect.poll() for eventual consistency, no waitForTimeout ever. If a test needs sleep, the fixture is wrong.

5. Split CI vs local execution

Local: headed browser, single worker, slowMo enabled, video off, trace-on-retry. CI: headless, sharded workers (2–8), trace-on-first-retry, video-on-failure, Github reporter + HTML. Document both in playwright.config.ts; do not let local config leak into CI.

Output format

Return:

  1. Locator + Page Object plan — chosen strategy, PO list with surface and action count, flow objects when ≥ 2 POs collaborate.
  2. Fixture composition — base / auth / domain layer with what each layer sets up.
  3. Parallelism + flake budget — worker count, shard strategy, isolation, target flake ceiling, CI-vs-local config delta.

Concrete shape:

Suite:            <name>
Locator strategy: <getByRole | data-testid | text | mixed (justified)>
Page Objects:     <list with surface owned + action count>
Flow objects:     <list — only when ≥ 2 POs collaborate>
Fixture layers:   base / auth / domain — each with what it sets up
Parallelism:      <workers, shards, isolation strategy>
Flake budget:     ≤ 1 % failure on green main; alert threshold
CI-vs-local:      <key config delta, one bullet each>

Gotcha

  • page.waitForSelector is almost always wrong — expect(locator).toBeVisible() has built-in retry. The former teaches devs to think "wait, then assert" instead of "auto-retry assertion".
  • Storage-state reuse across workers requires cookie domain isolation; the same auth.json across two browsers in parallel shares a session and corrupts state.
  • Visual regression in CI requires identical fonts and renderer — pin the Docker image, never run visual tests against host Chromium.
  • One Page Object per URL looks clean but creates god-objects for SPA routes; cut by user surface, not by pathname.

Do NOT

  • Do NOT cite this skill alongside playwright-testing in the same step — they sit at different tiers; pick one per phase.
  • Do NOT design suites for component tests with this skill — Playwright Component Testing has different fixture rules; route there instead.
  • Do NOT promise zero flake; budget for ≤ 1 % and instrument the metric. Zero is a goal that disguises silent retries.
  • Do NOT push the architecture into the tracker as code AC — output is a design note for refinement, not implementation steps.
Skill path
src/skills/playwright-architect/SKILL.md
Commit SHA
0adf49a8ae84
Repository license
MIT
Data collected