CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

makepad-splash

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

Quality

68%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/makepad-splash/SKILL.md

The canonical home for this skill is makepad-splash in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

63%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured body with concrete, largely executable examples for a genuinely niche language, hampered by a dead reference to references/splash-tutorial.md (the directory does not exist in the bundle) and by Basic Syntax sections that re-teach generic control flow. The doc-completeness workflow is a good pattern that anticipates the missing file, but the skill ships without the file it tells Claude to read.

Suggestions

Ship the referenced references/splash-tutorial.md file (or remove the reference) — the body's only progressive-disclosure pointer is to a nonexistent path.

Cut or compress the Basic Syntax sections (Variables, Functions, Control Flow) to a short syntax-differences note; the body itself states Splash is a JavaScript/Rust hybrid, so generic control flow needs no teaching.

Briefly document cx.eval_with_context's context parameter and the await/then semantics to close the actionability gaps.

DimensionReasoningScore

Conciseness

Sections on niche APIs (Built-in Objects, Widget Interaction, Async, AI Workflow Integration) earn their tokens, but the Basic Syntax sections — 'let x = 10', if/else, for/while loops with comments like '// If-else' and '// Loops' — re-teach control flow Claude already knows since the body itself says 'Splash syntax is similar to JavaScript/Rust hybrid'. This matches anchor 3 ('mostly efficient but includes some unnecessary explanation or could be tightened'); it is not anchor 2 because the padding is confined to a few sections and the API reference content is genuinely novel.

3 / 5

Actionability

Nearly all guidance is concrete, complete code: 'script!{ fn main() { ... } }', 'cx.eval(code_string)', 'http.get("https://api.example.com/data")', 'timer.interval(500, fn() { ... })', 'ui.widget("my_button")'. Anchor 5 would require fully copy-paste-ready coverage of common cases; minor gaps like the unexplained 'cx.eval_with_context(code, context)' and the ambiguous 'fetch_data().then(fn(data) { ... })' callback semantics hold it at anchor 4 ('mostly executable guidance with minor gaps').

4 / 5

Workflow Clarity

The pre-answer workflow is a clear sequence with an explicit failure checkpoint and fallback: '1. Read the relevant reference file(s)... 2. If file read fails or file is empty: Inform user... Still answer based on SKILL.md patterns + built-in knowledge 3. If reference file exists, incorporate its content'. This matches anchor 4 ('clear sequence with most checkpoints present'); it is not anchor 5 because there is no validation loop beyond the single read-check (e.g., no guidance on handling stale or partial reference content), and not anchor 3 because the checkpoint and error-recovery branch are explicit rather than implicit.

4 / 5

Progressive Disclosure

The body is well-organized with clear section headers and a clearly signaled one-level reference ('./references/splash-tutorial.md - Splash language tutorial'), but that sole referenced file does not exist in the bundle — the references/ directory is absent, so the primary navigation path is dead. Per the judging guideline to score against the actual bundle structure, this falls to anchor 3 ('could be better organized; references present but not clearly signaled' in effect — the structure is good but the reference layer is broken); it cannot be anchor 4 while the only reference is a dead pointer.

3 / 5

Total

14

/

20

Passed

Description

60%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, explicit trigger list with excellent bilingual and code-level keyword coverage, but the description never states what the skill does — it is essentially a trigger declaration plus a domain name. Adding explicit capability actions would make it a complete description.

Suggestions

Add explicit capability statements, e.g. 'Writes, debugs, and explains Makepad Splash scripts for dynamic UI and workflow automation' before the trigger list.

Add missing natural trigger variations such as 'splash script', 'makepad splash', and any Splash file extension if one exists.

DimensionReasoningScore

Specificity

The description names the domain concretely ("Use for Makepad Splash scripting language") but lists no capability actions at all — no equivalent of 'writes/debugs Splash scripts'. This matches anchor 2 ('Names the domain but actions are minimal or generic') rather than anchor 3, which requires 1-2 concrete actions; anchor 1 would fit if the domain itself were vague, which it is not.

2 / 5

Completeness

The 'when' is explicit and detailed ('Use for...', 'Triggers on: ...'), but the 'what' stops at naming the domain — the skill never states what it actually does (e.g., writing or explaining Splash code). This sits between anchor 2 ('only when present without what') and anchor 4 (both present); the concretely named domain keeps it above 2, and the total absence of capability statements keeps it below 4.

3 / 5

Trigger Term Quality

Explicit trigger list ('splash language, makepad script, makepad scripting, script!, cx.eval, makepad dynamic, makepad AI, splash 语言, makepad 脚本') covers good keyword variations including code constructs and both English and Chinese phrasings. It falls short of anchor 5's comprehensive coverage: common forms like 'splash script', 'makepad splash', or a file extension are missing.

4 / 5

Distinctiveness Conflict Risk

Makepad Splash is a clear niche with distinct, well-qualified triggers ('makepad script', 'script!', 'cx.eval', 'splash 语言') — virtually all terms are Makepad- or Splash-specific, matching anchor 5 ('Clear niche with distinct triggers; minimal conflict risk'). The only conceivable overlap ('splash' vs splash screens) is not among the listed phrases.

5 / 5

Total

14

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills-claude/skills/makepad-splash/SKILL.md

Reviewed

Table of Contents

Is this your skill?

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.