CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

robius-state-management

CRITICAL: Use for Robius state management patterns. Triggers on: AppState, persistence, theme switch, 状态管理, Scope::with_data, save state, load state, serde, 状态持久化, 主题切换

Quality

73%

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/skills/robius-state-management/SKILL.md

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

SKILL.md
Quality
Evals
Security

Quality

Content

71%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 strong pattern catalog: executable, error-handled Rust code organized along a clear lifecycle arc with a well-signaled reference section. The main weaknesses are the missing bundle files behind every referenced path and the inlining of long, codebase-specific detail that belongs in those references.

Suggestions

Ship the referenced files (references/persistence-patterns.md, references/state-structures.md, references/moly-state-patterns.md) in the bundle, or remove the Reference Files section — every referenced path currently dangles, including the _base/ directory.

Move the long Robrix-specific code (SelectedRoom impl, LiveIdSerde conversions, SavedLayoutState detail) into references/state-structures.md and keep only the minimal shape of AppState plus the #[serde(skip)] pattern inline.

Define or stub the helper types used across examples (WindowGeomState, RoomNameId, get_current_user_id vs current_user_id) so the code is genuinely copy-paste ready.

DimensionReasoningScore

Conciseness

The body is code-dense with virtually no explanation of concepts Claude already knows, but it is long (~400 lines) and inlines Robrix-specific implementation detail (the full SelectedRoom impl with upgrade_invite_to_joined and PartialEq, LiveIdSerde conversion impls) that could be trimmed or moved to reference files. Not score 5 because not every token earns its place; not score 3 because there is no padded prose and the bulk is genuinely non-obvious pattern code.

4 / 5

Actionability

Concrete, mostly copy-paste-ready Rust (save_app_state, load_app_state, persistent_state_dir, thread_local! guards) with real error handling and file names. Not score 5 because several referenced types and helpers are undefined (WindowGeomState, RoomNameId, CachedData, and the inconsistent get_current_user_id/current_user_id), so examples are not fully self-contained.

4 / 5

Workflow Clarity

Sections follow a coherent arc (state structure → Scope propagation → persistence → startup/shutdown lifecycle → best practices), and the load path embeds checkpoints (NotFound fallback, deserialize-failure backup, default-state recovery). Not score 5 because the lifecycle sequence is shown only through code rather than explicit ordered steps, and the _base/ pattern table is presented without guidance on when to consult it.

4 / 5

Progressive Disclosure

Section structure is good and the "Reference Files" section clearly signals one-level-deep references, but none of the referenced files (references/persistence-patterns.md, references/state-structures.md, references/moly-state-patterns.md) exist in the bundle, and the referenced _base/ directory is likewise absent. Additionally, substantial pattern content that the skill's own structure suggests belongs in references is fully inlined. Not score 4 because the references are broken rather than having only minor organization gaps; not score 2 because the in-body structure and signaling are clear.

3 / 5

Total

15

/

20

Passed

Description

65%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 an explicit, well-differentiated trigger list with useful bilingual synonyms, but it never states what the skill actually does beyond naming its domain. Adding one sentence of concrete capabilities would lift it substantially.

Suggestions

State 2-3 concrete capabilities after the domain, e.g. "Designs AppState structures, implements serde-based save/load persistence, and propagates state through the widget tree via Scope::with_data".

Add the ecosystem names users naturally say — "Makepad", "Robrix", "Moly" — to the trigger list.

Drop the "CRITICAL:" padding; a plain "Use for... Triggers on..." is equally effective without the attention-grabbing fluff.

DimensionReasoningScore

Specificity

The only capability statement is "Use for Robius state management patterns", which names the domain but describes no concrete actions — the keyword list ("save state, load state", "persistence") is trigger material, not stated capabilities. It is not score 1 because a specific domain is named, and not score 3 because no concrete capability actions are described.

2 / 5

Completeness

Both parts are present: a "what" ("Use for Robius state management patterns") and an explicit "when" ("Triggers on: AppState, persistence, theme switch..."). Not score 3 because the trigger guidance is explicit rather than missing; not score 5 because the "what" is a bare domain mention without concrete capability verbs.

4 / 5

Trigger Term Quality

Good coverage of natural terms ("persistence", "theme switch", "save state", "load state") plus cross-language synonyms (状态管理, 状态持久化, 主题切换) and technical identifiers ("Scope::with_data", "serde"). Not score 5 because naturally occurring names like "Makepad", "Robrix", and "Moly" are missing.

4 / 5

Distinctiveness Conflict Risk

"Robius state management" with distinct triggers like "Scope::with_data" and "AppState" carves a clear niche with minimal conflict risk. Not score 5 because generic terms ("persistence", "serde", "save state") could overlap with general Rust persistence or state-management skills.

4 / 5

Total

14

/

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/skills/robius-state-management/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.