fo-analyzeAnalyze the V2 implementation(s) of a screen that the spec reuses — prepare a checkout of the monorepo (at the frozen commit, or at the head of the baseline branch under delta tracking), start legacy-analyzer on the PC and mobile route bodies, and write <screenDir>/analysis.json with permalinked beh
fo-audit-codexRun an optional, advisory Codex audit of one stage's artifact for a screen (plan, gen, review, visual, e2e, contract, seo) through codex-auditor, recording the independent verdict and findings in docs/gates/<app>/<screen>/codex-audit.json. Use when a second opinion is wanted before approving a plan
fo-clean-codeStandalone code-quality audit of any path in the repo (a screen, a package module, a ui-kit folder) with quality-reviewer — the same eight dimensions fo-review uses, without a plan. Use for code the pipeline did not generate, or for a quick read before a PR.
fo-contractContract gate for one generated screen — checks it against the product repo's machine-checked rule lists (external URL contract, WebView contract, sensitive query keys, request conventions) and the telemetry events its spec names, one agent per list in parallel, and writes docs/gates/<app>/<screen>/
fo-cutoverMaintain and check the big-bang cutover ledger for an app — computed items (every screen's gates pass and are current, rule lists populated), list items (external URL and native app contract entries confirmed, frozen-monorepo hotfixes re-applied), manual items with owners and evidence (integrated QA
fo-debugDebug a failing test, gate or runtime error on a screen with the debugger agent — reproduce, one hypothesis at a time with evidence, fix the confirmed cause with a regression test, escalate after three refuted hypotheses. Use when fo-verify, fo-e2e or a dev run fails for a reason the evidence does n
fo-e2eE2E gate for one generated screen — realizes the plan's test scenarios (TS ids from the spec snapshot) as Playwright specs, runs them against the mock-first dev server through the harness, and writes docs/gates/<app>/<screen>/e2e.json with per-scenario results and trace paths. Use after fo-visual.
fo-extractExtract the shared-package candidates found by fo-analyze (framework-free logic still inside V2 route bodies) into packages/shared-* with TDD, one package-extractor per candidate in sequence, after the user confirms the candidate list and how PC/mobile divergence is reconciled. Use between fo-analyz
fo-figmaRecord a screen's Figma frames (state × viewport node ids) in docs/figma-manifest.json through the Figma MCP and export them to PNG with bin/fo-figma-export when FIGMA_TOKEN is set, so fo-plan can cite them and fo-visual can compare against them. Use before fo-plan on screens that have a design.
fo-fixApply approved finding clusters from the last fo-review (or a failed gate's report — verify, visual, e2e, contract, seo) to a generated screen through the fo-fix-run workflow, one review-fixer per cluster in sequence, then re-run fo-verify. Use after fo-review approves clusters or when a gate report
fo-genGenerate one screen from its approved implementation plan through the fo-gen-run workflow (foundation → api-tdd → component-tdd → page-tdd → integration, TDD with recorded evidence), resume a stopped run, or apply a delta plan to an existing screen. Use after fo-plan is approved; follow with fo-veri
fo-initInitialize frontend-ohmyhotel-plugin for the current repository — detect the app layout, write .claude/frontend-ohmyhotel-plugin.json, scaffold the product-rule files (docs/adr, docs/rules/*.json), the gate evidence tree and specs/MANIFEST.md, and point the repo CLAUDE.md at the rules. Run once per
fo-planPlan one screen of an app from its spec snapshot (+ Figma frames, legacy analysis, product rule lists) into implementation-plan.json and a draft <Screen>.spec.md, or — when a plan exists and the spec changed or the legacy analysis moved past it — produce delta-plan.json. Ends with the plan summary a
fo-progressShow an app's screen × gate matrix — spec version, plan state and open approvals, generation stages, each gate's result with staleness against the current tree hash, deferred review clusters — and the next command per screen; computed by fo-progress-report. Use any time to see where every screen sta
fo-reviewReview a generated screen with four reviewers in parallel (spec compliance, code quality, test quality, security) through the fo-review-run workflow, merge their findings into file clusters, write docs/gates/<app>/<screen>/review.json, and ask which clusters to fix. Use after fo-verify (or any faile
fo-securityStandalone client-side security audit of any path (screen, package, route modules, telemetry) with security-auditor — XSS sinks, token handling, secrets, sensitive query keys against the repo's rule list, open redirects, SSR exposure, headers. Read-only. Use before cutover on shared modules and on a
fo-seoSEO gate for one generated screen — checks head meta against the meta template, canonical and hreflang, sitemap/robots host rules, structured data and slug lists against the SEO spec snapshot (config.seo.specRef), one agent per aspect in parallel, and writes docs/gates/<app>/<screen>/seo.json. Use a
fo-sharedShared conventions for every frontend-ohmyhotel-plugin agent and skill — config lookup, state and evidence files, locks, reporting format. Preloaded into agents through their `skills:` frontmatter; not meant to be invoked by hand.
fo-spec-syncImport a planning-spec attachment (Jira zip or extracted folder) into specs/<screen>/ as an immutable snapshot, update specs/MANIFEST.md (ticket, version, status, sha256, content hash, date), and report which screens now have a plan older than their spec. Use when the planning team delivers a new or
fo-test-reviewStandalone test-quality audit of any test path (Vitest or Playwright) with test-reviewer — assertions, Testing Library usage, async, structure and anchors, coverage, timing, anti-patterns — without a plan. Use for tests the pipeline did not generate, or before accepting a test PR.
fo-verifyRun the technical gate for one generated screen — route typegen + tsc, the API package's own tsc/vitest for additions, eslint, the screen's vitest suite, the i18n key-coverage spec, and the e2e-layout check (every e2e/ file in the fixed tree, no tracked run output) — through the deterministic fo-ver
fo-visualVisual gate for one generated screen — captures every planned state at each configured viewport × language through a Playwright spec, checks breakage (overflow, console errors, broken images, clipped text, DS responsive boundary), compares captures with their Figma frames where frames exist, and wri