> For the complete documentation index, see [llms.txt](https://docs.umbraco.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.umbraco.com/umbraco-in-ai/agent-skills/backoffice-skills/backoffice-skills.md).

# Overview

65 skills covering every Umbraco backoffice extension type. This is the core of the skills marketplace.

## The Mental Model

Backoffice customizations are **combinations of extension types** working together:

* A "custom admin area" = Section + Menu + Dashboard
* A "data management tool" = Section + Menu + Workspace
* A "hierarchical browser" = Section + Menu + Tree + Workspace

No single extension type does everything. Understanding how they combine is key to building the right thing.

## The Backbone: `umbraco-backoffice`

The most important skill. It provides:

* **Complete Extension Map:** Visual diagram showing where all extension types appear in the backoffice UI.
* **Working Blueprints:** Copy-and-adapt examples for common patterns.
* **Sub-Skill Reference:** Links to all other skills organized by category.

Use this skill when starting a new backoffice project, understanding how extension types connect, or finding the right skill for a specific UI location.

```bash
/umbraco-backoffice
```

## Skills by Category

### Foundation

Core architectural concepts used across all extensions:

| Skill                        | Description                                         |
| ---------------------------- | --------------------------------------------------- |
| `umbraco-context-api`        | Provider-consumer pattern for data sharing.         |
| `umbraco-repository-pattern` | Data access layer abstraction.                      |
| `umbraco-extension-registry` | Dynamic extension registration.                     |
| `umbraco-conditions`         | Control where extensions appear.                    |
| `umbraco-state-management`   | Reactive UI with @state.                            |
| `umbraco-localization`       | Multi-language support.                             |
| `umbraco-routing`            | URL structure and navigation.                       |
| `umbraco-notifications`      | Toast messages and events.                          |
| `umbraco-umbraco-element`    | Base class for components.                          |
| `umbraco-controllers`        | C# API endpoints.                                   |
| `umbraco-sorter`             | Drag-and-drop sorting with UmbSorterController.     |
| `umbraco-manifest-picker`    | Pick registered extensions with umb-input-manifest. |
| `umbraco-validation-context` | Form validation with UmbValidationContext.          |

### Extension Types

UI extensions for the backoffice:

**Navigation & Sections**

* `umbraco-sections` — Top-level navigation
* `umbraco-menu` / `umbraco-menu-items` — Sidebar menus
* `umbraco-header-apps` — Header bar apps

**Content Areas**

* `umbraco-dashboard` — Welcome panels
* `umbraco-workspace` — Entity editing views
* `umbraco-tree` / `umbraco-tree-item` — Hierarchical navigation
* `umbraco-collection` / `umbraco-collection-view` / `umbraco-collection-action` — List/grid views

**Actions**

* `umbraco-entity-actions` — Context menu actions
* `umbraco-entity-bulk-actions` — Multi-select operations
* `umbraco-entity-create-option-action` — Create menu options
* `umbraco-current-user-action` — User profile actions

**UI Components**

* `umbraco-modals` — Dialogs and sidebars
* `umbraco-icons` — Custom icon sets
* `umbraco-theme` — Backoffice themes
* `umbraco-ufm-component` — Umbraco Flavored Markdown

**Search & Preview**

* `umbraco-search-provider` — Global search
* `umbraco-search-result-item` — Custom result rendering
* `umbraco-preview-app-provider` — Content preview apps

**Advanced**

* `umbraco-global-context` — App-wide shared state
* `umbraco-kinds` — Reusable manifest templates
* `umbraco-dynamic-root` — Content picker configuration
* `umbraco-user-profile-app` — User profile tabs
* `umbraco-health-check` — System health checks
* `umbraco-package-view` — Package configuration UI
* `umbraco-entry-point` / `umbraco-bundle` — Extension lifecycle

### Property Editors

Custom Data Type editors:

| Skill                              | Description                |
| ---------------------------------- | -------------------------- |
| `umbraco-property-editor-ui`       | Visual editor component    |
| `umbraco-property-editor-schema`   | Data validation            |
| `umbraco-property-action`          | Property buttons           |
| `umbraco-property-value-preset`    | Default value templates    |
| `umbraco-file-upload-preview`      | Upload previews            |
| `umbraco-block-editor-custom-view` | Block rendering            |
| `umbraco-picker-data-source`       | Custom picker data sources |

### Rich Text

Tiptap editor customization:

| Skill                                   | Description          |
| --------------------------------------- | -------------------- |
| `umbraco-tiptap-extension`              | Core editor behavior |
| `umbraco-tiptap-toolbar-extension`      | Toolbar buttons      |
| `umbraco-tiptap-statusbar-extension`    | Status bar items     |
| `umbraco-monaco-markdown-editor-action` | Markdown buttons     |

### Backend

Authentication and API integration:

| Skill                               | Description                       |
| ----------------------------------- | --------------------------------- |
| `umbraco-openapi-client`            | **Required for custom API calls** |
| `umbraco-auth-provider`             | External login (OAuth)            |
| `umbraco-mfa-login-provider`        | Two-factor authentication         |
| `umbraco-granular-user-permissions` | Fine-grained access               |

### Tooling

Setup, validation, and project management:

| Skill                             | Description                                                        |
| --------------------------------- | ------------------------------------------------------------------ |
| `umbraco-quickstart`              | Quick setup for extension development.                             |
| `umbraco-extension-template`      | Create extensions using the dotnet template.                       |
| `umbraco-add-extension-reference` | Add extension project references to your solution.                 |
| `package-script-writer`           | Generate installation scripts using the Package Script Writer CLI. |
| `umbraco-validation-checks`       | Browser validation checks for manual testing.                      |
| `umbraco-review-checks`           | Review checks reference for validating extensions.                 |

## How Skills Compose

Skills are designed to work together. Here is how a typical flow looks:

**"I need a custom admin section with a tree and editing workspace."**

1. `umbraco-backoffice` : Understand the pattern, pick the right blueprint.
2. `umbraco-sections` : Create the section (top-level nav tab).
3. `umbraco-menu` + `umbraco-menu-items` : Add sidebar navigation.
4. `umbraco-tree` + `umbraco-tree-item` : Add a hierarchical tree.
5. `umbraco-workspace` : Create the editing workspace.
6. `umbraco-context-api` : Wire up data sharing between components.
7. `umbraco-controllers` + `umbraco-openapi-client` : Backend API if needed.

Each skill provides the correct patterns for its piece. The `umbraco-backoffice` skill shows how the pieces connect.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.umbraco.com/umbraco-in-ai/agent-skills/backoffice-skills/backoffice-skills.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
