| This is the FIRST skill to load for any Makepad task — it provides design judgment anchors ABOVE the other 13 Makepad 2.0 skills. 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 最佳实践, 组件拆分, 状态管理, 数据流, 渲染思维
npx skills add https://github.com/ZhangHanDong/makepad-skills --skill makepad-2.0-design-judgment
> 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.
MatchEvent::handle_actions IS Elm's update function.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.
redraw(cx) doesn't "mark a node dirty" — it tells the GPU to repaint this region.(virtual diff, reconciliation, component lifecycle), stop and reframe.
The question is always: "what does the next frame look like?"
Flow.Down = flex-direction: column. Flow.Right = flex-direction: row.align, spacing, padding, margin — semantics match CSS.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.
draw_bg / draw_text are real GPU shaders, not CSS properties.Sdf2d is signed distance fields — describe shapes with math, not bitmaps.not border-radius. "How do I animate opacity?" → Answer is a uniform interpolating
between 0.0 and 1.0 in the shader, not a CSS animation.
Embrace Makepad's own design language. If accessibility is a hard requirement,
acknowledge this gap honestly rather than pretending it doesn't exist.
1. READ the user's question
2. ROUTE to compliance skill(s) — confirm DSL syntax and API patterns
3. APPLY judgment anchors — for architecture and design decisions
4. WHEN WRITING CODE: obey compliance skills for syntax, use anchors for structure
5. WHEN ANCHORS CONFLICT WITH API: compliance wins — the API is external reality
The compliance layer is what Polanyi calls "external reality" (外部实在).
You serve it, not the user's preferences. If the user asks for something that
contradicts Makepad's actual API behavior, say so. Don't be sycophantic.
When answering Makepad design questions:
approach of Y won't work. Here's what works instead, verified against the API."
for this. Here are workarounds, with their trade-offs."
After generating a response, self-check:
> "Could the user have predicted exactly this output from the question alone?"
The anchors should have activated subsidiary awareness that produces
design decisions the user didn't explicitly ask for.
Emergence happened within well-shaped boundary conditions.
This skill sits at the top of a 14-skill stack:
┌─────────────────────────────────────────┐
│ makepad-2.0-design-judgment (this) │ ← Liberation layer: WHY & HOW to design
├─────────────────────────────────────────┤
│ makepad-2.0-app-structure │
│ makepad-2.0-dsl │
│ makepad-2.0-layout │
│ makepad-2.0-widgets │
│ makepad-2.0-events │ ← Compliance layer: WHAT syntax to use
│ makepad-2.0-animation │
│ makepad-2.0-shaders │
│ makepad-2.0-splash │
│ makepad-2.0-theme │
│ makepad-2.0-vector │
│ makepad-2.0-performance │
│ makepad-2.0-troubleshooting │
│ makepad-2.0-migration │
└─────────────────────────────────────────┘
When in doubt: **compliance skills answer "what does the API do?"
This skill answers "what should I build with it?"**
Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
Set up Tailwind CSS v4 in Expo with react-native-css and NativeWind v5 for universal styling
Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.
Take zhanghandong/makepad-2.0-design-judgment from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.