CtrlK
BlogDocsLog inGet started
Tessl Logo

domain-ml

Use when building ML/AI apps in Rust. Keywords: machine learning, ML, AI, tensor, model, inference, neural network, deep learning, training, prediction, ndarray, tch-rs, burn, candle, 机器学习, 人工智能, 模型推理

58

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 ./skills/domain-ml/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%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, token-efficient Rust ML reference with strong crate guidance and good code patterns, held back by non-executable placeholders in its code examples and the absence of validation/feedback steps for its batch-inference workflows.

Suggestions

Make the Batched Inference example executable by replacing stack_inputs/unstack_outputs placeholders with real ndarray operations or by clearly labeling the snippet as illustrative.

Add an explicit validation/checkpoint for batch inference (e.g., verify tensor shapes before model.run, check output length matches input) to satisfy the batch-operation feedback-loop expectation.

Resolve the async/run mismatch in the inference server example (tract's run is synchronous) and expand the truncated SimplePlan<...> generic so the snippet compiles.

DimensionReasoningScore

Conciseness

The body is dense and table-driven with no explanation of concepts Claude already knows, but minor redundancy (the Domain Constraints table is restated in Critical Constraints) and meta-framing ('Layer 3', 'Trace Down') keep it just short of fully lean.

4 / 5

Actionability

It provides concrete Rust code (inference server, batched inference) and specific crate guidance, but key examples contain pseudocode placeholders (stack_inputs, unstack_outputs, model.run in an async fn) and a truncated generic (SimplePlan<...>), so it is not fully executable.

3 / 5

Workflow Clarity

The skill is organized as a domain reference rather than a sequenced process, and while the 'Trace Down'/'Trace to Layer 1' sections give loose ordering, there are no explicit validation checkpoints or feedback loops — relevant since the skill covers batch processing, which the rubric caps at 3 without validation.

3 / 5

Progressive Disclosure

No bundle files exist and the body is a compact, well-sectioned overview (under 50 substantive lines with clear headers and tables), meeting the simple-skill exception where well-organized structure alone earns a 5 with no external references needed.

5 / 5

Total

15

/

20

Passed

Description

67%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 excels at trigger-term breadth and distinctiveness but is weak on stating concrete capabilities, relying on keywords instead of action verbs. Adding 2-3 explicit actions (e.g., 'build, train, and run ML inference') would lift specificity and completeness.

Suggestions

Replace the keyword-only 'what' with concrete actions, e.g., 'Build, train, and run ML/AI inference in Rust' before the 'Use when' clause.

Promote the most natural trigger phrases (machine learning, neural network, inference) into the action sentence so capabilities and triggers reinforce each other.

Keep crate names (tch-rs, candle, burn, ndarray) as supporting keywords but ensure at least one user-natural verb describes what the skill does.

DimensionReasoningScore

Specificity

The description names the domain ('building ML/AI apps in Rust') but lists no concrete actions, relying on a keyword catalog rather than stating what the skill does (e.g., train, infer, deploy). It is not entirely vague (rule 1) but lacks the 1-2 concrete actions needed for a 3.

2 / 5

Completeness

It has a clear 'when' ('Use when building ML/AI apps in Rust') with explicit triggers, but the 'what' is vague — 'building ML/AI apps' is not a concrete capability statement, matching the 'clear what but when weak/missing' inverted case at the midpoint.

3 / 5

Trigger Term Quality

Comprehensive coverage of natural trigger terms (ML, AI, neural network, deep learning, training, prediction), ecosystem crate names (ndarray, tch-rs, burn, candle), and Chinese synonyms, matching the 'comprehensive coverage including synonyms' anchor.

5 / 5

Distinctiveness Conflict Risk

The Rust + ML niche anchored by specific crates (tch-rs, candle, burn, tract) creates a clear, distinct trigger profile with minimal overlap risk against generic skills.

5 / 5

Total

15

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
actionbook/rust-skills
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.