authoring-simulink-inputs
Synthesize new waveforms from scratch for Simulink inports using createInputDataset. Use ONLY when the user asks to generate, create, or synthesize signals (step, ramp, sine, chirp, pulse, noise) to populate a Dataset for External Inputs or Signal Editor.
Install / Use
npx skills add matlab/simulink-agentic-toolkit --skill authoring-simulink-inputsInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Data & AnalyticsSupported Platforms
Tags
Our assessment of authoring-simulink-inputs
authoring-simulink-inputs scores 88/100 on our quality scale, 262nd of 505 Data & Analytics skills we index.
Its SKILL.md is 8.8 KB long, well organised into 14 sections with 1 code example: a thorough specification that gives an agent plenty to work with.
With 1,148 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 16 days ago, so authoring-simulink-inputs is actively maintained.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 88/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
authoring-simulink-inputs compared with similar skills
All 4 of these similar skills score higher than authoring-simulink-inputs; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| authoring-simulink-inputs (this skill)by matlab | 88 | 1.1k | 16d ago | SKILL.md |
| algorithmic-artby anthropics | 100 | 177.9k | 11d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 11d ago | SKILL.md |
| designby nextlevelbuilder | 100 | 130.2k | 12d ago | SKILL.md |
| ui-ux-pro-maxby nextlevelbuilder | 100 | 130.2k | 12d ago | SKILL.md |
Frequently asked questions
- How do I install authoring-simulink-inputs?
- Run
npx skills add matlab/simulink-agentic-toolkit --skill authoring-simulink-inputs. The install tabs above show the steps for each supported agent. - Which AI agents does authoring-simulink-inputs work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is authoring-simulink-inputs safe to use?
- It declares no license and scores 88/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is authoring-simulink-inputs still maintained?
- The repository was last updated 16 days ago, so authoring-simulink-inputs is actively maintained.
Skill content
View source on GitHubname: authoring-simulink-inputs description: > Synthesize new waveforms from scratch for Simulink inports using createInputDataset. Use ONLY when the user asks to generate, create, or synthesize signals (step, ramp, sine, chirp, pulse, noise) to populate a Dataset for External Inputs or Signal Editor. Covers timeseries and timetable formats with correct data type, interpolation, units, and dimensions. Also covers function-call and trigger inport timing setup. Do NOT use when the user wants to load, import, or read existing data from files (MAT, CSV, spreadsheet) — even if that data will be used as model input. Do NOT use for running simulations or plotting outputs. license: https://www.mathworks.com/content/dam/mathworks/license/pmrl/license.md metadata: author: MathWorks version: "1.0"
Author Input Signals
Create populated input signal datasets for Simulink models using createInputDataset as the scaffold, then populating with meaningful waveforms while preserving all signal metadata.
When to Use
- User asks to generate or create synthetic waveforms (step, ramp, sine, chirp, pulse, noise, constant) for a model's inports
- User wants to populate a Dataset created by
createInputDatasetwith meaningful signal data - User needs signals for Signal Editor scenarios
- User describes desired input signal behavior in natural language (e.g., "ramp from 0 to 10", "sine at 5 Hz")
- User wants timetable-based input signals for inports
- User needs to set up function-call timing or configure trigger/enable inport signals
- User wants to replace zero-filled scaffold data with realistic waveforms
When NOT to Use
- User wants to simulate the model, run it, or plot outputs — use
simulating-simulink-modelsinstead. This skill only creates input data; it never runssim()or produces plots. - User wants to load, import, or read data from existing files (CSV, MAT, spreadsheet, .mat workspace) — even if the destination is a model inport. This skill generates new synthetic waveforms from scratch; it does not read or convert existing recorded/measured data.
Output
This skill produces:
- MATLAB code — a local function that generates and returns the Dataset (reproducible, editable, keeps workspace clean)
- Dataset variable (
ds) — populatedSimulink.SimulationData.Datasetin the base workspace, ready for simulation - Summary — brief description of each element: name, data type, waveform shape, and value range
To simulate with the Dataset, follow the simulating-simulink-models skill workflow (SimulationInput → setExternalInput → sim).
Must-Follow Rules
- Start from
createInputDataset— call it exactly once — never build a Dataset from scratch. CallcreateInputDatasetonce per model (it triggers update diagram). For multiple datasets, clone the returned scaffold in a loop rather than callingcreateInputDatasetagain - Preserve metadata from scaffold — every new timeseries must copy
origEl.DataInfo.InterpolationandorigEl.DataInfo.Units. For timetables, copyorigEl.Properties.VariableContinuity. Omitting these is a bug - Replace elements in place — for timeseries:
ds{k} = ts. For timetable:ds = ds.setElement(k, tt, origEl.Properties.Description)— never useaddElement - Respect data types — use
cast(data, 'like', origEl.Data)to match any scaffold type (double, single, integer, fixed-point). For boolean inports usetrue(size(t))directly - Set interpolation correctly — continuous signals (sine, ramp, chirp) use linear; discrete signals (step, pulse, boolean, integer, noise) use zero-order hold. The scaffold's interpolation reflects the inport's
Interpolateproperty — preserve it unless the signal nature demands otherwise - Wrap all generation logic in a function — the only variables left in the base workspace should be the Dataset (and
simIn/simOutif simulating). All intermediate variables (t,dt,origEl,ts,signalData,k) must stay inside function scope - Never destroy user data — never call
clear,clearvars,clear all, orbdclose all. The user may have existing variables, models, or figures open. Only add to the workspace, never remove from it
Workflow
Determine your entry point. Do not always start at step 1. Assess what the user already has:
| User's current state | Start at | |---------------------|----------| | No existing Dataset or script — starting fresh | Step 1 | | Has a Dataset variable but it's empty/scaffold (all zeros or placeholder data) | Step 2 | | Has a Dataset with some signals populated but needs fixes (wrong shape, dtype, interpolation) | Step 2 — inspect the broken element, fix in place | | Has a working script but wants additional scenarios or signals added | Step 2 or "Creating Multiple Datasets" | | Has a complete Dataset but simulation fails | Diagnose the error first — often a metadata mismatch (interpolation, dtype, units) fixable in Step 2 |
A scaffold is the Dataset returned by createInputDataset. It contains one element per inport, pre-filled with correct metadata (data type, interpolation method, units, signal dimensions) but only placeholder time samples (typically 2 zero-valued rows). The workflow replaces this placeholder data with meaningful waveforms while preserving the metadata.
1. Create the scaffold (inside a function)
All generation code lives in a local function. The caller invokes the function and receives the populated Dataset:
ds = buildInputs('modelName');
function ds = buildInputs(mdl)
ds = createInputDataset(mdl);
% — or timetable format —
% ds = createInputDataset(mdl, 'DatasetSignalFormat', 'timetable');
stopTime = str2double(get_param(mdl, 'StopTime'));
dt = 0.01;
t = (0:dt:stopTime)';
% ... populate elements (Step 2) ...
end
If createInputDataset fails (model cannot compile), use model_read to inspect the model's inport blocks and ask the user for any type/dimension info that cannot be determined from the model structure.
2. Populate each element (inside the same function)
Replace placeholder scaffold data with meaningful signal waveforms while preserving metadata. For each element:
- Extract the original element (
origEl = ds{k}) - Generate your waveform and cast via
cast(data, 'like', origEl.Data)— works for all types including fixed-point - Create the new timeseries or timetable
- Copy
DataInfo.InterpolationandDataInfo.UnitsfromorigEl(timeseries) orVariableContinuityfromorigEl(timetable) - Replace in place:
ds{k} = ts(timeseries) ords = ds.setElement(k, tt, origEl.Properties.Description)(timetable)
See references/signal-patterns.md — "Dataset Assembly" sections — for the complete code patterns.
Creating Multiple Datasets
Call createInputDataset once, then clone the scaffold in a loop inside a function. See references/dataset-patterns.md — "Creating Multiple Datasets" section — for the complete pattern.
Bus Signal Inports
If the model has bus signal inports, see the "Bus Signal Inports" section in references/dataset-patterns.md.
Function-Call Inports
If the model has function-call inports, see the "Function-Call Inports" section in references/dataset-patterns.md.
Signal Types
See references/signal-patterns.md for waveform generation code (sine, step, ramp, chirp, pulse, noise, constant, enum).
Interpolation and Continuity (explicit set — use only when overriding scaffold)
| Signal nature | timeseries | timetable |
|--------------|-----------|-----------|
| Continuous (sine, ramp, chirp) | tsdata.interpolation('linear') | "continuous" |
| Discrete (step, pulse, boolean) | tsdata.interpolation('zoh') | "step" |
Guardrails
| Mistake | Why It's Wrong | Correct Approach |
|---------|---------------|-----------------|
| Using ones(size(t)) for boolean enable | Creates double; simulation fails with type mismatch | Use true(size(t)) |
| Ignoring struct fields in bus scaffold | Missing or incorrectly typed bus element causes simulation error | Populate every field in the struct, preserving each field's metadata |
| Treating scaffold data rows as signal width | Scaffold [2 1] data means 2 time samples of a scalar, not a 2-element vector | Use size(origEl.Data, 2) for signal width — rows are placeholder time samples |
| Enum data fails with "turn off interpolation" | Simulink requires Interpolate='off' on inport blocks receiving enum data — even with zoh set on the timeseries | This is a model fix, not a data fix. Use simIn.setBlockParameter(portPath, 'Interpolate', 'off') before simulating |
Copyright 2026 The MathWorks, Inc.
Related Skills
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
design
130.2kComprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini, Atlas Cloud, or MuAPI AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations (Chart.js), banner design (22 styles, social/ads/web/print), icon design (15 styles, SVG…
ui-ux-pro-max
130.2kUI/UX design intelligence for web, mobile, and desktop. This skill should be used when designing, building, reviewing, or fixing interfaces, including pages, components, design systems, accessibility, interaction, responsive layout, typography, color, charts, and stack-specific UI implementation.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
