CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

robius-event-action

CRITICAL: Use for Robius event and action patterns. Triggers on: custom action, MatchEvent, post_action, cx.widget_action, handle_actions, DefaultNone, widget action, event handling, 事件处理, 自定义动作

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/robius-event-action/SKILL.md

The canonical home for this skill is robius-event-action in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

67%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-organized, highly actionable pattern reference with concrete code and a coherent define → emit → centralize flow, only lightly redundant. Its main defect is broken progressive disclosure: the three advertised reference files are missing from the bundle, so the promised deeper material is unreachable.

Suggestions

Add the actual reference files (references/action-patterns.md, references/event-handling.md, references/moly-action-patterns.md) or remove the Reference Files section — advertising files that don't exist in the bundle is a hard navigation failure.

De-duplicate the repeated cx.widget_action emission and hit-testing examples: show each pattern once and cross-reference it from the other section instead of re-demonstrating it.

Add a short 'action not received' debugging note (e.g. forgot SignalToUI::set_ui_signal, posted vs widget action confusion) to close the workflow-clarity gap.

DimensionReasoningScore

Conciseness

The body is code-dense with minimal prose and assumes framework familiarity (no explanations of Rust or generic event concepts). However, the cx.widget_action emit pattern and finger hit-testing are demonstrated twice — once in 'Custom Action Pattern'/'Emitting Actions from Widgets' and again in 'Action Types'/'Event Handling Patterns' — which is minor redundancy that could be trimmed, matching anchor 4 rather than the lean anchor 5.

4 / 5

Actionability

Concrete, realistic Rust examples with real Makepad APIs (widget_uid, scope.path, as_widget_action().cast(), SignalToUI::set_ui_signal) covering the define → emit → handle flow for widget, posted, and global actions. Minor gaps keep it below anchor 5: helper methods like self.get_details() are undefined and how a custom enum actually becomes an Action (derive/trait) is not shown.

4 / 5

Workflow Clarity

The main pattern flow — define action enum with DefaultNone, emit from widget handle_event, centralize handling in App's handle_actions with the four cast patterns — is coherently sequenced, and the Best Practices list acts as a checklist. No destructive or batch operations, so validation checkpoints are not required; it falls short of anchor 5 only in lacking any verification/debug guidance (e.g. what to check when an action is not received).

4 / 5

Progressive Disclosure

The 'Reference Files' section clearly signals three references and describes their contents, but the referenced files (references/action-patterns.md, references/event-handling.md, references/moly-action-patterns.md) do not exist in the bundle — the references/ directory is absent entirely. Per the guideline to score against the actual bundle structure, navigation to deeper content fails and effectively all content is inlined in one ~350-line file, matching anchor 2 ('content that clearly belongs in separate files is inlined') rather than 3.

2 / 5

Total

14

/

20

Passed

Description

56%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.

The description has strong, explicit trigger guidance with good keyword coverage (including bilingual synonyms), but it fails to state what the skill actually does — the 'what' is only a domain name. Adding one or two concrete capability statements would lift both specificity and completeness.

Suggestions

State the skill's capabilities concretely, e.g. 'Defines custom action enums, emits them from widgets via cx.widget_action, and centralizes handling in App::handle_actions using MatchEvent' — this would raise specificity from anchor 2.

Mention Makepad/Robius explicitly as natural trigger words (e.g. 'makepad action', 'makepad event'), since users of this domain would likely say 'makepad' rather than 'Robius'.

Drop the 'CRITICAL:' prefix and convert the keyword list into a sentence combining what the skill does with when to use it, matching the good-overall examples' structure.

DimensionReasoningScore

Specificity

'Use for Robius event and action patterns' names the domain but lists no concrete capabilities; the remainder is a keyword list. This matches the anchor 'Names the domain but actions are minimal or generic' — it is not entirely vague (anchor 1) because the Robius domain is explicit, but it never states what the skill does.

2 / 5

Completeness

The 'when' is explicit and strong ('Use for...', 'Triggers on: ...'), but the 'what' is only implied — the description never says what the skill provides (defining actions, emitting them, centralizing handling, best practices). The weak 'what' keeps it at anchor 3's level rather than 4, which requires both present with a substantive statement of what it does.

3 / 5

Trigger Term Quality

Includes natural phrases users would say ('custom action', 'widget action', 'event handling') plus framework-specific terms (MatchEvent, post_action, cx.widget_action, DefaultNone) and Chinese synonyms (事件处理, 自定义动作). A few natural terms are missing — e.g. 'makepad', 'makepad action' — so it falls short of the comprehensive anchor 5.

4 / 5

Distinctiveness Conflict Risk

Robius/Makepad scoping with distinctive API tokens (MatchEvent, cx.widget_action, DefaultNone) establishes a clear niche, but generic trigger terms like 'event handling' and 'custom action' carry minor overlap risk with general event-handling skills. Mostly distinct, matching anchor 4 rather than the minimal-conflict anchor 5.

4 / 5

Total

13

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

referenced_paths_exist

Referenced path issues: 3 missing

Warning

Total

14

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills-claude/skills/robius-event-action/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.