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, 机器学习, 人工智能, 模型推理
44
46%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/domain-ml/SKILL.mdQuality
Discovery
54%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 trigger term coverage with natural keywords, Rust-specific crate names, and multilingual terms. However, it critically lacks any description of what the skill actually does — no concrete actions or capabilities are listed. It reads more like a keyword index than a skill description.
Suggestions
Add specific concrete actions the skill enables, e.g., 'Guides building neural networks, running model inference, training models, and working with tensors in Rust using crates like tch-rs, burn, candle, and ndarray.'
Restructure to lead with a 'what it does' clause before the 'Use when' clause, e.g., 'Provides patterns and guidance for implementing ML pipelines, model inference, tensor operations, and neural network architectures in Rust. Use when...'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description lacks any concrete actions. It says 'Use when building ML/AI apps in Rust' but never describes what the skill actually does — no specific capabilities like 'train models', 'run inference', 'build neural networks', or 'optimize tensors' are listed. | 1 / 3 |
Completeness | The 'when' is explicitly stated ('Use when building ML/AI apps in Rust'), but the 'what' is essentially missing — there is no description of what the skill actually does or what concrete capabilities it provides. The rubric caps completeness at 2 when key information is missing. | 2 / 3 |
Trigger Term Quality | Excellent coverage of natural trigger terms including 'machine learning', 'ML', 'AI', 'tensor', 'model', 'inference', 'neural network', 'deep learning', 'training', 'prediction', plus specific Rust crate names (ndarray, tch-rs, burn, candle) and even Chinese keywords. Users would naturally use many of these terms. | 3 / 3 |
Distinctiveness Conflict Risk | The combination of ML/AI + Rust is somewhat distinctive, and the specific Rust crate names (tch-rs, burn, candle) help differentiate it. However, without concrete actions described, it could overlap with general Rust development skills or general ML skills. | 2 / 3 |
Total | 8 / 12 Passed |
Implementation
37%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides a reasonable overview of ML/AI crate choices and design patterns in Rust, with useful framework selection guidance and a partially executable inference server example. However, it suffers from an abstract meta-framework ('Layer 1/2/3') that consumes tokens without adding actionable value, incomplete code examples that aren't fully executable, and a complete lack of workflow sequencing for common ML tasks like setting up a project, loading/validating models, or deploying inference pipelines.
Suggestions
Add a clear step-by-step workflow for the most common use case (e.g., 'Deploy ONNX model for inference') with explicit validation steps like verifying model loads correctly and testing with sample input.
Make code examples fully executable: replace `SimplePlan<...>` with the actual type or a type alias, and provide concrete implementations for `stack_inputs`/`unstack_outputs` in the batched inference example.
Remove or significantly condense the 'Trace Down/Trace to Layer 1' sections — these add meta-framework overhead without actionable guidance. Replace with direct links or brief 'See also' references.
Add a minimal Cargo.toml snippet showing required dependencies for the primary use case (tract ONNX inference) so the skill is immediately actionable.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill has some unnecessary structure like the 'Trace Down' and 'Trace to Layer 1' sections that add meta-framework overhead without actionable value. The constraint tables are reasonably concise but the repeated cross-referencing to abstract 'layers' adds tokens without clear benefit. | 2 / 3 |
Actionability | The inference server code pattern is mostly concrete and executable, but uses `SimplePlan<...>` placeholder syntax and the batched inference example relies on undefined `stack_inputs`/`unstack_outputs` functions, making it pseudocode rather than copy-paste ready. The framework selection table is helpful but the critical constraints section is abstract rather than instructive. | 2 / 3 |
Workflow Clarity | There is no clear multi-step workflow for setting up an ML project, loading models, or deploying inference. The content presents isolated patterns and tables but lacks sequenced steps, validation checkpoints, or error recovery guidance for operations like model loading or GPU setup that can fail in complex ways. | 1 / 3 |
Progressive Disclosure | The content references related skills (m10-performance, m12-lifecycle, etc.) which provides some navigation, but there are no bundle files to support progressive disclosure. The document itself is somewhat monolithic with many tables that could be better organized, and the layer references (Layer 1, 2, 3) suggest a framework structure that isn't clearly navigable. | 2 / 3 |
Total | 7 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
fa60f79
Table of Contents
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.