Show all installed MATLAB products and support packages for a given MATLAB installation folder. Use when listing, checking, or verifying what products or support packages are in a MATLAB installation.
npx skills add https://github.com/matlab/matlab-agentic-toolkit --skill matlab-list-products
Use this skill when asked to show, list, or check what MATLAB products or support packages are installed in a given MATLAB installation.
$ARGUMENTS
matlab-install-products instead)ver or version in MATLAB)The user may provide a matlabroot path or a release name, and optionally a platform. Resolve the matlabroot as follows:
C:\Program Files\MATLAB\R2025a, /usr/local/MATLAB/R2025a, /Applications/MATLAB_R2025a.app): use it as-is. Infer the platform from the path format (backslash / drive letter -> Windows; /Applications/MATLAB_ prefix -> macOS; other Unix path -> Linux).R2025a, or shorthand like 25a): expand shorthand to full form (25a -> R2025a, 26a -> R2026a, etc.) and construct the default path for the detected or specified platform:C:\Program Files\MATLAB\<release>/usr/local/MATLAB/<release>/Applications/MATLAB_<release>.appIf the platform cannot be inferred from the path, assume Windows.
> Important: Execute all steps below silently. Do not narrate, describe, or show progress to the user. Output only the final formatted result from Step 6.
Take the last component of the matlabroot path as the release name. Strip any trailing .app suffix for macOS paths.
Examples:
C:\Program Files\MATLAB\R2025a -> release = R2025a/usr/local/MATLAB/R2025a -> release = R2025a/Applications/MATLAB_R2025a.app -> release = R2025aFallback: If the last path component does not match R20\d{2}[ab] (e.g. custom installs like L:\prod25b), read {matlabroot}/VersionInfo.xml and extract the release from the <release> element. If that file is missing, ask the user for the release name.
Read the file (use forward slashes on Linux/macOS, backslashes on Windows):
{matlabroot}/appdata/prodcontents.json
This is a single-line JSON object. Parse it as JSON and extract the keys — these are the installed product names (e.g. "MATLAB 25.1 win64", "MATLAB 25.1 glnxa64", "MATLAB 25.1 maca64"). The values (XML paths) are not needed.
Derive the support package root based on platform:
C:\ProgramData\MATLAB\SupportPackages\{release}/usr/local/MATLAB/SupportPackages/{release}~/Library/Application Support/MathWorks/MATLAB/SupportPackages/{release}Read the file:
{supportpkgroot}/appdata/prodcontents.json
If the file does not exist, note that no support packages are installed and skip this section.
Each key in prodcontents.json looks like "MATLAB 25.1 win64" or "MATLAB Support Package for USB Webcams 25.1.0 win64".
Strip the trailing version number and platform token to get a clean display name:
25.1, 25.1.0, 25.2)win64, glnxa64, maci64, maca64, or commonExamples:
| Raw key | Display name |
|---|---|
| MATLAB 25.1 win64 | MATLAB |
| Simulink 25.1 win64 | Simulink |
| Datafeed Toolbox 25.1 win64 | Datafeed Toolbox |
| Motor Control Blockset 25.1 win64 | Motor Control Blockset |
| MATLAB Documentation 25.1.0 win64 | MATLAB Documentation |
| MATLAB Support Package for USB Webcams 25.1.0 win64 | MATLAB Support Package for USB Webcams |
Sort the cleaned product names using MATLABabetical order:
MATLABMATLAB CopilotSimulinkSimulink CopilotAny of the four anchor products that are not installed are simply omitted. Products not in the anchor list are sorted alphabetically after them.
Sort support packages in standard alphabetical order.
Show the release name as a heading, the installation folder, then two separate tables.
Use this exact format:
Installed at: {matlabroot}
Support packages at: {supportpkgroot}
| Installed Products |
|---|
| MATLAB |
| Simulink |
| ... |
| Installed Support Packages |
|---|
| MATLAB Support Package for USB Webcams |
| ... |
If no support packages are installed, show the heading and a single line: No support packages installed.
| Pattern | Purpose |
|---|---|
| {matlabroot}/appdata/prodcontents.json | JSON file listing installed products (keys = product names) |
| {supportpkgroot}/appdata/prodcontents.json | JSON file listing installed support packages |
| MATLABabetical sort | MATLAB, MATLAB Copilot, Simulink, Simulink Copilot first, then alphabetical |
| Version/platform stripping | Remove trailing 25.1 win64 etc. from raw keys |
----
Copyright 2026 The MathWorks, Inc.
----
Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.
Intelligently organizes your files and folders across your computer by understanding context, finding duplicates, suggesting better structures, and automating cleanup tasks. Reduces cognitive load and keeps your digital workspace tidy without manual effort.
Generates creative domain name ideas for your project and checks availability across multiple TLDs (.com, .io, .dev, .ai, etc.). Saves hours of brainstorming and manual checking.
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
Implements Manus-style file-based planning for complex tasks. Creates task_plan.md, findings.md, and progress.md. Use when starting complex multi-step tasks, research projects, or any task requiring >5 tool calls.
Creative research ideation and exploration. Use for open-ended brainstorming sessions, exploring interdisciplinary connections, challenging assumptions, or identifying research gaps. Best for early-stage research planning when you do not have specific observations yet. For formulating testable hypotheses from data use hypothesis-generation.
Comprehensive GitHub project management with swarm-coordinated issue tracking, project board automation, and sprint planning
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
Take matlab/matlab-list-products from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.