umbraco-controllers

Create and manage Umbraco backoffice controllers with code examples.

4|Updated Mar 6, 2026
One-click install
npx skills add https://github.com/albanist/umbraco_CLI --skill umbraco-controllers-albanist
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: umbraco-controllers
Source: https://github.com/albanist/umbraco_CLI/tree/main/skills/foundation/umbraco-controllers
Command: npx skills add https://github.com/albanist/umbraco_CLI --skill umbraco-controllers-albanist

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps developers understand, create, and manage controllers within the Umbraco backoffice, enabling better organization and reuse of logic in custom Umbraco extensions.

Core Features & Use Cases

  • Controller Fundamentals: Explains the concept of controllers, their lifecycle, and composition.
  • Code Generation: Provides examples for creating basic, timer-based, and context-aware controllers.
  • Use Case: Implement a custom controller to manage data fetching and state for a new Umbraco backoffice view, ensuring proper cleanup of resources.

Quick Start

Fetch the latest documentation on Umbraco controllers and then generate a basic custom controller extending UmbControllerBase.

Frequently Asked Questions about umbraco-controllers

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

FAQPage Schema
How do I create a custom controller in the Umbraco backoffice?

To create a custom Umbraco backoffice controller, you extend UmbControllerBase. This provides foundational lifecycle management, composition, and context access for reusable logic within your extensions.

What is the lifecycle of an Umbraco backoffice controller?

An Umbraco backoffice controller lifecycle covers initialization, composition, and context access. Proper lifecycle management ensures correct API calls and side-effect handling during the controller's active scope.

How do I manage side effects and resource cleanup in Umbraco controllers?

You manage side effects and resource cleanup in Umbraco controllers by utilizing the built-in controller lifecycle. This ensures proper disposal of timer-based or context-aware resources when extensions unload.

Can I generate context-aware controllers for Umbraco extensions?

Yes, you can generate context-aware controllers for Umbraco extensions. These controllers access specific backoffice contexts to manage data fetching and state while maintaining proper lifecycle composition.

Does this approach support TypeScript for Umbraco web components?

Yes, this approach supports TypeScript for developing Umbraco web components. It provides typed foundational knowledge and code examples for creating and managing backoffice controllers.

What is the best way to structure API calls in Umbraco backoffice controllers?

The best way to structure API calls in Umbraco backoffice controllers is by encapsulating them within context-aware controllers. This facilitates reusable logic, proper state management, and correct side-effect handling.