Tooluck logoTooluck
Skill repository

matlab /

simulink-agentic-toolkit

The Simulink Agentic Toolkit gives your AI agent both the tools and the expertise to work effectively with Simulink and Model-Based Design.

Stars
1.3k
Skills
40
License
None
Last commit
Nov 4, 2026
install.sh
# every skill in this repo, via the skills CLI
npx skills add matlab/simulink-agentic-toolkit

# or, for Claude Code, copy one skill folder into

~/.claude/skills/ (all projects)

.claude/skills/ (this project)

View matlab/simulink-agentic-toolkit on GitHub
Inside this pack

40 skills in simulink-agentic-toolkit

Each skill is a SKILL.md file your agent loads when a task matches its description.
  1. 01
    simulink-author-classic-autosar-swc

    Use this skill when authoring, reworking, or validating a Classic AUTOSAR software component (SWC) in Simulink, including autosar.api mappings, runnables, timing events, sender-receiver ports, client-server operations, IRVs, BSW service callers, and component ARXML updates.

    View skill
  2. 02
    simulink-configure-code-interfaces

    Use the skill to control and verify the code interface configuration of your model — how Simulink® model elements are represented in the generated C or C++ code.

    View skill
  3. 03
    simulink-configure-model-for-code-generation

    Configure Simulink models for Embedded Coder (ERT), Simulink Coder (GRT rapid-prototyping), or AUTOSAR code generation. Use when the user asks to generate embedded C or C++ code, run a full build of a model, produce a code generation report, configure a model for production/ECU deployment or rapid-prototyping code, target ARM or x86 hardware, apply a MISRA C/C++ code-generation profile (ERT/AUTOSAR only, not GRT), or set up GRT, ERT, AUTOSAR, or shared-library targets. Handles target selection, hardware mapping, model hierarchy propagation, and optional support-flag introspection. Do NOT use for GRT shared-library variants (grt_malloc.tlc), DDS, or ROS. Do NOT use for Simulink Real-Time/Speedgoat targets (simulink-configure-real-time-model), Classic AUTOSAR component mapping/ports/runnables/ARXML authoring (simulink-author-classic-autosar-swc), auditing a model against MISRA guidelines (checking-model-compliance), or iterative optimization of existing generated code (simulink-optimizin

    View skill
  4. 04
    simulink-customize-a2l

    Customize A2L (ASAP2) files generated from Simulink models using coder.asap2 and coder.mapping APIs. Use this skill when adding COMPU_METHODs, creating GROUPs, converting STD_AXIS to COM_AXIS, adding BIT_OPERATIONs, creating VARIANT_CODING, excluding measurements or struct elements, removing DEFAULT_EVENT_LIST, or any A2L customization for calibration tool compatibility (INCA, CANape). Also use when the user mentions ASAP2, ECU calibration data, A2L export.

    View skill
  5. 05
    simulink-optimizing-embedded-code

    Routes Embedded Coder workflows for Simulink models. Use when asked to optimize or improve generated code, reduce code metrics, author Code Replacement Libraries, or improve Embedded Coder output. Targets: execution time, memory (RAM, ROM, stack), code size, MISRA compliance. Works iteratively with measurement, gating, and rollback. Triggers: optimize generated code, reduce runtime, shrink code size, improve code efficiency, reduce memory, speed up generated code, MISRA compliance, author CRL. CAUTION: Do NOT optimize generated code without this skill — the gating and rollback workflow is essential.

    View skill
  6. 06
    simulink-single-precision-conversion

    Converts a double-precision Simulink system or subsystem to single precision using DataTypeWorkflow.Single (Fixed-Point Designer). The single conversion replaces all user-specified double-precision data types, as well as output data types that compile to double precision, with single-precision data types. Use this skill when converting Simulink systems to single precision, reducing memory usage of a Simulink system, optimizing for embedded targets. Do NOT use for standalone MATLAB .m code single conversion.

    View skill
  7. 07
    slci-compatibility-analysis

    Use when you need to verify a Simulink model is compatible with SLCI code inspection, or to apply fixes for identified incompatibilities. Checks model configuration, identifies incompatibilities, and explains why each constraint is required for verification. Also invoked by slci-inspection-incompatibility-analysis to fix constraints and obtain compatibility results. Trigger keywords: checkCompatibility, SLCI compatibility, code inspection readiness, Model Advisor compatibility report.

    View skill
  8. 08
    slci-inspection-incompatibility-analysis

    Use when SLCI code inspection has failed due to compatibility issues and you need to diagnose the incompatibilities. Traces inspection failures back to root-cause incompatibility settings or known limitations by matching failed code lines against known incorrect code generation patterns and documented limitation scenarios. Hands off to slci-compatibility-analysis for fixes. Trigger keywords: inspect, inspection failed, trace inspection errors, why did inspection fail, SLCI verification failures, limitation.

    View skill
  9. 09
    simulink-control-motors

    Build motor control solutions using Motor Control Blockset for PMSM, induction motors, BLDC, and SynRM. Implement field oriented control, sensorless FOC, six-step control, speed control, current control, and torque control. Configure SVPWM, flux weakening, MTPA, MTPV, control of non-linear motors, inverter control, and motor parameter estimation. Compose motor drive models, tune gains, and generate embedded code.

    View skill
  10. 10
    simulink-frequency-response

    Estimate frequency response from Simulink models using frestimate. Use when frequency response should be obtained from simulation rather than model linearization.

    View skill
  11. 11
    simulink-linearize

    Linearize Simulink models. Use when obtaining linear time invariant or linear parameter varying models from Simulink models.

    View skill
  12. 12
    arranging-simulink-layouts

    Arranges and tidies Simulink block diagram layouts with the model_edit layout engine. Use when the user asks to fix, clean up, tidy, straighten, or rearrange a layout, when blocks overlap or lines cross, when specific blocks need re-placing, or when grouping blocks into or expanding a subsystem.

    View skill
  13. 13
    building-simulink-models

    Builds and edits Simulink, System Composer, Stateflow, and Simscape models. Use when modifying model structure, parameters, ports, connections, or Stateflow chart internals.

    View skill
  14. 14
    configuring-block-policy

    Guide users through creating and managing .satk/block-policy.json for controlling which blocks the agent can use, which are excluded, and which block parameters the agent should not modify. Use when setting up block usage policy for a project.

    View skill
  15. 15
    filing-bug-reports

    Generate a standalone bug report that another developer can use to reproduce, investigate, and fix an issue. Use when the user says 'file a bug', 'write a bug report', 'report this issue', or asks to document a defect for handoff.

    View skill
  16. 16
    generate-requirement-drafts

    Generates draft requirements from Simulink models. Use when drafting or updating requirement artifacts from a model. Prefers Requirements Toolbox (.slreqx) when available; falls back to structured YAML.

    View skill
  17. 17
    managing-simulink-projects

    Manages MATLAB projects for Simulink workflows: path management, file registration, labels, source control configuration, and project lifecycle. Use when creating projects, adding models/dictionaries/requirements to projects, configuring labels for automation, fixing broken model references, or setting up source control for Simulink artifacts.

    View skill
  18. 18
    setup-custom-libraries

    Register, add, or update existing custom Simulink block libraries and configure block policy and knowledge index. Use when a user wants to register, set up, configure, or add existing .slx library files for agent-assisted model building. Do NOT use when the user wants to create or author a new library from scratch — that requires building-simulink-models.

    View skill
  19. 19
    simulating-simulink-models

    Configures Simulink simulations non-destructively using SimulationInput objects — parameter overrides without modifying the model, batch sweeps via parsim, custom input signals via Dataset, and simulation data retrieval via logsout. Use when running sim()/parsim() with setVariable, setBlockParameter, setExternalInput, or when performing parameter sweeps and multi-run analysis. Not needed for one-shot simulations without configuration.

    View skill
  20. 20
    simulink-curating-library-kg

    Use this skill when the user wants to curate the SATK library knowledge index for a Simulink project — mark commonly used blocks, correct auto-assigned block categories, or improve block descriptions so the model-building agent picks better blocks from custom libraries. Triggered by phrases like "mark blocks common", "improve block descriptions", "correct block category", "make the agent prefer certain blocks", and from Gate 3 of building-simulink-models.

    View skill
  21. 21
    simulink-sanitize-model

    Sanitize and anonymize a Simulink model for external sharing. Use when stripping proprietary content, anonymizing block/signal names, removing metadata, or creating a shareable reproduction model for bug reports. Do NOT use for simply copying or sharing a model internally.

    View skill
  22. 22
    specifying-mbd-algorithms

    Specify algorithms for Model-Based Design: system specs, architecture specs, implementation plans, test plans. Use when creating specifications for controllers, signal processing, diagnostics, estimators, or other algorithms authored in Simulink, Stateflow, System Composer, or MATLAB Function blocks.

    View skill
  23. 23
    specifying-plant-models

    Specify plant models for closed-loop simulation: system specs, architecture, build plans, validation plans. Use when creating, updating, or reviewing plant model specifications, planning plant model architecture, or planning plant model validation.

    View skill
  24. 24
    building-architecture-models

    Build and refine multi-layer (functional/logical/physical) system architecture models with System Composer. Use when building or restructuring architecture models, or when working with interface dictionaries and port interfaces (including composite boundary ports), stereotypes and profiles, architecture views, sequence diagrams, allocation sets, roll-up analysis, or requirements traceability for architecture components.

    View skill
  25. 25
    simulink-manage-variant-configuration

    Manage Simulink Variant Manager and Variant Configurations workflows — examine, list, and explore variant configurations, variant control variables, and variant model structure; create, modify, and delete variant configurations; validate variant constraints; generate valid variant configurations; apply, activate, or update models with variant configurations; compare variant configurations and analyze which blocks are active or different; open or close the Variant Manager UI; set up non-intrusive variant configuration specific simulation and testing with variant configurations; show/hide variant control variable usage. Use when working with variant configurations, variant manager, VCS objects (VariantConfigurationData / VariantConfigurations), variant control variables, preferred configuration, activation of variant choices, or reducing a variant model to selected variant configurations.

    View skill
  26. 26
    simscape-write-ssc

    Use when writing or editing Simscape Language (.ssc) source files — components, domains, or functions. Triggers include: model a physical component in .ssc; write physical equations for a Simscape block; add or modify physics or parameterization options in a Simscape component; build a composite component. Also use for validating .ssc syntax, fixing Simscape Language errors, or converting governing equations into working Simscape component code. Do NOT use for configuring or connecting existing Simscape blocks in a Simulink model — that is model building, not language authoring.

    View skill
  27. 27
    simulink-configure-real-time-model

    Configure a Simulink model for Simulink Real-Time code generation and deployment. Use when setting up a model for Simulink Real-Time, selecting the correct system target file, fixing TLC/STF mismatches, applying fixed-step solver settings, validating target-platform compatibility, or configuring Simulink Real-Time build options before model build.

    View skill
  28. 28
    simulink-configure-real-time-target

    Manage Simulink Real-Time target computers from MATLAB — list available targets, check whether a target is connected, read its lifecycle status, add/remove/rename targets, set IP addresses and credentials, choose the default target, install TLS material, configure a startup application, and run target lifecycle ops (connect, reboot, RTOS update). Use whenever the user asks "which targets are available", "is my target connected", "what's the status of the target", "add a Speedgoat", "switch default target", "change the target IP", "reboot the box", "update the target", or works with `slrealtime.Targets`, `tg = slrealtime`, `addTarget`, `removeTarget`, `getTargetNames`, `getDefaultTargetName`, `setDefaultTargetName`, `connect`, `isConnected`, `status(tg)`, `setipaddr`, `setupTLSCertificate`, `setStartupApp`, `reboot`, `update`, or `slrealtime.testSetup`. Covers Speedgoat target computers and Simulink Real-Time Linux devices.

    View skill
  29. 29
    simulink-instrument-real-time-application

    Set up signal capture for a Simulink Real-Time application using `slrealtime.Instrument`. Use when choosing which signals a real-time application captures and where the data goes — test-pointing or canvas-badging a signal before build (`TestPoint`, `DataLogging`), constructing an Instrument from an `.mldatx`, calling `addSignal`, `addInstrumentedSignals`, `addFileLogSignals`, `validate`, `connectCallback`, `copy`, or `generateScript`, attaching an instrument to `tg.Instruments` via `addForFileLog`, `addForSDI`, or `addForMATLAB`, setting up live-streaming signals, dynamic file-log workflows, or persisting an instrument as M-code. Selects and routes signals only — not for configuring, building, running, or connecting applications onto targets.

    View skill
  30. 30
    simulink-run-real-time-application

    Build, deploy, run, monitor, tune, and stop Simulink Real-Time applications. Use when the user wants to build a Simulink Real-Time model, load/start/stop an `.mldatx` on a target, set stop time or start options, drive root inports/playback/parameter stimulation, inspect installed or running apps, tune parameters with `getparam`/`setparam`, read ad hoc signal values with `getsignal`, manage parameter sets, control recording, or choose between file logging, live streaming, and file-log import. Covers `slbuild`, `install`, `load`, `start`, `stop`, `setStopTime`, `tg.Stimulation`, `startRecording`/`stopRecording`, `tg.FileLog.import`, `slrealtime.exportRun`, `getparam`/`setparam`, `getsignal`, and installed app management for Speedgoat targets and Simulink Real-Time Linux devices.

    View skill
  31. 31
    simulink-streaming-dsp

    Building or editing Simulink (.slx) models that stream signals in frames using DSP System Toolbox — audio, vibration, radar, comms. Use when the prompt names a Simulink block (Discrete FIR Filter, Buffer, Unbuffer, Rate Transition, Downsample, Upsample, Sample-Rate Converter, FIR Decimation, Time Scope, Spectrum Analyzer, From Multimedia File) or an action (frame-based processing, InputProcessing, buffering, overlap, windowing, STFT, short-time Fourier, decimate, downsample, upsample, resample, multirate, anti-aliasing, tunable filter). Prevents silent numerical errors from sample-vs-frame mismatch, wrong block choice, or missing anti-aliasing.

    View skill
  32. 32
    simulink-create-block-icon

    Create and register Simulink block icons programmatically. Use when asked to create an icon, generate a block icon, design an SVG icon for a Simulink block, register an icon, or help with IconEditor features like visibility conditions, layout constraints, parts, port labels, dynamic text, or block frame shapes (e.g. a round or capsule outline).

    View skill
  33. 33
    finding-simulink-examples

    Find, show, open, or identify shipped MathWorks example models that demonstrate a concept, block, or application domain, and return the command to open them.

    View skill
  34. 34
    simulink-use-c-function-block

    Use when integrating legacy code, custom code, or C/C++ code into Simulink via C Function blocks. Configure Simulink C Function blocks programmatically using the SymbolSpec API. TRIGGER when the user: - Asks about calling or wrapping C/C++ code or libraries in Simulink - Wants to create, configure, or use a C Function block - Mentions integrating custom code, legacy code, or external C/C++ into a model - Asks to integrate a C++ class into a Simulink model or test bench - Mentions inputs/outputs/parameters for a C++ algorithm block

    View skill
  35. 35
    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. 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.

    View skill
  36. 36
    create-sdi-run

    Import data into the Simulation Data Inspector (SDI) from MAT, CSV, or Excel files, from workspace variables, or from a Simulink simulation. Use when the user wants to view a logged file in SDI, load a bench-test log, or verify what a just-completed `Simulink.sdi.createRun` or `sim(model)` produced. Covers the `'file'`, `'vars'`, and `'namevalue'` sources of `createRun`, the auto-populate behavior after `sim()`, and post-import verification. Not for comparing existing runs (use `Simulink.sdi.compareRuns`); not for streaming data live during a running simulation (use `Simulink.sdi.createRunOrAddToStreamedRun` — a separate API); and not for authoring Gherkin or Simulink Test test cases, assertions, or regression tests (use `testing-simulink-models`). Do not activate on test-authoring or verification prompts even when no test-authoring skill is available — say so and stop.

    View skill
  37. 37
    simulink-check-rapid-accelerator-compatibility

    Statically analyze a Simulink model for Rapid Accelerator (raccel) mode incompatibilities. Identifies unsupported blocks (Interpreted MATLAB Function, Level-2 S-Functions without TLC), configuration issues, and data type restrictions that prevent code generation. Classifies each issue as BLOCKER (build error) or WARNING (build warning). Use BEFORE calling sim() in rapid-accelerator mode, when buildRapidAcceleratorTarget fails, or when the user asks "why won't my model run in raccel?" TRIGGER: any request explicitly involving rapid accelerator mode, raccel, raccel build errors, or buildRapidAcceleratorTarget failures.

    View skill
  38. 38
    simulink-run-parallel-simulations

    Use this skill to run multiple Simulink simulations in parallel with parsim, batchsim, and DesignStudy. TRIGGER when: user asks for parameter sweep, sweeping/varying parameters across simulations, Monte Carlo study, batch simulation, running multiple simulations, parallel simulations, large-scale multiple simulations, any task involving repeated simulations with different parameter values, user mentions having an existing script/function for parameter sweeps, or user wants to migrate from parfor/set_param/for-loop patterns to recommended workflows.

    View skill
  39. 39
    author-modeladvisor-checks

    Author or upgrade Model Advisor checks for Simulink and System Composer models. Covers the full lifecycle: guideline authoring, check specification, Model Advisor check implementation, and qualification testing. Use when creating new checks (edit-time, standard batch, config-parameter, auto-fix), converting legacy StyleOne/StyleTwo/StyleThree checks to modern DetailStyle, creating a guideline for modeling, enforcing a modeling rule, or testing/qualifying a check. Triggers on any modeling constraint (e.g., "blocks shall...", "signals must match...", "parameters shall be set to...").

    View skill
  40. 40
    checking-model-compliance

    Use this skill when the user asks to check Simulink model compliance against a standard (MISRA, MAB, JMAAB, ISO, DO, IEC, EN, CERT C/CWE, AUTOSAR, Simulink Code Inspector (SLCI)), wants to run Model Advisor checks, or needs a compliance report with fix suggestions. For JMAAB/MAB, supplement deterministic checks with agentic review of uncheckable guidelines.

    View skill

Skills can include instructions and scripts that your agent will run. Read the SKILL.md and any bundled files before installing. Tooluck lists public GitHub data and does not audit this code.

Keep exploring

Similar skill repositories

Newsletter

Join the Community

Subscribe to our newsletter for the latest news and updates