umbraco-state-management

Implement reactive state sharing across Umbraco backoffice components with observable streams.

1|Updated May 21, 2026
One-click install
npx skills add https://github.com/1k-off/umbraco-observability-playground --skill umbraco-state-management-1k-off
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: umbraco-state-management
Source: https://github.com/1k-off/umbraco-observability-playground/tree/main/.agents/skills/umbraco-state-management
Command: npx skills add https://github.com/1k-off/umbraco-observability-playground --skill umbraco-state-management-1k-off

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Umbraco backoffice components often need to share reactive data across contexts and elements without tight coupling, so updates stay in sync as state changes.

Core Features & Use Cases

  • Observable-backed State Containers: Create Umbraco States and derive Observables so multiple observers react immediately and on changes.
  • Context-driven Communication: Store mutable state privately (e.g., in a context) and expose readonly observables for elements to consume.
  • Derived Observables (Observable Parts): Compute and observe only the relevant slices of an array/object state to reduce unnecessary updates.
  • Use Case: Implement a backoffice “live counter” UI where a context updates a number state and a lit element automatically re-renders when the observable emits.

Quick Start

Fetch the latest Umbraco States docs, then implement an UmbStringState (or other state type) inside a context and expose its asObservable output to an element that consumes the context and observes updates.

Frequently Asked Questions about umbraco-state-management

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

FAQPage Schema
How do I share reactive state across Umbraco backoffice components without tight coupling?

To share reactive state across Umbraco backoffice components without tight coupling, implement Umbraco States with observable streams and expose readonly observables from private context properties for elements to consume.

How do I create an observable state container in an Umbraco context?

Create an observable state container in an Umbraco context by initializing an UmbStringState or other state type, then wiring observe flows using the Umb*State.asObservable pattern to emit updates to consuming elements.

What are derived observable parts in Umbraco state management?

Derived observable parts in Umbraco state management compute and observe only the relevant slices of an array or object state, reducing unnecessary UI updates by limiting reactivity to specific data changes.

Does this approach to Umbraco state management work with Lit elements?

Yes, this approach to Umbraco state management works with Lit elements by wiring context-to-element communication, allowing elements to consume context observables and automatically re-render when the observable emits.

What Umbraco state types are available for managing backoffice data?

Available Umbraco state types for managing backoffice data include string, number, boolean, array, object, and class states, allowing you to select the correct state type based on your reactive data structure.

Why do I need to fetch the latest Umbraco documentation before implementing state management?

You need to fetch the latest Umbraco documentation before implementing state management to ensure you select the correct state type and apply the current Umb*State.asObservable patterns for wiring observe flows accurately.