con un clic
webiny-admin-cms-catalog
admin/cms — 74 abstractions.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
admin/cms — 74 abstractions.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Building a New Entry Wizard for the Headless CMS. Use this skill when the developer wants to show a custom wizard UI before the entry form when creating new CMS entries -- collecting fields like title, slug, or category upfront, then pre-filling the entry form. Covers ContentEntryEditorConfig.NewEntryWizard, createFeature, FormModelFactory, createReactiveComponent, useContentEntryFormPresenter, and the dirty-flag on setData.
Building forms with the FormModel system — field types, renderers, layout, validation, conditional rules, computed fields, and dynamic zones. Use this skill when the developer needs to define form fields with the builder API, choose renderers, build layouts with tabs/rows/separators, add validation (Zod or imperative), use conditional visibility/disable rules, create computed fields, or work with object fields and templates (dynamic zones).
api — 21 abstractions.
api/webhooks — 15 abstractions.
Admin-side architecture patterns for Webiny extensions. Use this skill when building frontend features with headless features (UseCase/Repository/Gateway), presentation features (Presenter/ViewModel/hooks/components), MobX-based presenters, RegisterFeature, and Admin BuildParams. Covers the admin/ directory structure for both features/ and presentation/ layers.
Covers the PreviewUrlModifier extension point in Website Builder. Use when a user wants to inject custom query parameters into live preview URLs — e.g. signed tokens, tenant identifiers, feature flags — from their Webiny project. Handles the full registration pattern: implementing the interface, wiring via createFeature + RegisterFeature, and registering via webiny.config.tsx. Supports async modifier methods (e.g. remote token fetch).
| name | webiny-admin-cms-catalog |
| context | webiny-api |
| description | admin/cms — 74 abstractions. |
import { Name } from "<importPath>";Name: CmsContentEntry
Kind: type
Import: import type { CmsContentEntry } from "webiny/admin/cms"
Source: @webiny/app-headless-cms-common/types/index.ts
Name: CmsContentFormRenderer
Import: import { CmsContentFormRenderer } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/legacyPluginAdapters/CmsContentFormRenderer.tsx
Name: CmsGraphQLClient
Import: import { CmsGraphQLClient } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/features/graphQLClient/index.ts
Name: CmsIdentity
Kind: type
Import: import type { CmsIdentity } from "webiny/admin/cms"
Source: @webiny/app-headless-cms-common/types/index.ts
Name: CmsModel
Kind: type
Import: import type { CmsModel } from "webiny/admin/cms"
Source: @webiny/app-headless-cms-common/types/index.ts
Name: CmsModelField
Kind: type
Import: import type { CmsModelField } from "webiny/admin/cms"
Source: @webiny/app-headless-cms-common/types/index.ts
Name: CmsModelFieldRenderer
Import: import { CmsModelFieldRenderer } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/legacyPluginAdapters/CmsModelFieldRenderer.tsx
Name: CmsModelFieldType
Import: import { CmsModelFieldType } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/legacyPluginAdapters/CmsModelFieldType.tsx
Name: CmsModelFieldValidator
Import: import { CmsModelFieldValidator } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/legacyPluginAdapters/CmsModelFieldValidator.tsx
Name: CmsModelLayoutField
Kind: type
Import: import type { CmsModelLayoutField } from "webiny/admin/cms"
Source: @webiny/app-headless-cms-common/types/index.ts
Name: CmsModelLayoutFieldRenderer
Import: import { CmsModelLayoutFieldRenderer } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/legacyPluginAdapters/CmsModelLayoutFieldRenderer.tsx
Name: CmsModelLayoutFieldType
Import: import { CmsModelLayoutFieldType } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/legacyPluginAdapters/CmsModelLayoutFieldType.tsx
Name: ContentEntry
Import: import { ContentEntry } from "webiny/admin/cms/entry/editor"
Source: @webiny/app-headless-cms/admin/views/contentEntries/ContentEntry.tsx
Name: ContentEntryEditorConfig
Import: import { ContentEntryEditorConfig } from "webiny/admin/cms/entry/editor"
Source: @webiny/app-headless-cms/admin/config/contentEntries/index.ts
Name: ContentEntryForm
Import: import { ContentEntryForm } from "webiny/admin/cms/entry/editor"
Source: @webiny/app-headless-cms/admin/components/ContentEntryForm/ContentEntryForm.tsx
Name: ContentEntryFormMeta
Import: import { ContentEntryFormMeta } from "webiny/admin/cms/entry/editor"
Source: @webiny/app-headless-cms/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntryHeaderLeft.tsx
Name: ContentEntryFormPreview
Import: import { ContentEntryFormPreview } from "webiny/admin/cms/entry/editor"
Source: @webiny/app-headless-cms/admin/components/ContentEntryForm/ContentEntryFormPreview.tsx
Name: ContentEntryFormTitle
Import: import { ContentEntryFormTitle } from "webiny/admin/cms/entry/editor"
Source: @webiny/app-headless-cms/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntryHeaderLeft.tsx
Name: ContentEntryListConfig
Import: import { ContentEntryListConfig } from "webiny/admin/cms/entry/list"
Source: @webiny/app-headless-cms/admin/config/contentEntries/index.ts
Name: DefaultLayout
Import: import { DefaultLayout } from "webiny/admin/cms/entry/editor"
Source: @webiny/app-headless-cms/admin/components/ContentEntryForm/DefaultLayout.tsx
Name: Divider
Import: import { Divider } from "webiny/admin/cms/lexical"
Source: @webiny/lexical-editor/exports/admin/lexical.ts
Name: DropDown
Import: import { DropDown } from "webiny/admin/cms/lexical"
Source: @webiny/lexical-editor/exports/admin/lexical.ts
Name: DropDownItem
Import: import { DropDownItem } from "webiny/admin/cms/lexical"
Source: @webiny/lexical-editor/exports/admin/lexical.ts
Name: DynamicZoneContainer
Import: import { DynamicZoneContainer } from "webiny/admin/cms/field-renderers/dynamic-zone"
Source: @webiny/app-headless-cms/admin/plugins/fieldRenderers/dynamicZone/index.tsx
Name: EntryAfterCreateEventHandler
Import: import { EntryAfterCreateEventHandler } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/features/contentEntry/events/index.ts
Name: EntryAfterCreatePayload
Kind: type
Import: import type { EntryAfterCreatePayload } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/features/contentEntry/events/index.ts
Name: EntryAfterDeleteEventHandler
Import: import { EntryAfterDeleteEventHandler } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/features/contentEntry/events/index.ts
Name: EntryAfterDeletePayload
Kind: type
Import: import type { EntryAfterDeletePayload } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/features/contentEntry/events/index.ts
Name: EntryAfterUpdateEventHandler
Import: import { EntryAfterUpdateEventHandler } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/features/contentEntry/events/index.ts
Name: EntryAfterUpdatePayload
Kind: type
Import: import type { EntryAfterUpdatePayload } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/features/contentEntry/events/index.ts
Name: Fields
Import: import { Fields } from "webiny/admin/cms/field-renderers/common"
Source: @webiny/app-headless-cms-common/index.ts
Name: getNodeFromSelection
Import: import { getNodeFromSelection } from "webiny/admin/cms/lexical"
Source: @webiny/lexical-editor/exports/admin/lexical.ts
Name: Header
Import: import { Header } from "webiny/admin/cms/entry/editor"
Source: @webiny/app-headless-cms/admin/components/ContentEntryForm/Header/index.tsx
Name: IsModelPublishable
Import: import { IsModelPublishable } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/admin/components/IsModelPublishable.tsx
Name: Klass
Kind: type
Import: import type { Klass } from "webiny/admin/cms/lexical"
Source: @webiny/lexical-editor/exports/admin/lexical.ts
Name: LexicalEditorConfig
Import: import { LexicalEditorConfig } from "webiny/admin/cms/lexical"
Source: @webiny/app-headless-cms/admin/lexicalConfig/LexicalEditorConfig.tsx
Name: LexicalHtmlRenderer
Import: import { LexicalHtmlRenderer } from "webiny/admin/cms/lexical"
Source: @webiny/lexical-editor/exports/admin/lexical.ts
Name: LexicalNode
Kind: type
Import: import type { LexicalNode } from "webiny/admin/cms/lexical"
Source: @webiny/lexical-editor/exports/admin/lexical.ts
Name: MultiValueContainer
Import: import { MultiValueContainer } from "webiny/admin/cms/field-renderers/dynamic-zone"
Source: @webiny/app-headless-cms/admin/plugins/fieldRenderers/dynamicZone/index.tsx
Name: MultiValueItem
Import: import { MultiValueItem } from "webiny/admin/cms/field-renderers/dynamic-zone"
Source: @webiny/app-headless-cms/admin/plugins/fieldRenderers/dynamicZone/index.tsx
Name: MultiValueItemContainer
Import: import { MultiValueItemContainer } from "webiny/admin/cms/field-renderers/dynamic-zone"
Source: @webiny/app-headless-cms/admin/plugins/fieldRenderers/dynamicZone/index.tsx
Name: MultiValueItemContainer
Import: import { MultiValueItemContainer } from "webiny/admin/cms/field-renderers/object"
Source: @webiny/app-headless-cms/admin/plugins/fieldRenderers/object/MultiValueItemContainer.tsx
Name: ParentFieldProvider
Import: import { ParentFieldProvider } from "webiny/admin/cms/field-renderers/common"
Source: @webiny/app-headless-cms/admin/components/ContentEntryForm/ParentValue.tsx
Name: ParentValueIndexProvider
Import: import { ParentValueIndexProvider } from "webiny/admin/cms/field-renderers/common"
Source: @webiny/app-headless-cms-common/index.ts
Name: PermissionsEditor
Import: import { PermissionsEditor } from "webiny/admin/cms/model"
Source: @webiny/app-headless-cms/admin/components/FieldEditor/EditFieldDialog/PermissionsEditor/PermissionsEditor.tsx
Name: Routes
Import: import { Routes } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/routes.ts
Name: RulesEditor
Import: import { RulesEditor } from "webiny/admin/cms/model"
Source: @webiny/app-headless-cms/admin/components/FieldEditor/EditFieldDialog/RulesEditor/index.ts
Name: SingletonContentEntry
Import: import { SingletonContentEntry } from "webiny/admin/cms/entry/editor"
Source: @webiny/app-headless-cms/admin/views/contentEntries/ContentEntry/SingletonContentEntry.tsx
Name: SingleValueItemContainer
Import: import { SingleValueItemContainer } from "webiny/admin/cms/field-renderers/dynamic-zone"
Source: @webiny/app-headless-cms/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.tsx
Name: TemplateGallery
Import: import { TemplateGallery } from "webiny/admin/cms/field-renderers/dynamic-zone"
Source: @webiny/app-headless-cms/admin/plugins/fieldRenderers/dynamicZone/index.tsx
Description: We're wrapping each component with withShouldRender, because they're all decoratable, and withShouldRender attaches a
conditional decorator, which optionally takes a modelIds prop, so you can control on which models that component will be decorated.
Name: TemplateIcon
Import: import { TemplateIcon } from "webiny/admin/cms/field-renderers/dynamic-zone"
Source: @webiny/app-headless-cms/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.tsx
Name: TemplateProvider
Import: import { TemplateProvider } from "webiny/admin/cms/field-renderers/dynamic-zone"
Source: @webiny/app-headless-cms/admin/plugins/fieldRenderers/dynamicZone/index.tsx
Name: useCms
Import: import { useCms } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/admin/hooks/useCms.ts
Name: useContentEntriesList
Import: import { useContentEntriesList } from "webiny/admin/cms/entry/list"
Source: @webiny/app-headless-cms/admin/hooks/index.ts
Name: useContentEntry
Import: import { useContentEntry } from "webiny/admin/cms/entry/editor"
Source: @webiny/app-headless-cms/admin/views/contentEntries/hooks/index.ts
Name: useContentEntryForm
Import: import { useContentEntryForm } from "webiny/admin/cms/entry/editor"
Source: @webiny/app-headless-cms/admin/components/ContentEntryForm/useContentEntryForm.ts
Name: useCurrentElement
Import: import { useCurrentElement } from "webiny/admin/cms/lexical"
Source: @webiny/lexical-editor/exports/admin/lexical.ts
Name: useCurrentSelection
Import: import { useCurrentSelection } from "webiny/admin/cms/lexical"
Source: @webiny/lexical-editor/exports/admin/lexical.ts
Name: useDeriveValueFromSelection
Import: import { useDeriveValueFromSelection } from "webiny/admin/cms/lexical"
Source: @webiny/lexical-editor/exports/admin/lexical.ts
Name: useFieldAccessControlRules
Import: import { useFieldAccessControlRules } from "webiny/admin/cms/model"
Source: @webiny/app-headless-cms-common/Fields/index.ts
Description: Hook that evaluates access control rules for the current identity.
Does not require bindParentName — only identity-based permissions.
Name: useFieldEffectiveRules
Import: import { useFieldEffectiveRules } from "webiny/admin/cms/model"
Source: @webiny/app-headless-cms-common/Fields/index.ts
Description: Composes useParentRules and useFieldRules into a single hook
that returns the effective (intersected) rules.
Name: useFontColorPicker
Import: import { useFontColorPicker } from "webiny/admin/cms/lexical"
Source: @webiny/lexical-editor/exports/admin/lexical.ts
Name: useIsMounted
Import: import { useIsMounted } from "webiny/admin/cms/lexical"
Source: @webiny/lexical-editor/exports/admin/lexical.ts
Name: useLazyQuery
Import: import { useLazyQuery } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/admin/hooks/useLazyQuery.ts
Name: useLexicalEditorConfig
Import: import { useLexicalEditorConfig } from "webiny/admin/cms/lexical"
Source: @webiny/lexical-editor/exports/admin/lexical.ts
Name: useModel
Import: import { useModel } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/admin/components/ModelProvider/index.ts
Description: Get model from the current context.
Name: useMutation
Import: import { useMutation } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/admin/hooks/useMutation.ts
Name: usePermission
Import: import { usePermission } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/admin/hooks/usePermission.ts
Name: useQuery
Import: import { useQuery } from "webiny/admin/cms"
Source: @webiny/app-headless-cms/admin/hooks/useQuery.ts
Name: useRichTextEditor
Import: import { useRichTextEditor } from "webiny/admin/cms/lexical"
Source: @webiny/lexical-editor/exports/admin/lexical.ts
Name: useSingletonContentEntry
Import: import { useSingletonContentEntry } from "webiny/admin/cms/entry/editor"
Source: @webiny/app-headless-cms/admin/views/contentEntries/hooks/useSingletonContentEntry.ts
Name: useTemplate
Import: import { useTemplate } from "webiny/admin/cms/field-renderers/dynamic-zone"
Source: @webiny/app-headless-cms/admin/plugins/fieldRenderers/dynamicZone/index.tsx
Name: useTextAlignmentAction
Import: import { useTextAlignmentAction } from "webiny/admin/cms/lexical"
Source: @webiny/lexical-editor/exports/admin/lexical.ts
Name: useTypographyAction
Import: import { useTypographyAction } from "webiny/admin/cms/lexical"
Source: @webiny/lexical-editor/exports/admin/lexical.ts