Agent skill

makepad-2.0-dsl

makepad dsl, script_mod!, makepad syntax, makepad property, makepad 2.0 syntax, colon syntax, merge operator, named instance, let binding, mod.widgets, register_widget, script_component, type_default, widgets_internal

ZhangHanDonggithub.com/ZhangHanDongGitHub ↗
claude-code
Install
npx skills add ZhangHanDong/makepad-skills --skill makepad-2.0-dsl --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 3
SKILL.md size: 14 KB
Bundled scripts: none
Path: skills/makepad-2.0-dsl/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 745

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Makepad 2.0 DSL Syntax Skill ## Overview Makepad 2.0 replaced the compile-time `live_design!` macro with the runtime `script_mod!` macro, powered by the Splash scripting language. This skill covers the complete DSL syntax, property system, registration patterns, and common pitfalls. ## Key Syntax Rules ### Property Assignment: Colon, NOT Equals ``` key: value // CORRECT - colon syntax key = value // WRONG - old 1.x syntax, no longer works ``` Properties are whitespace/newline separated. No commas between siblings. ``` View{ width: Fill height: Fit flow: Down spacing: 10 padding: 15 } ``` ### Named Instances: `:=` Operator Use `:=` to create addressable, named widget instances: ``` my_button := Button{ text: "Click me" } title := Label{ text: "Hello" } ``` Named instances are: - Addressable from Rust code via `id!(my_button)` or `ids!(my_button)` - Overridable via dot-path syntax: `MyTemplate{ title.text: "New text" }` - Stored in the script object's `vec` (not `map`) Regular properties use `:` and go into `map`: ``` width: Fill // regular property -> map label := Label{} // named child -> vec ``` ### Merge Operator: `+:` The `+:` operator extends/merges with the parent instead of

What's inside
Steps it walks through
  1. Overview
  2. Key Syntax Rules
  3. Property Assignment: Colon, NOT Equals
  4. Named Instances: := Operator
  5. Merge Operator: +:
  6. Dot-Path Shorthand
  7. Let Bindings: Local Templates
  8. Spread Operator: ..
  9. Script Module Structure
  10. Basic App Structure
  11. Widget Definition Module
  12. Registration Patterns
  13. Widget Registration
  14. Component Registration
Ships with 2 files
  • references/dsl-syntax-reference.md
  • references/property-system.md
More from makepad-skills
All skills →
About this skill
What does the makepad-2.0-dsl skill do?

makepad dsl, script_mod!, makepad syntax, makepad property, makepad 2.0 syntax, colon syntax, merge operator, named instance, let binding, mod.widgets, register_widget, script_component, type_default, widgets_internal

How do I install it?

Run `npx skills add ZhangHanDong/makepad-skills --skill makepad-2.0-dsl --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From ZhangHanDong/makepad-skills, a repository with 745 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going