Skip to content
Skillpedia
General coding48k · #3541

makepad-splash

Helps your agent understand and run scripts in the Makepad Splash language. It's useful for those working with dynamic interface and feature development on the Makepad platform.

What it does

Splash is a scripting language for creating dynamic user interfaces and automating tasks within the Makepad environment. It allows AI to generate and modify visual elements and workflows in real-time.

When to use it

  • ✓When you need scripts to create self-changing user interfaces.
  • ✓To automate repetitive tasks within Makepad.
  • ✓When using commands like `script!` or `cx.eval` to run code dynamically.

Example of what to ask your AI

“Create a Splash script that displays a 'Hello, World!' message on the screen.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/makepad-splash/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/makepad-splash/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

Makepad executes Splash code directly within the application. It can be embedded in Rust code using `script!` or run in real-time with `cx.eval` to create or alter the interface.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add sickn33/agentic-awesome-skills --skill makepad-splash

Or download just the file:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/makepad-splash/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Supporting material availability

This catalog copy contains the inline guidance below, but does not include the following supporting paths. They are external prerequisites, not bundled files:

  • ./references/splash-tutorial.md

Ask for the original supporting material or an existing installation before using a step that depends on these paths; this catalog does not identify a verified download source for them. Resolve each path relative to that installation, inspect its contents, and verify any applicable license and execution prerequisites. Do not run a command or claim a referenced procedure was followed until its required file exists. Do not fabricate the missing scripts or treat an unrelated file with the same name as equivalent. Independent steps fully documented here can proceed within the user’s authorized scope; report any dependent step as unavailable.

Makepad Splash Skill

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:

  • Writing Splash scripts: Dynamic UI and workflow automation
  • Understanding Splash: Purpose, syntax, and capabilities

When to Use

  • You need dynamic scripting inside Makepad using Splash.
  • The task involves script!, cx.eval, runtime-generated UI, or workflow automation in Makepad.
  • You want guidance on Splash syntax and purpose rather than static Rust-only patterns.

Documentation

Refer to the local files for detailed documentation:

  • ./references/splash-tutorial.md - Splash language tutorial

IMPORTANT: Documentation Completeness Check

Before answering questions, Claude MUST:

  1. Read the relevant reference file(s) listed above
  2. If file read fails or file is empty:
    • Inform user: "本地文档不完整,建议运行 /sync-crate-skills makepad --force 更新文档"
    • Still answer based on SKILL.md patterns + built-in knowledge
  3. If reference file exists, incorporate its content into the answer

What is Splash?

Splash is Makepad's dynamic scripting language designed for:

  • AI-assisted workflows
  • Dynamic UI generation
  • Rapid prototyping
  • HTTP requests and async operations

Script Macro

// Embed Splash code in Rust
script!{
    fn main() {
        let x = 10;
        console.log("Hello from Splash!");
    }
}

Execution

// 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);

Basic Syntax

Variables

let x = 10;
let name = "Makepad";
let items = [1, 2, 3];
let config = { width: 100, height: 50 };

Functions

fn add(a, b) {
    return a + b;
}

fn greet(name) {
    console.log("Hello, " + name);
}

Control Flow

// If-else
if x > 10 {
    console.log("big");
} else {
    console.log("small");
}

// Loops
for i in 0..10 {
    console.log(i);
}

while condition {
    // ...
}

Built-in Objects

console

console.log("Message");
console.warn("Warning");
console.error("Error");

http

// 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" }
});

timer

// 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);

Widget Interaction

// 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 Operations

// 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);
});

AI Workflow Integration

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" },

…
FAQ

What is Makepad?

Makepad is a framework for building applications with beautiful and fast user interfaces, using the Rust programming language.

What's the difference between Rust and Splash?

Rust is the main language for building the entire application, focused on performance and safety. Splash is a simpler language used for dynamic scripting and automation within Makepad, like a 'mini-program' inside the app.

Where are the Splash tutorials?

Detailed tutorials are in local files like `./references/splash-tutorial.md`. If you can't find them, you might need to update the Makepad documentation.

Details

Original description by the author

CRITICAL: Use for Makepad Splash scripting language. Triggers on: splash language, makepad script, makepad scripting, script!, cx.eval, makepad dynamic, makepad AI, splash 语言, makepad 脚本

repo: sickn33/agentic-awesome-skills

Popularity

GitHub stars
48k
Ranking position
#3541
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills