fm-fix

Repairs failed migration gates by auto-detecting fix mode and re-running verification.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When a legacy-to-modern page migration fails a verification, E2E, or parity gate, this Skill closes the loop: it detects which gate failed, applies targeted repairs through a migration-fixer agent, and re-runs the gate so the page can continue down the migration pipeline. ## Core Features & Use Cases - Automatic fix-mode detection: Reads the page status and failure reports (verify, e2e, parity) to select the correct repair mode, with manual override via --mode. - State-machine safety: Refuses to run on healthy, flipped, done, or flip-in-flight pages, and redirects gen-failed pages back to generation instead of masking the problem. - Full gate-chain invalidation: After a successful fix, clears stale gate evidence, route preparation, and cascade records so every downstream gate re-runs against the fixed code. - Use Case: A migrated hotel booking page fails its E2E gate. Run the fix command and the Skill locks the page, launches the migration-fixer agent on the e2e report, records the outcome in the tracker, and tells you the exact gate chain to re-run. ## Quick Start Ask the assistant to run fm-fix on the page that just failed its migration gate, for example by saying fix the failed migration gate for the checkout page on the pc app.

Frequently Asked Questions about fm-fix

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

FAQPage Schema
How do I fix a failed migration gate on a page?▼

Run fm-fix with the page name and optionally the app and mode flags. It detects the failing gate from the page status or the newest failure report, launches the migration-fixer agent, and re-runs the gate to confirm the repair.

How does fm-fix decide between verify, e2e, and parity fix modes?▼

The page status is the authority: verify-failed maps to verify-fix, e2e-failed to e2e-fix, and parity-failed to parity-fix. Report file modification times are only used to break ties or when the status is a re-entry state like fixing or escalated.

Can I run fm-fix on a page that is already flipped or done?▼

No. Flipped pages must go through fm-route --revert, and done pages require manual intervention because the legacy page has been deleted. Running a fix there would overwrite live routing state.

Why does fm-fix reset the page to generated instead of the passed gate?▼

Because the fix changed code, all gate evidence becomes stale since gate trees are content-keyed. The page returns to generated so verify, e2e, parity, and route preparation all re-run against the fixed code.

What happens when the fixer reports regenRequired?▼

The fixer stopped without changing code, so fm-fix restores the previous failed status, records regenRequiredAt, and directs you to re-run fm-gen with --force for a full regeneration.