---
/plugin marketplace add umbraco/Umbraco-CMS-Backoffice-Skills/plugin install umbraco-backoffice-skills@umbraco-skills-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Entity Bulk Actions perform an action on a selection of multiple items at once. They appear in the collection selection toolbar when users select multiple items, enabling batch operations like bulk publishing, deleting, or custom processing across multiple entities simultaneously.
Always fetch the latest docs before implementing:
Repository Pattern: When implementing bulk operations that need data access
umbraco-repository-patternConditions: When controlling bulk action visibility based on collection or permissions
umbraco-conditionsimport type { ManifestEntityBulkAction } from '@umbraco-cms/backoffice/extension-registry';
import { MyBulkAction } from './my-bulk-action.js';
const manifest: ManifestEntityBulkAction = {
type: 'entityBulkAction',
alias: 'My.EntityBulkAction',
name: 'My Bulk Action',
weight: 10,
api: MyBulkAction,
meta: {
icon: 'icon-check',
label: 'Process Selected',
},
conditions: [
{
alias: 'Umb.Condition.CollectionAlias',
match: 'Umb.Collection.Document',
},
],
};
export const manifests = [manifest];
import { UmbEntityBulkActionBase } from '@umbraco-cms/backoffice/entity-bulk-action';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
export class MyBulkAction extends UmbEntityBulkActionBase<never> {
constructor(host: UmbControllerHost, args: { selection: Array<string> }) {
super(host, args);
}
async execute() {
// this.selection contains array of unique identifiers
console.log('Processing items:', this.selection);
for (const unique of this.selection) {
// Process each selected item
console.log('Processing:', unique);
}
alert(`Processed ${this.selection.length} items`);
}
}
import { UmbEntityBulkActionBase } from '@umbraco-cms/backoffice/entity-bulk-action';
export class MyBulkAction extends UmbEntityBulkActionBase<MyRepository> {
async execute() {
// Process all selected items via repository
for (const unique of this.selection) {
await this.repository?.processItem(unique);
}
}
}
const manifest: ManifestEntityBulkAction = {
type: 'entityBulkAction',
alias: 'My.MediaBulkAction',
name: 'Process Media',
api: MyBulkAction,
meta: {
icon: 'icon-picture',
label: 'Optimize Images',
},
conditions: [
{
alias: 'Umb.Condition.CollectionAlias',
match: 'Umb.Collection.Media',
},
],
};
Umb.Collection.Document - Content collectionUmb.Collection.Media - Media collectionUmb.Collection.Member - Member collectionThat's it! Always fetch fresh docs, keep examples minimal, generate complete working code.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.