ESAI MCP
CMS Upgrade Service · Partner documentation

The end-to-end upgrade workflow.

From the first read-only audit to a compiling CMS 13 codebase, showing exactly where ESAI MCP operates, where it stops, and what your team owns at each transition.

View the sample audit1 required human checkpoint

cms-upgrade-audit cms-upgrade-execute cms-upgrade-report

Support, any phase: cms-upgrade-status cms-upgrade-help

At a Glance

read-only → phased → manual
3
Partner-run skills
1
Human checkpoint
2
Support skills, any phase
Phase 1 · Audit & Scope Read-only
  1. 1

    Audit — read-only codebase scan.

→⏸ Resolve open questions
Phase 2 · Execution Phased
  1. 2

    Execute — the compilable CMS 13 codebase.

  2. 3

    Post-upgrade analysis — the gap report.

→◆ Human checkpoint
Phase 3 · Manual Completion Human-led
  1. 4

    Validate, resolve gaps, and deliver.

Phase 1 — Audit & Scope

1

Run the Audit

Point cms-upgrade-audit at the repository. It reads the CMS 12→13 profiles, auto-detects additional migration paths (Find→Graph, Opti ID, and Commerce when present), and produces a structured markdown audit. Findings are classified by severity, and anything that can't be settled from static analysis is flagged Requires Human Input (RHI). Nothing in the codebase changes.

cms-upgrade-auditRead-only
in: CMS 12 solution → out: audit .md (severity-tagged + RHI) · view sample →
Required action — resolve RHI before continuing

The audit flags anything a static scan can't settle. Before execution begins, decide per item: is it in scope, deferred, or escalated? Your Optimizely account team can help turn the audit into a scoped, estimated proposal if you need one.

Phase 2 — Execution

2

Run the Upgrade

cms-upgrade-execute uses the audit as its execution plan and works phase by phase on a feature branch: fatal blockers first, then package and framework updates, API migrations, and behavioral corrections — logging every change. This is the one skill that rewrites code; the primary deliverable is the upgraded, compilable CMS 13 (.NET 10) codebase.

cms-upgrade-executeDestructive · phased
in: audit + resolved RHI + feature branch → out: CMS 13 codebase + change log

Lanes run strictly in sequence, never in parallel: CMS 12→13, then Graph, then Opti ID, then Commerce 14→15 (only when Commerce is detected). Check progress anytime with cms-upgrade-status — it also fires automatically at every safe-stop point, so status stays current without anyone asking.

3

Run Post-Upgrade Analysis

cms-upgrade-report compares the original audit against the change log to identify what was fully resolved, partially addressed, deferred, or surfaced as unexpected complexity — the authoritative task list for Phase 3.

cms-upgrade-reportRead-only
in: original audit + change log → out: gap analysis / handoff .md

ESAI MCP's part is complete here — but the upgrade is not. Compilable is not the same as correct. It handles structural and mechanical migration reliably; it cannot reason about runtime behavior, domain intent, or business logic. The gap report from Step 3 is the task list for Phase 3.

Support & Status

available at any phase
cms-upgrade-statusRead-only

Regenerates a fresh, self-contained HTML progress dashboard on demand, inferring phase/step position from the Execute change log. Fires automatically at cms-upgrade-execute's own safe-stop points, so status stays current without anyone asking.

in: active Execute change log → out: branded HTML status dashboard
cms-upgrade-helpRead-only

The “I’m stuck” entry point for any phase. Triages against real, recurring pitfalls and hands off to cms-upgrade-status directly when there's an active Execute run to look at. Works on any model — no model is rated or gated — and is always available, even before a run is started.

in: your question or confusion → out: targeted guidance, or a handoff to cms-upgrade-status · can't help if the MCP connection itself is down

Phase 3 — Manual Completion

Deferred & RHI items

Anything flagged RHI or explicitly deferred was left untouched. Each needs a decision and implementation.

Business-logic correctness

Custom queries, complex conditionals, and domain behavior were migrated in shape, not intent — validate they behave correctly on CMS 13.

Regression & integration testing

Pattern-based migration can break subtle dependencies. Full regression testing is mandatory, not optional.

Find→Graph query fidelity

Migrated Graph queries may compile yet return different results. QA verifies output and relevance, not just compilation.