From drupal-core
Manage fields across all fieldable entity types, including field CRUD, form display widgets, view display formatters, and display mode configuration.
npx claudepluginhub ajv009/drupal-devkitThis skill uses the workspace's default tool permissions.
This skill covers managing fields for a Drupal site. It applies to all fieldable entity types (node, taxonomy_term, media, block_content, user, paragraph, etc.).
Guides field type selection, entity CRUD operations, view modes, and content modeling for Drupal 10/11. Use when designing content types, selecting fields, or using Entity API.
Designs content type hierarchies, reusable parts, and field compositions for headless CMS using Type > Part > Field pattern. Covers composition vs inheritance and multi-channel reusability.
Craft CMS 5 content modeling — sections, entry types, fields, Matrix, relations, project config, and content architecture strategy. Covers everything editors and developers need to structure content in Craft: choosing section types, designing entry types and field layouts, selecting field types for specific needs, configuring Matrix and nested entries, setting up relations and eager loading, and planning multi-site propagation. Triggers on: section types (single, channel, structure), entry types, field types, field layout design, field type selection, Matrix configuration, nested entries, relatedTo, eager loading, .with(), .eagerly(), categories, tags, globals, global sets, preloadSingles, propagation, multi-site content, URI format, project config, YAML, content architecture, content strategy, taxonomy, asset volumes, filesystems, image transforms, user groups, content permissions, entries-as-taxonomy, entrify, entrification, CKEditor vs Matrix, CMS editions, site propagation, multi-language, language groups, localization, translation method, field translation, content migration, reserved handles, field instances. Always use when planning content architecture, creating sections/fields, configuring Matrix, setting up relations, choosing field types, designing field layouts, making content modeling decisions, or planning multi-site content propagation. Do NOT trigger for PHP plugin/module development, custom field type code, front-end Twig templates, or buildchain configuration.
Share bugs, ideas, or general feedback.
This skill covers managing fields for a Drupal site. It applies to all fieldable entity types (node, taxonomy_term, media, block_content, user, paragraph, etc.).
| # | Operation | Description |
|---|---|---|
| 1 | List Fieldable Entity Types | List all entity types that support fields and their bundles |
| 2 | List Field Types | List all available field types with default widgets and formatters |
| 3 | List Available Widgets | List compatible widgets for a specific field type |
| 4 | List Available Formatters | List compatible formatters for a specific field type |
| 5 | List Fields | List all configurable fields on an entity type bundle |
| 6 | Get Field | Get full details of a specific field (storage settings, field settings) |
| 7 | Add Field | Create a new field on an entity type bundle with full settings support |
| 8 | Get Entity Reference Handlers | Discover available entity reference target types and bundles |
| 9 | Update Field | Update field properties such as label, required, description, or settings |
| 10 | Remove Field | Remove a field from an entity type bundle |
| 11 | Add Custom Field | Add a custom field with structured column definitions (requires custom_field module) |
| 12 | Get Form Display | Get form display configuration showing all widget assignments |
| 13 | Update Form Display | Change widget type, weight, widget settings, or hide fields on a form display |
| 14 | Get View Display | Get view display configuration showing all formatter assignments |
| 15 | Update View Display | Change formatter type, label position, weight, formatter settings, or hide fields on a view display |
| 16 | List View Modes | List available view modes for an entity type |
| 17 | List Form Modes | List available form modes for an entity type |
storage_settings and field_settings as JSON strings.For entity_reference fields, provide the correct configuration in BOTH settings.
Reference to node bundles:
storage_settings: {"target_type": "node"}
field_settings: {"handler": "default:node", "handler_settings": {"target_bundles": {"article": "article"}}}
Reference to taxonomy terms:
storage_settings: {"target_type": "taxonomy_term"}
field_settings: {"handler": "default:taxonomy_term", "handler_settings": {"target_bundles": {"tags": "tags"}, "auto_create": true}}
Reference to users (no bundles needed):
storage_settings: {"target_type": "user"}
field_settings: {"handler": "default:user"}
Reference to media:
storage_settings: {"target_type": "media"}
field_settings: {"handler": "default:media", "handler_settings": {"target_bundles": {"image": "image"}}}
Key rules for entity_reference:
storage_settings MUST contain target_type (the entity type being referenced)field_settings MUST contain handler in format default:{target_type}handler_settings.target_bundles is a map where keys AND values are the bundle machine nametarget_bundles is omitted or empty, ALL bundles of that type are referenceable"auto_create": true in handler_settings to allow creating new terms inlinefield_settings includes a handler but storage_settings is omitted, the tool will auto-detect target_type from the handler stringstorage_settings: {"allowed_values": {"red": "Red", "blue": "Blue"}}
field_settings: {"available_countries": ["US", "CA", "GB"]}
columns: [{"name": "title", "type": "string", "length": 255}, {"name": "count", "type": "integer", "unsigned": true}]
entity_type + bundle to identify where fields live.field_.-1 for unlimited values, 1 for single value.storage_settings, field_settings, and widget/formatter settings.entity_reference fields, ALWAYS use Get Entity Reference Handlers first to discover correct target types and bundles.custom_field module to be installed.