makepad-2.0-animation
CRITICAL: Use for Makepad 2.0 animation system. Triggers on: makepad animation, makepad animator, Animator, AnimatorState, hover effect, makepad transition,…
CRITICAL: Entry-level skill for Makepad 2.0 GUI development. This is the FIRST skill to load for any Makepad task — it provides design judgment anchors ABOVE the other 13 Makepad 2.0 skills. Triggers on: makepad, makepad app, makepad project, makepad design, live_design!,
$ npx -y skills add ZhangHanDong/makepad-skills --skill makepad-2.0-design-judgment --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/makepad-2.0-design-judgmentContext preview
The summary Claude sees to decide when to auto-load this skill.
CRITICAL: Entry-level skill for Makepad 2.0 GUI development. This is the FIRST skill to load for any Makepad task — it provides design judgment anchors ABOVE the other 13 Makepad 2.0 skills. Triggers on: makepad, makepad app, makepad project, makepad design, live_design!,
name: makepad-2.0-design-judgment description: | CRITICAL: Entry-level skill for Makepad 2.0 GUI development. This is the FIRST skill to load for any Makepad task — it provides design judgment anchors ABOVE the other 13 Makepad 2.0 skills. Triggers on: makepad, makepad app, makepad project, makepad design, live_design!, app_main!, script_mod!, Cx, WidgetRef, Widget, makepad-widgets, makepad architecture, makepad how to, "how should I", "should I use", "what's the best way", makepad 架构, makepad 设计, makepad 怎么做, makepad 最佳实践, 组件拆分, 状态管理, 数据流, 渲染思维
> **Role:** Entry-level routing + design judgment anchors for Makepad 2.0 development. > **Relationship to other skills:** This skill is the **liberation layer** (释放层). > The other 13 Makepad 2.0 skills are the **compliance layer** (服从层) — they provide > DSL syntax, API patterns, widget catalogs. Don't argue with them. Obey them. > This skill provides **conceptual anchors** for design decisions that have no single > correct answer.
This skill operates as a **quality valve** (质量阀门), simultaneously performing two functions:
**Key principle:** Conceptual anchors set **boundary conditions** for emergence. They don't instruct the model what to output — they shape the space in which good output emerges. Rules tell you "don't do X". Anchors tell you "think like Y".
---
For any Makepad question, FIRST identify which compliance skill(s) to co-load:
| Question Domain | Co-load Skill | |----------------|---------------| | App setup, Cargo.toml, hot reload, `app_main!` | makepad-2.0-app-structure | | DSL syntax, `script_mod!`, property system | makepad-2.0-dsl | | Width, height, Flow, Fill, Fit, spacing | makepad-2.0-layout | | Widget catalog, View, Button, Label, PortalList | makepad-2.0-widgets | | Events, actions, `on_click`, `handle_event` | makepad-2.0-events | | Animator, hover, pressed, state transitions | makepad-2.0-animation | | `draw_bg`, Sdf2d, pixel fn, GPU shaders | makepad-2.0-shaders | | Splash scripting, `script_mod!`, hot reload | makepad-2.0-splash | | Theme colors, fonts, dark/light mode | makepad-2.0-theme | | Vector graphics, SVG, gradients, tweens | makepad-2.0-vector | | Performance, GC, draw batching, profiling | makepad-2.0-performance | | Errors, bugs, widget not showing, FAQ | makepad-2.0-troubleshooting | | Migrating from 1.x to 2.0 | makepad-2.0-migration |
**Always co-load at least one compliance skill.** This skill alone is not enough — it provides judgment, not syntax.
---
When the question involves HOW to organize, structure, or design (not just WHAT syntax to use), apply these conceptual anchors. Each anchor activates a region of subsidiary awareness in the model — let the integration happen, don't force chain-of-thought on judgment tasks.
that need to be aware of each other — STOP. Lift state to a common ancestor.
widget's bounds should be owned by a common ancestor or overlay owner, not buried as ordinary children inside the triggering widget.
`Cx::post_action` + `SignalToUI` is the canonical async→UI bridge. Don't invent alternatives.
In Makepad: widgets with `#[live]` fields and `#[deref] view: View` delegation.
In Makepad: widgets with `#[rust]` fields that hold business state.
split it. The `#[deref]` delegation pattern exists precisely for this.
(virtual diff, reconciliation, component lifecycle), stop and reframe. The question is always: "what does the next frame look like?"
Each component's style is self-contained. This is a **strength**, not a limitation.
cascades down — you're fighting the framework. Use themes (`mod.themes`) instead.
not `border-radius`. "How do I animate opacity?" → Answer is a uniform interpolating between 0.0 and 1.0 in the shader, not a CS
Skills for building cross-platform UI applications with Makepad 2.0.
CRITICAL: Use for Makepad 2.0 animation system. Triggers on: makepad animation, makepad animator, Animator, AnimatorState, hover effect, makepad transition,…
CRITICAL: Use for Makepad 2.0 app structure and Rust integration. Triggers on: makepad app, makepad getting started, app_main!, App::run, MatchEvent, AppMain,…
CRITICAL: Use for Makepad 2.0 DSL syntax and property system. Triggers on: makepad dsl, script_mod!, makepad syntax, makepad property, makepad 2.0 syntax,…
CRITICAL: Use for Makepad 2.0 event and action handling. Triggers on: makepad event, makepad action, MatchEvent, handle_event, handle_actions, on_click,…
CRITICAL: Use for Makepad 2.0 layout system. Triggers on: makepad layout, makepad width, makepad height, makepad flex, makepad flow, makepad padding, makepad…
CRITICAL: Use for migrating from Makepad 1.x to 2.0. Triggers on: makepad migration, live_design to script_mod, makepad upgrade, makepad 1.x, old syntax, new…