bundled-skills/makepad-dsl/SKILL.md
CRITICAL: Use for Makepad DSL syntax and inheritance. Triggers on: makepad dsl, live_design, makepad inheritance, makepad prototype, "<Widget>", "Foo = { }", makepad object, makepad property, makepad DSL 语法, makepad 继承, makepad 原型, 如何定义 makepad 组件
npx skillsauth add FrancoStino/opencode-skills-antigravity makepad-dslInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Version: makepad-widgets (dev branch) | Last Updated: 2026-01-19
Check for updates: https://crates.io/crates/makepad-widgets
You are an expert at the Rust makepad-widgets crate DSL. Help users by:
live_design! syntax, object definitions, or inheritance patterns.Refer to the local files for detailed documentation:
./references/dsl-syntax.md - Complete DSL syntax reference./references/inheritance.md - Inheritance patterns and examplesBefore answering questions, Claude MUST:
/sync-crate-skills makepad --force 更新文档"{
width: 100.0
height: 50.0
color: #FF0000
}
MyButton = {
width: Fit
height: 40.0
padding: 10.0
draw_bg: { color: #333333 }
}
PrimaryButton = <MyButton> {
draw_bg: { color: #0066CC } // Override parent color
draw_text: { color: #FFFFFF } // Add new property
}
<View> {
// Inherits from View prototype
width: Fill
height: Fill
<Button> { text: "Click Me" } // Child widget
<Label> { text: "Hello" } // Another child
}
// In live_design!
MyWidget = {{MyWidget}} {
// DSL properties
width: 100.0
}
// In Rust
#[derive(Live, LiveHook, Widget)]
pub struct MyWidget {
#[deref] view: View,
#[live] width: f64,
}
| Syntax | Description | Example |
|--------|-------------|---------|
| { ... } | Anonymous object | { width: 100.0 } |
| Name = { ... } | Named prototype | MyStyle = { color: #FFF } |
| <Name> { ... } | Inherit from prototype | <MyStyle> { size: 10.0 } |
| {{RustType}} | Link to Rust struct | App = {{App}} { ... } |
| name = <Widget> | Named child widget | btn = <Button> { } |
| dep("...") | Resource dependency | dep("crate://self/img.png") |
| Type | Example | Description |
|------|---------|-------------|
| Number | width: 100.0 | Float value |
| Color | color: #FF0000FF | RGBA hex color |
| String | text: "Hello" | Text string |
| Enum | flow: Down | Enum variant |
| Size | width: Fit | Fit, Fill, or numeric |
| Object | padding: { top: 10.0 } | Nested object |
| Array | labels: ["A", "B"] | List of values |
Parent = {
a: 1
nested: { x: 10, y: 20 }
}
Child = <Parent> {
a: 2 // Override a
b: 3 // Add new property
nested: { x: 30 } // Override only x, y remains 20
}
<Widget> syntax to inherit from built-in widgets{{RustType}} to link DSL to Rust structslive_design! macroresearch
Skill for academic research workflows: search Semantic Scholar (200M+ papers), inspect citations, download arXiv PDFs, and extract PDF text. Bundles a self-contained Python CLI.
development
Turns vague prompts into 8 structured planning files for brand new projects. DO NOT use on existing codebases.
development
Maps code, architecture, and infrastructure changes to specific control IDs in PCI-DSS v4.0 and MAS TRM (Singapore financial regulator), producing an audit-traceable findings report with per-control remediation.
testing
Companion to atlas-contract. Auto-invoked by its Final Audit on caught drift; also use after Post Reviews or user requests to record a mistake. Distills drift into WHEN/DON'T/INSTEAD clauses, writes to Atlas.md after confirmation.