fm-progress

Renders a read-only migration progress dashboard from tracker.json with per-page gate status and next-step guidance.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? During a large legacy-to-modern frontend migration spanning multiple apps and pages, it is hard to know which pages are analyzed, generated, verified, or blocked without manually inspecting dozens of state files. This Skill reads the migration tracker and per-page reports to present a consolidated, read-only status dashboard. ## Core Features & Use Cases - Per-app and per-page status overview: Shows page counts by state across the migration state machine (analyzed through done, plus failed/fixing/escalated states) for each app (pc, mobile, hana). - Gate and staleness inspection: Displays verify/e2e/parity gate results per page and detects stale gate evidence by recomputing watch-path content hashes via the gate-tree-hash script. - Next-step guidance: Prints the exact next command for each in-flight page, including carve-outs for failed generations, in-flight flag flips, and cleared gate authorizations. - Use Case: A developer returning to a migration after a shared package change runs the dashboard to see which parity-passed pages now have stale evidence and which pages are blocked, without risking any state mutation. ## Quick Start Ask the assistant to show the current migration progress dashboard, optionally narrowed to a specific app or page.

Frequently Asked Questions about fm-progress

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

FAQPage Schema
How do I check the status of a frontend migration across multiple apps?▼

Run the progress dashboard to read tracker.json and see per-app page counts by migration status, plus per-page gate results for verify, e2e, and parity. You can narrow the view with an app name or a specific page.

How do I know which migration step to run next for a page?▼

The dashboard prints the exact next command for each in-flight page based on its status, such as fm-gen for planned pages or fm-verify for generated ones. It also handles special cases like failed generations, in-flight flag flips, and cleared gate authorizations.

Can a shared package change invalidate already-passed migration gates?▼

Yes. The dashboard recomputes watch-path content hashes for parity-passed pages and compares them against recorded gate evidence. Pages whose shared dependencies changed are flagged as stale so they can be re-verified before flipping.

Does checking migration progress modify any state or locks?▼

No. The dashboard is strictly read-only: it never acquires the migration lock and never mutates tracker.json or any report files. It only reads state and renders the view.

Why does a page show as unverifiable instead of fresh or stale?▼

A page is shown as unverifiable when it has no gate evidence, its record predates tree hashing, it lacks source paths on a given axis, or the hash script cannot run. It is never reported as fresh or stale in those cases.