What problem does it solve? Widget work in the Go CMS spans typed declarations, template layout slots, resource bindings, admin editing, and public rendering, and mixing these layers causes broken catalogs, invalid placements, and leaked internals. This Skill keeps each concern separate so widget changes stay consistent across backend, admin, and public output. ## Core Features & Use Cases - Typed widget declarations: Use typed widget/view objects in project, profile, and template code instead of raw codes or Kind discriminators. - Layout and persistence rules: Enforce body/sidebar areas, single resource-widget slots, stable binding IDs, and transactional reorder behavior. - Admin and public rendering: Drive editor metadata from the backend and render body/sidebar separately with per-widget failure isolation. - Use Case: When adding a new module widget with a custom view, follow the Skill to declare it typed, expose it through the module runtime, validate admin mutations, and render it publicly without touching global registries. ## Quick Start Ask the assistant to add or modify a Go CMS widget, its view, placement, or admin editing behavior following the widget architecture rules.