CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ml-best-practices

CRITICAL RULE: You MUST use this skill whenever the task involves any machine learning tasks or data analysis. Use this skill if the user's prompt or requirements mention any of the following: * Clustering * Classification * Regression * Time series forecasting * Statistical testing * Model comparison * ML * Data analysis SQL/BigQuery ML HANDOFF: If the user requires a SQL solution, use this skill to dictate the ANALYSIS STEPS (e.g., markdown analysis cells, visualization logic), but defer to `bigquery` for all SQL syntax.

Quality

66%

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 ./.agents/skills/ml-best-practices/SKILL.md
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, domain-appropriate set of ML analysis playbooks with concrete, technique-specific steps and logical sequencing including some conditional feedback. Its main weaknesses are token inefficiency from repeated boilerplate steps across sections and the absence of any progressive disclosure — all seven plans sit inline in one file with no references to offload the unused ones.

Suggestions

Factor the ~8 preprocessing bullets repeated across Clustering, Classification, Regression, and No match into a single shared 'Universal preprocessing' section (or the existing 'Essential ML Practices') and reference it from each task plan.

Move each per-task plan (clustering, classification, regression, time series, model comparison) into references/<task>.md and keep SKILL.md as a short overview with one-level-deep pointers, so only the matched plan loads into context.

Make evaluation steps concrete: name the error metrics per task (e.g., RMSE/MAE for regression, F1/PR-AUC for classification) and specify candidate model families for 'Train two time series forecasting models'.

DimensionReasoningScore

Conciseness

The body is mostly lean checklist guidance, but the same preprocessing bullets ("Understand the schema and field descriptions", "Transform ordinal data with an ordinal encoder", "Standardize numerical features", "Prefer to keep data instead of dropping it when possible") are repeated nearly verbatim across the Clustering, Classification, Regression, and No match sections — noticeably more than minor trimming. No concept over-explanation, but the duplication inflates token cost.

3 / 5

Actionability

As an instruction-only skill the guidance is concrete and executable, naming specific techniques ("collect the silhouette score", "chronological split", "$k$-fold cross-validation", "bootstrapping to calculate 95% confidence intervals", "SHAP or LIME"). Minor gaps remain: steps like "Evaluate the models", "Select a model", and "Train two time series forecasting models" name no metrics or model families, so they read as high-level hints in places.

4 / 5

Workflow Clarity

Each task section is a clearly ordered pipeline from schema understanding through preprocessing, training, evaluation, to a "Conclusion: comprehensively answer the prompt" cell, and conditional checkpoints exist ("If there is evidence of overfitting, regularize and retrain the model", silhouette-based cluster selection). Not a 5 because there are no explicit verify-then-proceed gates (e.g., confirm stationarity test results before choosing model hyperparameters).

4 / 5

Progressive Disclosure

The single SKILL.md inlines ~190 lines containing seven mutually exclusive task plans, only one of which is used per invocation; content that clearly belongs in per-task reference files (e.g., references/clustering.md) is inlined, so unused plans consume context. Sections are well-headered, but no references/ files exist and nothing is split out.

3 / 5

Total

14

/

20

Passed

Description

52%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 explicit trigger guidance with a natural, well-enumerated keyword list, but it never states what the skill actually does, uses coercive second-person voice, and casts a very broad net ("data analysis") that risks conflicts with adjacent skills. It is a trigger list masquerading as a capability description.

Suggestions

Open with a third-person capability statement, e.g., "Provides ML analysis workflows and best practices for clustering, classification, regression, time series forecasting, and model comparison", then keep the trigger list.

Add the missing natural trigger variations: "machine learning" spelled out, "forecast"/"predict", "anomaly detection", and "train a model".

Drop the "CRITICAL RULE: You MUST" framing in favor of neutral "Use when…" phrasing to reduce over-triggering on generic data-analysis requests.

DimensionReasoningScore

Specificity

The description enumerates the domain's subtopics (Clustering, Regression, Time series forecasting, etc.) but states only one partial action — "use this skill to dictate the ANALYSIS STEPS (e.g., markdown analysis cells, visualization logic)" — and only for the SQL case; the skill's actual capabilities (analysis plans, encoding rules, evaluation workflows) are never stated. Second-person voice ("You MUST use this skill", "use this skill if the user's prompt") incurs the rubric's -1 penalty on top of an already actions-minimal profile.

2 / 5

Completeness

The "when" is explicit and strong ("Use this skill if the user's prompt or requirements mention any of the following: …"), but the "what" is never directly stated — the reader must infer the skill's function from the trigger list and the SQL handoff sentence. This sits between anchor 2 (only "when" present) and anchor 3: noticeably richer than "Use when working with documents", yet the skill's purpose (ML best-practice analysis workflows) is implied rather than declared.

3 / 5

Trigger Term Quality

The trigger list contains natural terms users would actually say ("Clustering", "Regression", "Time series forecasting", "Statistical testing", "ML", "Data analysis"), matching the good-coverage anchor. It falls short of 5 because common variations are missing: "machine learning" spelled out, "forecast"/"predict", "anomaly detection", "EDA", and "train a model".

4 / 5

Distinctiveness Conflict Risk

The ML subtask list is fairly distinctive, and the "defer to `bigquery` for all SQL syntax" handoff shows deliberate conflict avoidance with a neighboring skill. But "data analysis" is very broad, and the "CRITICAL RULE: You MUST use this skill whenever…" framing maximizes over-trigger risk against any statistics, visualization, or BI-adjacent skill.

3 / 5

Total

12

/

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

saski/arnesto

Path

.agents/skills/ml-best-practices/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.