makepad-dsl

Generate Makepad DSL prototypes with inheritance overrides and Rust widget wiring.

Updated Feb 3, 2026
One-click install
npx skills add https://github.com/RoooyHe/betula --skill makepad-dsl
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: makepad-dsl
Source: https://github.com/RoooyHe/betula/tree/main/.claude/skills/makepad-dsl
Command: npx skills add https://github.com/RoooyHe/betula --skill makepad-dsl

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This skill simplifies authoring and maintaining Makepad DSL patterns by enabling clean, reusable prototypes, eager inheritance, and safe widget composition within the Makepad live design workflow.

Core Features & Use Cases

  • Prototype definition: Create named prototypes and anonymous objects for rapid UI styling with Makepad DSL.
  • Inheritance with override: Extend prototypes and override specific properties while inheriting the rest.
  • Rust linking & widget composition: Link DSL prototypes to Rust structs and compose widgets in live designs.
  • Documentation-driven guidance: Leverage local references/dsl-syntax.md and references/inheritance.md for syntax and best practices.

Quick Start

Define a simple prototype, then create a derived prototype with overrides, and instantiate it within a View in a Makepad project to observe live changes.

Frequently Asked Questions about makepad-dsl

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

FAQPage Schema
How do I override specific properties when inheriting Makepad DSL prototypes?

To override properties in Makepad DSL prototypes, you extend a named prototype and specify new values for the target properties. The inheritance mechanism applies these overrides while automatically inheriting the remaining properties from the parent prototype.

How do I link DSL prototypes to Rust widgets in a live_design workflow?

Linking DSL prototypes to Rust widgets in a live_design workflow involves mapping DSL definitions to Rust structs. This enables widget composition and allows UI styling changes to reflect live in your Makepad project.

What is the Makepad DSL inheritance mechanism used for?

The Makepad DSL inheritance mechanism is used for creating clean, reusable prototypes and enabling eager inheritance. It allows you to define base UI prototypes and safely compose widgets while reusing styling across your Makepad live design.

Can I define anonymous objects for rapid UI styling in Makepad?

Yes, you can define anonymous objects in Makepad DSL for rapid UI styling. This allows you to create inline component configurations without declaring named prototypes, streamlining the live_design workflow.

Do I need existing Rust structs to compose widgets using Makepad DSL?

Yes, wiring DSL prototypes to Rust structs requires existing Rust widget definitions. The Makepad DSL handles the styling and composition layer, but the underlying Rust structs must be present to support the live_design integration.