What problem does it solve?
When Management API controllers, endpoints, or view models change in Umbraco CMS, the committed OpenApi.json and the generated backoffice TypeScript client silently go stale. This Skill automates the byte-for-byte refresh of the OpenAPI spec from a running backend and keeps the generated hey-api client in sync, replacing the old manual copy-paste routine.
Core Features & Use Cases
- Byte-for-byte spec refresh: Fetches the OpenAPI document from the running backend's
/umbraco/openapi/management.json endpoint and writes it directly to src/Umbraco.Cms.Api.Management/OpenApi.json via npm run generate:openapi.
- Backend lifecycle management: Probes port 44339, starts a Development backend if none is running, and cleanly stops only the instance it started.
- Client synchronization check: Regenerates the backoffice hey-api client with
npm run generate:server-api and reads the git diff to detect drift between the committed spec and generated types.
- Use Case: After adding a new Management API endpoint, ask the assistant to sync the OpenAPI spec — it restarts or reuses the backend, fetches the updated document, shows the diff, and regenerates the client types so your frontend code compiles against the new API.
Quick Start
Ask the assistant to sync the OpenAPI spec and regenerate the backoffice API client after changing any Management API endpoints.