makepad-router
Scannednpx machina-cli add skill SageV1/makepad-skills/makepad-router --openclawMakepad Question Router
Version: 2.0.0 | Last Updated: 2026-01-21
INSTRUCTIONS FOR CLAUDE
When this skill is triggered, you MUST load the appropriate sub-skill(s) based on the question:
Routing Table
| 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 |
Context Bundle Loading
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 |
Skill Dependencies
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 |
Example Workflow
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.
Default Project Settings
When creating Makepad projects:
[package]
edition = "2024"
[dependencies]
makepad-widgets = { git = "https://github.com/makepad/makepad", branch = "dev" }
[features]
default = []
nightly = ["makepad-widgets/nightly"]
Key Patterns Quick Reference
Widget Definition
#[derive(Live, LiveHook, Widget)]
pub struct MyWidget {
#[deref] view: View,
#[live] property: f64,
#[rust] state: State,
#[animator] animator: Animator,
}
Async Pattern (Robius)
// UI -> Async
submit_async_request(MyRequest { ... });
// Async -> UI
Cx::post_action(MyAction { ... });
SignalToUI::set_ui_signal();
Source
git clone https://github.com/SageV1/makepad-skills/blob/main/skills/makepad-router/SKILL.mdView on GitHub Overview
Makepad-router directs Makepad and Robius questions to the most relevant sub-skills (such as widgets, layout, events, and shaders). It uses a routing table to map keywords to the right skill and can load context bundles for complex tasks. This keeps answers precise, with guidance drawn from the exact expertise needed.
How This Skill Works
It analyzes the user prompt, matches keywords against the routing table, and loads the corresponding sub-skills. For multi facet tasks it can load a Context Bundle that combines skills like widgets, layout, animation, and shaders. The response is generated from patterns and guidance across the loaded skills.
When to Use It
- You need help with a Makepad UI component and its layout
- You want to implement widget events or action handling
- You are working with shaders or drawing techniques
- You are building a full app that spans multiple areas and requires several skills
- You are troubleshooting deployment, package, or platform issues
Quick Start
- Step 1: Identify keywords in your question (for example widget, layout, event, shader)
- Step 2: Let makepad-router select the appropriate skills via the routing table or a context bundle
- Step 3: Get guidance compiled from the loaded skills with practical code patterns
Best Practices
- Start with keyword rich prompts to trigger correct mappings
- Rely on the routing table to route to the right sub skill
- For tasks spanning areas, request a Context Bundle to load multiple skills
- Be aware of skill dependencies to ensure coherent guidance
- Mention Makepad terms clearly to help accurate routing
Example Use Cases
- How do I create a custom button with hover animation
- How can I lay out a responsive UI with Flow and Walk
- How do I handle clicks in a TextInput widget
- How do I apply a gradient or glow shader to a view
- What are the steps to deploy a Makepad app for WASM