Use this skill when conditioning, loading, preparing, or labeling signal data for analysis or ML training. Covers: cleaning a single signal (fill gaps, remove drift, deoutlier, denoise, resample/align a time base) BEFORE analysis; building a `signalDatastore` pipeline; creating a `labeledSignalSet` for Signal Labeler; deriving labels (filename, folder, in-file, ROI, time-frequency ROI); stratified train/val/test splits; framing long signals; parallel processing; and shaping datastore output for
SkillScore95Maintained
Automatic
◆Data Engineer pack
Last verified 8/16/2026
What it changes
Passed 21 of 22 test cases with the skill, and 15 of 22 without it.
Without skill68%
With skill95%
Checks it passed that the model alone missed
Uses signalDatastore to load the signal files.
Uses smoothdata to reduce high-frequency noise.
Uses detrend to eliminate low-frequency baseline drift.
and 7 more in the full report
6 fixed15 passed either way1 still failing0 broke
Pass-rate lift
+27 pp
Tokens
+69%
Agent turns
0%
Response time
-32%
Model gemini-3.6-flashMeasured 8/16/2026v121 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 6 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 6
Prompt
I have a directory containing hundreds of multi-column CSV files containing sensor signals in MATLAB. I want to build a datastore that reads only specific named columns directly without writing a custom ReadFcn. How can this be accomplished natively?
What was checked, without and with the skill
Checked
Without skill
With skill
Sets SignalVariableNames when initializing signalDatastore.
Missed
Passed
Avoids custom ReadFcn implementations for standard CSV parsing.
Passed
Passed
case-13 · gemini-3.6-flash · 8/16/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md131 lines38 files
Prepare Signal Data
Look in Signal Processing Toolbox first. The conditioning, labeling,
splitting, framing, and partitioning helpers here live in Signal Processing
Toolbox — not in Stats & ML Toolbox or generic-MATLAB string utilities.
The arc: condition a raw signal (clean it) -> load a folder into a
datastore -> label -> split / frame -> hand off to trainnet. Each
stage is a workflow file; this page routes you to the right one.
When to Use
Cleaning a single signal before analysis: fill gaps, remove drift, deoutlier,
denoise, put it on a uniform time base, align multiple channels.
Loading / preparing signal data for ML training: datastores, labels from
filenames or folders, stratified splits, framing, parallel processing.
Structured labeling: labeledSignalSet for Signal Labeler, all label types.
When NOT to Use
Raw .wav audio classification with Audio Toolbox available.audioDatastore is the canonical path (this skill's custom-ReadFcn
workflow handles .wav only when Audio Toolbox is absent —
references/wf-custom-readfcn.md).
Frequency-selective filter DESIGN (band isolation, notch, custom FIR/IIR)
— see the matlab-design-digital-filter skill. This skill's conditioning is
about cleaning, not designing filters.
Computing per-frame features (RMS, crest factor, spectral / bandwidth,
time-frequency features) from an already-conditioned signal — see the
matlab-extract-signal-features skill. This skill's framesig / framelbl
are for manual per-window labeling / supervision, not for deriving a feature
table; the signal*FeatureExtractor objects window internally and emit the
table.
Best practices
Deliverable is a runnable .m script the user can save, version, and
re-run — not workspace state.
Prefer the highest-level function that does the job.detrend /
smoothdata / fillmissing / resample read cleanly and are easy for a
Version-stamp, re-package, and distribute the .mltbx toolbox. Sets version in ToolboxOptions, re-runs packageToolbox, and guides distribution. Requires explicit user confirmation.