CRITICAL: Use for Makepad Splash scripting language. Triggers on: splash language, makepad script, makepad scripting, script!, cx.eval, makepad dynamic, makepad AI, splash 语言, makepad 脚本
48
52%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./plugins/AI-Agents-Safe-Coding-Skills/skills/makepad-splash/SKILL.mdThe canonical home for this skill is makepad-splash in administrakt0r/AI-Agents-Safe-Coding-Skills
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:
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:
// Embed Splash code in Rust
script!{
fn main() {
let x = 10;
console.log("Hello from Splash!");
}
}// Evaluate Splash code at runtime
cx.eval(code_string);
// With context
cx.eval_with_context(code, context);let x = 10;
let name = "Makepad";
let items = [1, 2, 3];
let config = { width: 100, height: 50 };fn add(a, b) {
return a + b;
}
fn greet(name) {
console.log("Hello, " + name);
}// If-else
if x > 10 {
console.log("big");
} else {
console.log("small");
}
// Loops
for i in 0..10 {
console.log(i);
}
while condition {
// ...
}console.log("Message");
console.warn("Warning");
console.error("Error");// 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" }
});// 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);// 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!");
});// 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:
// 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" }
]);57c135b
Canonical home
since Aug 19, 2026
Also appears in
since Aug 19, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.