Install any skill in seconds. Free to start, no credit card required.
Get Started Free →matlab/matlab-classify-tabular-data
Use this skill to classify tabular data end-to-end in MATLAB — load a dataset, prepare and clean it, select promising classifiers, train them, and compare accuracies with cross-validation, holdout, or hyperparameter optimization plus statistical tests. TRIGGER when: user asks to classify tabular data, pick classifiers for a dataset, compare classifier accuracy, run cross-validation or a holdout evaluation, or find the best model with statistical uncertainty. DO NOT TRIGGER when: user has non-tab
Passed 12 of 19 test cases with the skill, and 5 of 19 without it.
and 14 more in the full report
10 fixed5 passed either way8 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 10 test cases the skill fixed. Same model, same prompt, with and without the skill.
I am writing a script to train an ensemble of decision trees in Step 6 of a MATLAB model comparison. I plan to type fitensemble(X, Y, 'AdaBoostM1', 100, 'Tree') directly into the training loop. How does the static check gate evaluate this fit call?
| Checked | Without skill | With skill |
|---|---|---|
| The response rejects hand-written fitensemble calls without the 'c' prefix as retired MATLAB API syntax. | Missed | Passed |
| The response requires executing modelDefs(k).cvFitFcn or modelDefs(k).template rather than hand-typing fit calls in Step 6. | Missed | Passed |
The instructions your model reads when the skill loads.
Compare classifiers on the user's dataset and identify the top tier of models that are statistically equivalent in accuracy.
This skill bundles the workflow in references/ (step-by-step markdown instructions read on demand) and scripts/ (MATLAB code). Under scripts/, helpers/ holds the reusable computation and plotting functions the agent calls directly, and model_catalog/ holds the declarative branch-table .m files invoked internally by build_model_definitions via run(...). Do not invoke files in references/ as separate skills — they are only loaded via the Read tool when the corresponding step runs. See references/README.md for the layout.
matlab-train-network. This skill does include fitcnet as one candidate on regular-branch data, but does not tune network layers or hyperparameters.'Prior','uniform', offered via the UseUniformPrior flag in Step 5). Arbitrary 'Prior',[...] vectors and 'Cost',C matrices are not supported: neither the model-definition helper nor the CV/holdout scoring helpers thread these through, the branch tables and ECOC-expansion logic assume the built-in prior/cost defaults, and pairwise statistical tests (testckfold, testcholdout) score misclassification rate rather than expected cost. Attempting to bypass the helpers to inject a custom prior or cost is a hard refusal, not a judgment call — tell the user: "This skill does not support custom class priors or cost matrices. If you need cost-sensitive learning or a specific prior vector, use fitc* directly with the 'Prior' or 'Cost' name-value pair; this skill's statistical-comparison workflow will not give correct results in that setting."Run all MATLAB code via the MATLAB MCP server (mcp__matlab__evaluate_matlab_code, or mcp__matlab__run_matlab_file for scripts). Set project_path to this skill's scripts/helpers/ directory so the workflow helpers resolve on the current working folder without any addpath calls.
Talk to the user about their data and results, not about the skill's plumbing. Everything under references/ and scripts/ (both helpers/ and model_catalog/) is internal — a user watching the run should never have to ask what a filename means.
Concretely, while executing this skill:
references/select-classifiers.md, build_model_definitions, compute_pairwise_pvalues_cv, classifier_branches, resolve_recipe, modelDefs, cvFitFcn, etc., are all internal. If you must reference them (e.g., surfacing a bug the user can act on), name them once and explain what they are.isSparse is false so we skip the sparse branch" — all internal. The user only needs to hear the outcome: "This dataset is wide (200 features, 40 samples), so I'm using linear models."references/foo.md, that is a directive to you, not a status update to broadcast. Read it silently and continue.Illustrative contrast:
test cases passed, vs 5 / 19 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.