CtrlK
BlogDocsLog inGet started
Tessl Logo

training-machine-learning-models

Build train machine learning models with automated workflows. Analyzes datasets, selects model types (classification, regression), configures parameters, trains with cross-validation, and saves model artifacts. Use when asked to "train model" or "evalua... Trigger with relevant phrases based on skill purpose.

40

Quality

40%

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-ml/ml-model-trainer/skills/training-machine-learning-models/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

20%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is well-sectioned but overwhelmingly generic boilerplate with no executable guidance, and it ignores its own bundle of scripts and assets that should be referenced. Workflow steps are sequenced but lack any validation or feedback checkpoints.

Suggestions

Replace boilerplate sections ('Instructions', 'Output', 'Resources', 'Integration', 'Prerequisites') with concrete guidance: actual commands to run the bundled scripts (e.g., `python scripts/train_model.py --data <path> --target <col>`) and references to assets like [evaluation_report_template.md](assets/evaluation_report_template.md).

Add validation/feedback steps to the workflow — e.g., after training, check cross-validation metrics against a threshold and retry with adjusted hyperparameters if below it.

Link the existing bundle files (train_model.py, evaluate_model.py, save_model.py, evaluation_report_template.md, requirements.txt) from the relevant body sections so progressive disclosure is actually used, and reconcile scripts/README.md which lists .py files not present in the directory.

DimensionReasoningScore

Conciseness

The body is padded with generic boilerplate Claude already knows — 'This skill empowers Claude to automatically train and evaluate...', and filler sections like 'Output: The skill produces structured output relevant to the task', 'Resources: Project documentation / Related skills and commands', and 'Instructions: 1. Invoke this skill when the trigger conditions are met...'. This matches the verbose, padded anchor. It is not 2 because the unnecessary boilerplate is pervasive rather than occasional.

1 / 3

Actionability

Despite a bundle containing scripts (train_model.py, evaluate_model.py, preprocess_data.py, save_model.py, load_model.py) and assets (evaluation_report_template.md, example_dataset.csv, requirements.txt), the body gives no executable code, no commands, and never references or invokes these files — it only describes in prose what the skill 'will' do. This matches the vague/abstract, describes-rather-than-instructs anchor. It is not 2 because there is no concrete executable guidance at all, only high-level description.

1 / 3

Workflow Clarity

'How It Works' lists a clear three-step sequence (data analysis, model selection/training, evaluation/persistence), so a sequence is present. It is not 3 because there are no validation checkpoints or feedback loops (e.g., verify the model trained, check metrics against a threshold, retry on failure), and not 1 because the steps are explicitly listed and ordered rather than unclear or missing.

2 / 3

Progressive Disclosure

The body is organized into clear sections, but it never points to the bundled scripts or assets (e.g., the evaluation report template, requirements.txt, or the train/evaluate scripts), so useful bundled material is un-signaled. It is not 3 because references to the bundle are absent rather than clearly signaled one level deep, and not 1 because the content is sectioned and organized rather than a monolithic wall of text or deeply nested references.

2 / 3

Total

6

/

12

Passed

Description

60%

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 states concrete capabilities clearly but is undermined by a truncated, broken trigger clause and a leaked template instruction ('Trigger with relevant phrases based on skill purpose'). It answers 'what' well and 'when' only weakly, capping completeness and trigger quality.

Suggestions

Replace the truncated 'evalua...' and remove the template leak 'Trigger with relevant phrases based on skill purpose' with complete natural triggers such as 'Use when asked to train a model, evaluate a model, or run cross-validation on a dataset.'

Add common trigger variations users would actually say (e.g., 'train a classifier', 'fit a regression model', 'cross-validate a model') to improve trigger-term coverage and distinctiveness.

Keep the concrete action list but ensure the 'Use when' clause names dataset/model contexts that clearly separate this skill from generic data-analysis skills.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'Analyzes datasets, selects model types (classification, regression), configures parameters, trains with cross-validation, and saves model artifacts' — matching the anchor for listing several specific actions. It is not a 2 because it goes beyond naming a domain and a couple of actions to enumerate five discrete capabilities.

3 / 3

Completeness

The 'what' is clearly answered (analyze, select, configure, train, save), and a 'Use when...' clause exists, but the 'when' is truncated ('evalua...') and polluted by template boilerplate, so it does not 'clearly' answer when. It is not 3 because the trigger guidance is broken rather than explicit and complete, and not below 2 because an explicit Use-when clause is present rather than missing or merely implied.

2 / 3

Trigger Term Quality

It includes a natural phrase users would say ('train model'), but the second trigger is truncated ('evalua...') and followed by a leaked template instruction ('Trigger with relevant phrases based on skill purpose'), leaving only partial coverage of common variations. It is not 1 because 'train model' is a genuinely natural keyword, and not 3 because coverage is broken and incomplete.

2 / 3

Distinctiveness Conflict Risk

ML model training is a recognizable niche, but the trigger verbs ('train model', 'evalua...') are fairly generic and could overlap with adjacent data or evaluation skills. It is not 3 because the triggers are not distinct enough to rule out conflict, and not 1 because the domain is specific rather than broadly generic.

2 / 3

Total

9

/

12

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.

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository
jeremylongshore/claude-code-plugins-plus-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.