Antigravity-awesome-skills makepad-splash
install
source · Clone the upstream repo
git clone https://github.com/sickn33/antigravity-awesome-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sickn33/antigravity-awesome-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/antigravity-awesome-skills-claude/skills/makepad-splash" ~/.claude/skills/sickn33-antigravity-awesome-skills-makepad-splash && rm -rf "$T"
manifest:
plugins/antigravity-awesome-skills-claude/skills/makepad-splash/SKILL.mdsafety · automated scan (low risk)
This is a pattern-based risk scan, not a security review. Our crawler flagged:
- eval/exec/Function constructor
Always read a skill's source content before installing. Patterns alone don't mean the skill is malicious — but they warrant attention.
source content
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!
, runtime-generated UI, or workflow automation in Makepad.cx.eval - You want guidance on Splash syntax and purpose rather than static Rust-only patterns.
Documentation
Refer to the local files for detailed documentation:
- Splash language tutorial./references/splash-tutorial.md
IMPORTANT: Documentation Completeness Check
Before answering questions, Claude MUST:
- Read the relevant reference file(s) listed above
- 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
- Inform user: "本地文档不完整,建议运行
- 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); // 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" }, { label: "Email" }, { label: "Message" } ]);
Use Cases
- Rapid Prototyping: Quickly test UI layouts without recompilation
- AI Agents: Let AI generate and modify UI dynamically
- Configuration: Runtime configuration of app behavior
- Scripted Workflows: Automate repetitive tasks
- Plugin System: Extend app functionality with scripts
When Answering Questions
- Splash is for dynamic/runtime scripting, not core app logic
- Use Rust for performance-critical code, Splash for flexibility
- Splash syntax is similar to JavaScript/Rust hybrid
- Scripts run in a sandboxed environment
- HTTP and timer APIs enable async operations
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.