Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →CRITICAL: Use for Makepad Splash scripting language. Triggers on: splash language, makepad script, makepad scripting, script!, cx.eval, makepad dynamic, makepad AI, splash 语言, makepad 脚本
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 14% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 27% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 9% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 65% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 38% | 0% |
> Version: makepad-widgets (dev branch) | Last Updated: 2026-01-19 > > Check for updates: https://crates.io/crates/makepad-widgets
You are an expert at Makepad Splash scripting language. Help users by:
script!, cx.eval, runtime-generated UI, or workflow automation in Makepad.Refer to the local files for detailed documentation:
./references/splash-tutorial.md - Splash language tutorialBefore answering questions, Claude MUST:
/sync-crate-skills makepad --force 更新文档"Splash is Makepad's dynamic scripting language designed for:
rust// Embed Splash code in Rust script!{ fn main() { let x = 10; console.log("Hello from Splash!"); } }
rust// Evaluate Splash code at runtime cx.eval(code_string); // security-allowlist: Makepad runtime API; require trusted code_string // With context cx.eval_with_context(code, context);
splashlet x = 10; let name = "Makepad"; let items = [1, 2, 3]; let config = { width: 100, height: 50 };
splashfn add(a, b) { return a + b; } fn greet(name) { console.log("Hello, " + name); }
splash// If-else if x > 10 { console.log("big"); } else { console.log("small"); } // Loops for i in 0..10 { console.log(i); } while condition { // ... }
splashconsole.log("Message"); console.warn("Warning"); console.error("Error");
splash// GET request let response = http.get("https://api.example.com/data"); // POST request let response = http.post("https://api.example.com/data", { body: { key: "value" } });
splash// Set timeout timer.set(1000, fn() { console.log("1 second passed"); }); // Set interval let id = timer.interval(500, fn() { console.log("tick"); }); // Clear timer timer.clear(id);
splash// Access widgets let button = ui.widget("my_button"); button.set_text("Click Me"); button.set_visible(true); // Listen to events button.on_click(fn() { console.log("Button clicked!"); });
splash// Async function async fn fetch_data() { let response = await http.get("https://api.example.com"); return response.json(); } // Call async fetch_data().then(fn(data) { console.log(data); });
Splash is designed for AI-assisted development:
splash// Dynamic UI generation fn create_form(fields) { let form = ui.create("View"); for field in fields { let input = ui.create("TextInput"); input.set_label(field.label); form.add_child(input); } return form; } // AI can generate this dynamically create_form([ { label: "Name" }, { label: "Email" }, { label: "Message" } ]);
Other measured skills in the registry, with their headline benchmark lift.