umbraco-dynamic-root

Implement dynamic root origins and query steps for Umbraco content pickers.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It solves the problem of rigid Umbraco content picker starting points that cannot adapt to page context, editor workflow, or site structure.

Core Features & Use Cases

  • Dynamic Root Origins: configure pickers to start from context-derived nodes like the current page, site root, or a derived ancestor.
  • Dynamic Root Query Steps: define navigation rules from the chosen origin (e.g., nearest ancestor of a type, children, ancestors).
  • Backend Integration: map originAlias and queryStepAlias to C# implementations so the picker configuration resolves correctly at runtime.

Quick Start

Ask an AI to implement a dynamic root origin and query step for Umbraco by defining the required TypeScript manifests and the corresponding C# backend classes that resolve the picker origin and execute the query.

Frequently Asked Questions about umbraco-dynamic-root

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

FAQPage Schema
How do I make Umbraco content pickers start from the current page instead of a fixed node?

Umbraco dynamic root origins allow content pickers to start from context-derived nodes like the current page or site root instead of fixed nodes. You configure them via TypeScript manifests and map the originAlias to a C# backend implementation that resolves the starting node at runtime.

What are dynamic root query steps in Umbraco backoffice extensions?

Dynamic root query steps are navigation rules applied after selecting an origin in Umbraco content pickers, such as finding the nearest ancestor of a type or traversing children. They are defined via TypeScript manifests and executed by matching queryStepAlias implementations in C#.

How do I implement a custom dynamic root origin and query step in Umbraco?

You implement a custom dynamic root origin and query step by defining the required TypeScript manifest types for the backoffice and providing corresponding C# backend classes that resolve the picker origin and execute the query based on the current editing context.

Do I need C# backend classes for Umbraco dynamic root configurations?

Yes, C# backend classes are required for Umbraco dynamic root configurations to map the originAlias and queryStepAlias so the picker configuration resolves correctly and executes the context-aware navigation rules at runtime.

When should I use dynamic root origins instead of fixed content picker starting points in Umbraco?

Use dynamic root origins instead of fixed content picker starting points when editors need pickers to start and traverse content based on the current editing context, page context, or site structure rather than rigid, predefined nodes.