npx skills add https://github.com/umbraco/umbraco-cms-backoffice-skills --skill umbraco-menu-itemsقم بتثبيت هذه المهارة باستخدام واجهة سطر الأوامر (CLI) وابدأ في استخدام سير عمل SKILL.md في مساحة عملك.
Experimental Beta: This project is an exploration of what's possible with Skills for Umbraco. It's evolving as we learn what works best.
A Claude Code plugin marketplace with 66 skills for Umbraco backoffice customization and testing.
Add the marketplace:
/plugin marketplace add umbraco/Umbraco-CMS-Backoffice-Skills
Install the plugins:
# Backoffice extension skills (58 skills)
/plugin install umbraco-cms-backoffice-skills@umbraco-backoffice-marketplace
# Testing skills (8 skills) - optional but recommended
/plugin install umbraco-cms-backoffice-testing-skills@umbraco-backoffice-marketplace
These skills use the open SKILL.md format, which is now supported natively by multiple AI coding tools. You can install them into any supported editor using the Vercel Skills CLI.
Important: Always use the
-aflag to target your editor, otherwise skills will be symlinked into every supported agent directory.
Install all skills for your editor:
# For Cursor
# For Cursor
npx skills add umbraco/Umbraco-CMS-Backoffice-Skills --skill '*' -a cursor
# For GitHub Copilot
npx skills add umbraco/Umbraco-CMS-Backoffice-Skills --skill '*' -a github-copilot
# For Windsurf
npx skills add umbraco/Umbraco-CMS-Backoffice-Skills --skill '*' -a windsurf
Or install each skill set separately:
# Backoffice extension skills (58 skills)
npx skills add https://github.com/umbraco/Umbraco-CMS-Backoffice-Skills/tree/main/plugins/umbraco-backoffice-skills/skills -a cursor
# Testing skills (8 skills) - optional but recommended
npx skills add https://github.com/umbraco/Umbraco-CMS-Backoffice-Skills/tree/main/plugins/umbraco-testing-skills/skills -a cursor
# Install specific skills
npx skills add umbraco/Umbraco-CMS-Backoffice-Skills --skill umbraco-dashboard --skill umbraco-tree -a cursor
| Editor | Minimum Version | Skills Path |
|---|---|---|
| Cursor | 2.4+ (January 2026) | .cursor/skills/ |
| GitHub Copilot (VS Code) | VS Code 1.109+ (January 2026) | .github/skills/ |
| GitHub Copilot (Coding Agent) | Supported | .github/skills/ |
| Windsurf | Current | .windsurf/skills/ |
| Claude Code | Current (use Quick Start above) | .claude/skills/ |
All of these editors load skills on-demand — only the skill relevant to your current task is loaded into context, so installing all 66 skills won't affect performance.
These skills are your entry points for Umbraco backoffice extension development. Start here.
umbraco-quickstart - Quick SetupStart here if you're new. Sets up everything in one command and guides you through planning, building, and validating your extension.
# Full setup with custom credentials
/umbraco-quickstart MyUmbracoSite MyExtension --email [email protected] --password Admin123456
# With default credentials ([email protected] / SecurePass1234)
/umbraco-quickstart MyUmbracoSite MyExtension
# Just instance name - will prompt for extension name
/umbraco-quickstart MyUmbracoSite
# No arguments - detects existing or prompts for names
/umbraco-quickstart
This skill follows a PLAN → BUILD → VALIDATE workflow:
umbraco-extension-reviewer to catch and fix issuesIf you prefer to set things up step by step:
Use the package-script-writer skill to create an Umbraco instance using the PSW CLI.
/package-script-writer MyProject
Thanks to Paul Seal (@prjseal) for his hard work on the PSW CLI.
Use umbraco-extension-template to create a new extension project:
/umbraco-extension-template MyFeature
Or manually:
dotnet new install Umbraco.Templates
dotnet new umbraco-extension -n MyExtension -ex
cd MyExtension/Client && npm install && npm run watch
Use umbraco-add-extension-reference to register your extension with the Umbraco project:
/umbraco-add-extension-reference MyExtension
This adds a <ProjectReference> to your Umbraco .csproj file so the extension loads.
umbraco-backoffice - The Backbone SkillThis is the most important skill. It provides:
Use this skill when:
Blueprints included:
| Blueprint | Description | Skills Used |
|---|---|---|
| Blueprint 1 | Section + Menu + Dashboard + Workspace | 6 skills |
| TimeDashboard | 13 extension types working together | 13 skills |
| tree-example | Settings tree with workspace | 7 skills |
| notes-wiki | Full-stack with C# backend | 27 skills |
/umbraco-backoffice
These skills work best when Claude has access to the Umbraco source code. This allows Claude to:
Recommended setup:
Clone the repositories alongside your project:
git clone https://github.com/umbraco/Umbraco-CMS.git
git clone https://github.com/umbraco/Umbraco.UI.git
Add them as working directories in Claude Code:
/add-dir /path/to/Umbraco-CMS/src/Umbraco.Web.UI.Client
/add-dir /path/to/Umbraco.UI/packages/uui
This gives Claude direct access to:
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 |
UI extensions for the backoffice:
Navigation & Sections
umbraco-sections - Top-level navigationumbraco-menu / umbraco-menu-items - Sidebar menusumbraco-header-apps - Header bar appsContent Areas
umbraco-dashboard - Welcome panelsumbraco-workspace - Entity editing viewsumbraco-tree / umbraco-tree-item - Hierarchical navigationumbraco-collection / umbraco-collection-view / umbraco-collection-action - List/grid viewsActions
umbraco-entity-actions - Context menu actionsumbraco-entity-bulk-actions - Multi-select operationsumbraco-entity-create-option-action - Create menu optionsumbraco-current-user-action - User profile actionsUI Components
umbraco-modals - Dialogs and sidebarsumbraco-icons - Custom icon setsumbraco-theme - Backoffice themesumbraco-ufm-component - Umbraco Flavored MarkdownSearch & Preview
umbraco-search-provider - Global searchumbraco-search-result-item - Custom result renderingumbraco-preview-app-provider - Content preview appsAdvanced
umbraco-global-context - App-wide shared stateumbraco-kinds - Reusable manifest templatesumbraco-dynamic-root - Content picker configurationumbraco-user-profile-app - User profile tabsumbraco-health-check - System health checksumbraco-package-view - Package configuration UIumbraco-entry-point / umbraco-bundle - Extension lifecycleCustom 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 |
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 |
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 |
Complete testing pyramid for Umbraco extensions:
| Skill | Description |
|---|---|
umbraco-testing |
Router skill - Choose the right testing approach |
umbraco-unit-testing |
Unit tests with @open-wc/testing |
umbraco-mocked-backoffice |
Test in mocked backoffice (no .NET required) |
umbraco-e2e-testing |
E2E tests against real Umbraco |
umbraco-playwright-testhelpers |
Full testhelpers API reference |
umbraco-test-builders |
JsonModels.Builders for test data |
umbraco-msw-testing |
MSW handlers for API mocking |
umbraco-example-generator |
Generate testable extensions |
Testing Pyramid:
┌─────────────┐
│ E2E Tests │ ← Real Umbraco, complete workflows
└─────────────┘
┌─────────────────────────┐
│ Mocked Backoffice │ ← No backend, realistic UI
└─────────────────────────┘
┌─────────────────────────────────────┐
│ Unit Tests │ ← Fast, isolated
└─────────────────────────────────────┘
Critical: E2E tests must use @umbraco/playwright-testhelpers and @umbraco/json-models-builders. Never write raw Playwright tests for Umbraco.
/umbraco-testing
Complete working examples in the examples/ folder:
Invoke any skill by name:
Use the umbraco-dashboard skill to create a new dashboard
Or reference in conversation:
I need to create a custom tree in the Settings section
Claude will automatically use the relevant skills (umbraco-tree, umbraco-conditions, etc.)
Umbraco-CMS-Backoffice-Skills/
├── .claude-plugin/marketplace.json # Marketplace manifest
├── plugins/
│ ├── umbraco-backoffice-skills/ # Plugin with 58 extension skills
│ │ ├── .claude-plugin/plugin.json
│ │ └── skills/
│ │ ├── umbraco-dashboard/SKILL.md
│ │ ├── umbraco-tree/SKILL.md
│ │ └── ... (57 skills)
│ └── umbraco-testing-skills/ # Plugin with 8 testing skills
│ ├── .claude-plugin/plugin.json
│ └── skills/
│ ├── umbraco-testing/SKILL.md
│ ├── umbraco-e2e-testing/SKILL.md
│ └── ... (8 skills + examples)
├── examples/ # Working code examples
├── Umbraco-CMS.Skills/ # .NET test project
└── .claude/
├── commands/ # Local commands
└── settings.local.json # Local permissions
MIT
Built by Phil W (@hifi-phil)
Skills based on Umbraco CMS backoffice documentation.
The TimeDashboard and tree-example examples are based on work by Kevin Jump (@KevinJump):
These examples demonstrate sections, trees, workspaces, menus, header apps, modals, and server communication patterns for Umbraco backoffice extensions.