CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

scikit-learn

Machine learning in Python with scikit-learn. Use for classification, regression, clustering, model evaluation, and ML pipelines.

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/scikit-learn/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

56%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.

The skill body delivers genuinely executable code and well-sequenced workflows, but it is noticeably padded: duplicated sections, restatements of sklearn knowledge Claude already has, and inline content that the referenced files should carry. Critically, all 9 referenced bundle files (references/*.md and scripts/*.py) are missing from the skill bundle, breaking the progressive-disclosure structure it advertises.

Suggestions

Delete the 'Reference Documentation' section (it duplicates the 'See:' pointers already given in each Core Capabilities section) and the 'When to Use This Skill' list (it duplicates the frontmatter description) to cut roughly a third of the body.

Replace the algorithm taxonomy lists in 'Core Capabilities' with brief task-to-algorithm pointers and defer detail to the reference files; Claude already knows sklearn's API surface.

Include the 7 references/*.md and 2 scripts/*.py files in the bundle or remove the pointers to them; also fix the 'uv uv pip install' typo in the Installation section and add the missing numpy/matplotlib imports in the clustering workflow snippets.

DimensionReasoningScore

Conciseness

The body duplicates itself extensively: 'Use this skill for classification, regression, clustering, dimensionality reduction, preprocessing...' re-states the frontmatter description, the 'Reference Documentation' section re-announces every reference file already linked via 'See:' in Core Capabilities, 'Common Workflows' re-demonstrates the train_test_split/Pipeline patterns from Quick Start, and algorithm taxonomy lists ('Linear models', 'Partition-based: K-Means...') restate knowledge Claude already has. This matches anchor 2 (several padded/unnecessary sections), not 3 — the padding is pervasive rather than incidental — and not 1 because the code examples themselves are lean.

2 / 5

Actionability

Code is concrete and executable (ColumnTransformer pipeline, GridSearchCV tuning, silhouette-based k selection), matching anchor 4 (mostly executable, minor gaps). It is not 5 because the referenced runner scripts ('python scripts/classification_pipeline.py', 'python scripts/clustering_analysis.py') do not exist in the bundle and snippets use undefined names (np.argmax, plt.scatter, OneHotEncoder in the workflow section without imports); not 3 because the examples are real executable code, not pseudocode.

4 / 5

Workflow Clarity

'Building a Classification Model' is a clearly sequenced 6-step workflow ending in an evaluation checkpoint ('Evaluate on test set' with classification_report), and the clustering workflow embeds a validation step (silhouette analysis to pick k) — anchor 4 (clear sequence, most checkpoints present). Not 5 because there are no error-recovery feedback loops: the Troubleshooting section sits separate from the workflows rather than acting as inline checkpoints (e.g., 'if ConvergenceWarning, scale/increase max_iter and retry').

4 / 5

Progressive Disclosure

References are well-signaled and one level deep ('See: references/supervised_learning.md'), but none of the 7 referenced references/*.md or 2 scripts/*.py files exist in the bundle, the 'Reference Documentation' section duplicates the per-section pointers, and ~500 lines of taxonomy/workflow detail that belongs in those files is inlined. This fits anchor 3 (content that should be separate is inline), not 4 (organization gaps exceed minor), not 2 (structure and signaling are present and clear).

3 / 5

Total

13

/

20

Passed

Description

83%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.

A strong description: it names the domain and library, lists concrete task areas, and includes explicit 'Use for...' trigger guidance covering both what and when. The only improvements are adding common synonyms such as 'sklearn', 'train a model', and 'cross-validation' to sharpen trigger matching.

DimensionReasoningScore

Specificity

'Machine learning in Python with scikit-learn' names the domain and library, and the description lists several concrete task areas ('classification, regression, clustering, model evaluation, and ML pipelines') — anchor 4 (several specific actions, minor gaps). Not 5 because the items are task categories rather than the specific concrete actions of anchor 5, and coverage omits preprocessing and hyperparameter tuning; not 3 because it lists more than 1-2 actions.

4 / 5

Completeness

'Machine learning in Python with scikit-learn' answers what, and 'Use for classification, regression, clustering, model evaluation, and ML pipelines' explicitly answers when with concrete trigger phrases, closely mirroring the rubric's Excel good example. Anchor 5 rather than 4 because the 'when' clause is explicit and task-specific, not vague or merely implied.

5 / 5

Trigger Term Quality

Natural phrases users would say are present ('machine learning', 'classification', 'regression', 'clustering', 'model evaluation'), fitting anchor 4 (good coverage, a few natural terms missing). Not 5 because common synonyms and aliases are absent — 'sklearn', 'train a model', 'cross-validation', 'hyperparameter tuning' — whereas anchor 5 requires synonym-level coverage; not 3 because coverage goes well beyond one or two generic keywords.

4 / 5

Distinctiveness Conflict Risk

Explicitly naming 'scikit-learn' pins a clear niche, but generic task triggers like 'model evaluation' and 'ML pipelines' overlap with other ML library skills (TensorFlow, XGBoost, PyTorch). This matches anchor 4 (mostly distinct, minor overlap risk with closely related skills), not 5 because the trigger terms are not library-specific.

4 / 5

Total

17

/

20

Passed

Validation

75%

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

Validation — 12 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (522 lines); consider splitting into references/ and linking

Warning

metadata_version

'metadata.version' is missing

Warning

frontmatter_unknown_keys

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

Warning

referenced_paths_exist

Referenced path issues: 13 missing

Warning

Total

12

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

skills/scikit-learn/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.