umbraco-kinds

A Kind is a preset configuration that extensions inherit for consistency. It reduces redundancy by defining default properties that multiple extensions can share. Kinds ensure standardized structures across extensions and simplify definitions by providing predefined properties that extensions automatically inherit.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "umbraco-kinds" with this command: npx skills add umbraco/umbraco-cms-backoffice-skills/umbraco-umbraco-cms-backoffice-skills-umbraco-kinds

Umbraco Kinds

What is it?

A Kind is a preset configuration that extensions inherit for consistency. It reduces redundancy by defining default properties that multiple extensions can share. Kinds ensure standardized structures across extensions and simplify definitions by providing predefined properties that extensions automatically inherit.

Documentation

Always fetch the latest docs before implementing:

Workflow

  • Fetch docs - Use WebFetch on the URLs above

  • Ask questions - What extension type? What default properties to share?

  • Generate files - Create kind manifest + consuming extensions based on latest docs

  • Explain - Show what was created and how to test

Minimal Examples

Registering a Kind

import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-api';

export const customButtonKind: UmbExtensionManifestKind = { type: 'kind', alias: 'My.Kind.HeaderAppButton', matchType: 'headerApp', matchKind: 'button', manifest: { elementName: 'umb-header-app-button', }, };

Using a Kind in an Extension

const manifest = { type: 'headerApp', kind: 'button', // Uses the 'button' kind name: 'My Header App', alias: 'My.HeaderApp', meta: { label: 'My App', icon: 'icon-heart', href: '/my-app', }, };

Kind with Default Meta Properties

export const cardKind: UmbExtensionManifestKind = { type: 'kind', alias: 'My.Kind.DashboardCard', matchType: 'dashboard', matchKind: 'card', manifest: { elementName: 'my-dashboard-card', meta: { // Default meta properties size: 'medium', color: 'default', }, }, };

// Extension inherits defaults, can override const dashboard = { type: 'dashboard', kind: 'card', alias: 'My.Dashboard', name: 'My Dashboard', meta: { label: 'Stats', pathname: 'stats', // size and color inherited from kind }, };

That's it! Always fetch fresh docs, keep examples minimal, generate complete working code.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

umbraco-backoffice

No summary provided by upstream source.

Repository SourceNeeds Review
General

umbraco-dashboard

No summary provided by upstream source.

Repository SourceNeeds Review
General

umbraco-quickstart

No summary provided by upstream source.

Repository SourceNeeds Review
General

umbraco-extension-template

No summary provided by upstream source.

Repository SourceNeeds Review