Process split datasets into training, validation, and testing sets for ML model development. Use when requesting "split dataset", "train-test split", or "data partitioning". Trigger with relevant phrases based on skill purpose.
48
37%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/ai-ml/dataset-splitter/skills/splitting-datasets/SKILL.mdQuality
Discovery
75%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 adequately covers the what and when, earning full marks on completeness, and occupies a distinct niche. However, it lacks depth in specific capabilities (e.g., stratification, ratio configuration, supported formats) and the trigger terms could be broader. The final sentence 'Trigger with relevant phrases based on skill purpose' is vague filler that adds no value.
Suggestions
Add more concrete actions beyond basic splitting, such as 'Supports stratified splitting, configurable train/val/test ratios, random seed control, and outputs to CSV or DataFrame formats.'
Expand trigger terms to include common user variations like 'holdout set', 'stratified split', 'train validation test', 'partition data', and relevant file formats.
Remove the vague sentence 'Trigger with relevant phrases based on skill purpose' as it provides no useful information for skill selection.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (ML dataset splitting) and the core action (process split datasets into train/val/test sets), but doesn't list multiple concrete actions beyond the single splitting operation—no mention of stratification, shuffling, ratio configuration, or output formats. | 2 / 3 |
Completeness | Explicitly answers both 'what does this do' (process split datasets into training, validation, and testing sets for ML model development) and 'when should Claude use it' (with a 'Use when' clause listing specific trigger phrases). | 3 / 3 |
Trigger Term Quality | Includes some natural trigger terms like 'split dataset', 'train-test split', and 'data partitioning', but misses common variations users would say such as 'train/val/test', 'holdout set', 'cross-validation', 'stratified split', or file format references like CSV/parquet. | 2 / 3 |
Distinctiveness Conflict Risk | The description targets a clear niche—ML dataset splitting into train/val/test sets—with specific trigger terms that are unlikely to conflict with other skills like general data processing or model training skills. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
0%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill is almost entirely boilerplate with no actionable content. It lacks any executable code examples for dataset splitting (e.g., using sklearn's train_test_split), contains multiple sections of generic filler that Claude already knows, and provides no concrete guidance that would help Claude perform the task. The skill reads like a template that was never filled in with real content.
Suggestions
Replace the abstract descriptions with executable Python code using sklearn.model_selection.train_test_split, including stratification and configurable ratios.
Remove all boilerplate sections (Overview, When to Use, Integration, Prerequisites, Instructions, Output, Error Handling, Resources) that contain no specific information.
Add a concrete validation step after splitting, such as printing shape/class distribution of each split to verify correctness.
Provide at least one complete, copy-paste-ready code example that reads a CSV, splits it with stratification, and saves the output files.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose with sections that explain obvious concepts Claude already knows (e.g., 'Overview', 'When to Use This Skill', 'How It Works' describing generic steps). Multiple sections like 'Integration', 'Prerequisites', 'Instructions', 'Output', 'Error Handling', and 'Resources' are vague filler that add no actionable value. | 1 / 3 |
Actionability | No executable code anywhere in the skill. Examples describe what the skill 'will do' in abstract terms rather than providing actual Python code for splitting datasets. There are no concrete commands, no import statements, no library usage examples—just vague descriptions of actions. | 1 / 3 |
Workflow Clarity | The workflow steps are abstract ('Analyze Request', 'Generate Code', 'Execute Splitting') with no concrete validation checkpoints. There's no guidance on verifying split ratios, checking for data leakage, or validating output file integrity. The 'Instructions' section is entirely generic boilerplate. | 1 / 3 |
Progressive Disclosure | The content is a monolithic wall of text with no references to external files and no meaningful structure. Sections like 'Resources' point to nothing specific ('Project documentation', 'Related skills and commands'). Content that could be concise is spread across many shallow, unhelpful sections. | 1 / 3 |
Total | 4 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
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 | 9 / 11 Passed | |
3a2d27d
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.