canvas-component-definition

Validate Canvas React components against the canonical component contract.

16|6|Updated Feb 19, 2025
One-click install
npx skills add https://github.com/acquia/nebula --skill canvas-component-definition-acquia
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: canvas-component-definition
Source: https://github.com/acquia/nebula/tree/main/.agents/skills/canvas-component-definition
Command: npx skills add https://github.com/acquia/nebula --skill canvas-component-definition-acquia

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Ensures React components meet the canonical Canvas contract so they are discoverable, renderable in Workbench, and safe to publish to Drupal Canvas. It prevents incomplete components that lack implementation, metadata, correct naming, or compatible props/slots from causing integration or preview failures.

Core Features & Use Cases

  • Canonical Definition Enforcement: Verifies presence of a React implementation (index.jsx), Canvas metadata (component.yml), matching folder machineName, and Workbench mock expectations.
  • Metadata and Props/Slots Validation: Checks component.yml contains required top-level keys such as name, machineName, status, required, props, and slots and flags unsupported prop shapes.
  • Workbench Mock Guidance: Recommends placement and content for mocks.json to ensure meaningful preview coverage beyond the built-in Default tab.
  • Use Cases: Use when creating new Canvas-ready components, refactoring existing components to Canvas standards, reviewing component readiness before publishing, or migrating components into a Canvas project.

Quick Start

Use the canvas-component-definition skill to validate or create a Canvas component by checking its index.jsx, component.yml, folder name, props/slots, and Workbench mock coverage.

Frequently Asked Questions about canvas-component-definition

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I validate a React component for Drupal Canvas Workbench?

To validate a React component for Drupal Canvas Workbench, check for a required index.jsx implementation, component.yml metadata, matching folder machineName, and proper Workbench mock placement.

What makes a React component Canvas-ready and safe to publish?

A Canvas-ready React component requires a canonical folder structure matching its machineName, a component.yml file with required top-level keys, valid prop and slot shapes, and meaningful Workbench mock coverage.

Does my Drupal Canvas component require a mocks.json file?

Yes, Canvas components need a mocks.json file to provide meaningful preview coverage beyond the built-in Default tab in Workbench, ensuring components render correctly before publishing.

What metadata is required in component.yml for Canvas React components?

The component.yml metadata for Canvas React components requires top-level keys including name, machineName, status, required, props, and slots, and must flag any unsupported prop shapes.

Why does my Canvas component fail to render in Workbench previews?

Canvas components fail to render in Workbench previews when they lack an index.jsx implementation, have incorrect folder naming that mismatches the machineName, or possess invalid props and slots in component.yml.