makepad-router
zhanghandong
"CRITICAL: Use for ALL Makepad/Robius questions including widgets, layout, events, and shaders.
bunx add-skill zhanghandong/makepad-skills -s makepad-routerLoading…
zhanghandong
"CRITICAL: Use for ALL Makepad/Robius questions including widgets, layout, events, and shaders.
bunx add-skill zhanghandong/makepad-skills -s makepad-routerLoading…
Version: 2.0.0 | Last Updated: 2026-01-21
When this skill is triggered, you MUST load the appropriate sub-skill(s) based on the question:
| Keywords | Load Skill |
|---|---|
live_design!, app_main!, getting started, app structure | makepad-basics |
DSL, inheritance, <Widget>, Foo = { } | makepad-dsl |
| layout, Flow, Walk, padding, width, height, center, align | makepad-layout |
| View, Button, Label, Image, TextInput, widget, Markdown, Html | makepad-widgets |
| event, action, Hit, FingerDown, handle_event, click | makepad-event-action |
| animator, state, transition, hover, pressed | makepad-animation |
| shader, draw_bg, Sdf2d, gradient, glow, shadow | makepad-shaders |
| font, text_style, font_size, glyph | makepad-font |
| platform, macOS, Android, iOS, WASM | makepad-platform |
| tokio, async, spawn, submit_async | robius-app-architecture |
| apply_over, modal, collapsible, pageflip | robius-widget-patterns |
| custom action, MatchEvent, post_action | robius-event-action |
| AppState, persistence, theme switch | robius-state-management |
| deploy, package, APK, IPA | makepad-deployment |
| troubleshoot, error, debug | makepad-reference |
For complex tasks, load multiple skills:
| Context | Load These Skills |
|---|---|
| Create widget/component | makepad-widgets, makepad-dsl, makepad-layout, makepad-animation, makepad-shaders, makepad-event-action |
| Build full app | makepad-basics, makepad-dsl, makepad-layout, makepad-widgets, makepad-event-action, robius-app-architecture |
| UI design | makepad-dsl, makepad-layout, makepad-widgets, makepad-animation, makepad-shaders |
| Production patterns | robius-app-architecture, robius-widget-patterns, robius-state-management |
When loading a skill, also load its dependencies:
| Skill | Also Load |
|---|---|
| makepad-widgets | makepad-layout, makepad-dsl |
| makepad-animation | makepad-shaders |
| makepad-shaders | makepad-widgets |
| robius-widget-patterns | makepad-widgets, makepad-layout |
User: "How do I create a custom button with hover animation?"
Analysis:
1. Keywords: custom, button, hover, animation
2. Context: Widget creation
3. Load: makepad-widgets, makepad-animation, makepad-shaders, makepad-event-action
Answer using patterns from all loaded skills.
When creating Makepad projects:
[package]
edition = "2024"
[dependencies]
makepad-widgets = { git = "https://github.com/makepad/makepad", branch = "dev" }
[features]
default = []
nightly = ["makepad-widgets/nightly"]
#[derive(Live, LiveHook, Widget)]
pub struct MyWidget {
#[deref] view: View,
#[live] property: f64,
#[rust] state: State,
#[animator] animator: Animator,
}
// UI -> Async
submit_async_request(MyRequest { ... });
// Async -> UI
Cx::post_action(MyAction { ... });
SignalToUI::set_ui_signal();
Use when you need to run Flow type checking, or when seeing Flow type errors in React code.
Use when you want to validate changes before committing, or when you need to check all React contribution requirements.
Use when feature flag tests fail, flags need updating, understanding @gate pragmas, debugging channel-specific test failures, or adding new flags to React.
Use when you need to check feature flag states, compare channels, or debug why a feature behaves differently across release channels.