fm-e2e

Runs Playwright E2E gate tests on migrated pages with legacy dual-run parity checks.

1|Updated Feb 19, 2026
One-click install
npx skills add https://github.com/ohmyhotelco/hare-cc-plugins --skill fm-e2e-ohmyhotelco
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: fm-e2e
Source: https://github.com/ohmyhotelco/hare-cc-plugins/tree/main/frontend-migration-plugin/skills/fm-e2e
Command: npx skills add https://github.com/ohmyhotelco/hare-cc-plugins --skill fm-e2e-ohmyhotelco

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Verifying that a migrated page behaves identically to its legacy counterpart requires running end-to-end scenarios against both applications, which is error-prone to coordinate manually. This Skill acts as the functional gatekeeper between verification and route flip, ensuring no page goes live without passing E2E parity checks. ## Core Features & Use Cases - Playwright E2E Gate: Launches an e2e-test-runner sub-agent that realizes planned scenarios from the migration plan, including MSW-mocked and staging-gateway transactional flows. - Legacy Dual-Run Parity: Runs scenarios against both the legacy app and the migrated app to confirm behavior parity before any route flip. - Gate Evidence Accounting: Records tamper-aware evidence (commit SHA plus tree hash over watched paths) in tracker.json, detecting concurrent file changes during the run. - Use Case: After fm-verify marks a migrated hotel booking page as verified, run this gate to execute the planned E2E scenarios against both the legacy and new apps, then record a pass that unblocks the parity and route-flip stages. ## Quick Start Run the fm-e2e gate on the migrated checkout page with the pc app profile to execute its Playwright scenarios and record the gate result.

Frequently Asked Questions about fm-e2e

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run Playwright E2E tests on a migrated page?▼

Invoke the fm-e2e skill with the page name and app profile after the page reaches verified status. It launches an e2e-test-runner sub-agent that executes the scenarios defined in the migration plan's e2eScenarios against both legacy and migrated apps.

How to verify behavior parity between legacy and migrated apps?▼

The gate dual-runs each planned scenario against the legacy app and the migrated app, resolving each run's provenance side from the page's flip state. Transactional flows execute against staging payment gateways configured in stagingConfig.

Why does the E2E gate report not-run instead of pass?▼

A not-run result means a prerequisite was missing, such as an absent style-spec.json or unfilled stagingConfig.paymentGateways. The page stays at verified status; supply the missing prerequisite and re-run the gate rather than routing to a fix stage.

What happens if files change while the E2E gate is running?▼

The skill compares pre-run and post-run manifests over watched paths. Any difference not listed in the runner's filesChanged report means the tree moved during the run, so no pass is recorded and you must re-run the gate.

Can the E2E gate pass if the report narrows the test criteria?▼

No. The skill checks criteriaCompliance first, and any non-empty deviations entry is treated as a gate failure regardless of the top-level result, because the criteria bind the runner verbatim.