# E2E Knowledge Index

Knowledge guides consumed by the Humand Playwright skills.

## Writing Tests

- `writing-tests/locators.md` - locator priority and fallback strategy
- `writing-tests/assertions.md` - waiting and assertion patterns
- `writing-tests/fixtures.md` - fixture shape and auth setup conventions
- `writing-tests/test-organization.md` - naming, tags, annotations, and file layout
- `writing-tests/forms.md` - forms and multi-step wizard guidance

## Patterns

- `patterns/page-objects.md` - page object structure and responsibility split
- `patterns/authentication.md` - storageState flow and local auth contract
- `patterns/api-interception.md` - limited interception guidance for E2E
- `patterns/react-patterns.md` - React and MUI interaction patterns
- `patterns/data-management.md` - data isolation and cleanup strategy

## Reliability

- `reliability/flaky-tests.md` - ownership and quarantine model
- `reliability/debugging.md` - failure triage workflow
- `reliability/common-pitfalls.md` - recurring anti-patterns and durable fixes

## Humand Source Of Truth

- `humand/conventions.md` - canonical naming, tags, annotations, and stability policy
- `humand/configuration.md` - current Playwright contract and environment assumptions

## Recommended Flow

1. Inspect the local E2E contract in `e2e/package.json`, `e2e/playwright.config.ts`, `e2e/tests/auth.setup.ts`, and `e2e/fixtures/base.fixture.ts`.
2. Run `npm --prefix e2e run install:browsers` when needed.
3. Run `npm --prefix e2e run setup:auth`.
4. Use `/e2e-plan`.
5. Use `/e2e-page-object` if the flow needs a new or updated POM.
6. Use `/e2e-generate`.
7. Run the narrowest useful Playwright scope through the local `e2e/package.json` contract.
8. Use `/e2e-heal` only after reproducing a real failure.


## Skill-To-Knowledge Map

### `/e2e-plan`

- Required:
  - `writing-tests/test-organization.md`
  - `humand/conventions.md`
  - `humand/configuration.md`
- Conditional:
  - `writing-tests/forms.md`
  - `patterns/page-objects.md`
  - `patterns/react-patterns.md`
  - `patterns/authentication.md`

### `/e2e-generate`

- Required:
  - `patterns/page-objects.md`
  - `writing-tests/locators.md`
  - `writing-tests/assertions.md`
  - `writing-tests/fixtures.md`
  - `writing-tests/test-organization.md`
  - `humand/conventions.md`
  - `humand/configuration.md`
- Conditional:
  - `patterns/react-patterns.md`
  - `patterns/data-management.md`
  - `patterns/api-interception.md`
  - `patterns/authentication.md`
  - `writing-tests/forms.md`

### `/e2e-heal`

- Required:
  - `reliability/debugging.md`
  - `reliability/flaky-tests.md`
  - `reliability/common-pitfalls.md`
  - `patterns/page-objects.md`
  - `writing-tests/locators.md`
  - `writing-tests/assertions.md`
  - `writing-tests/fixtures.md`
  - `humand/conventions.md`
  - `humand/configuration.md`
- Conditional:
  - `patterns/react-patterns.md`
  - `patterns/data-management.md`
  - `patterns/api-interception.md`
  - `patterns/authentication.md`

### `/e2e-page-object`

- Required:
  - `patterns/page-objects.md`
  - `writing-tests/locators.md`
  - `writing-tests/fixtures.md`
  - `humand/conventions.md`
- Conditional:
  - `patterns/react-patterns.md`
  - `writing-tests/forms.md`
  - `patterns/authentication.md`
