matlab-install-products
Deterministic workflow to download MATLAB Package Manager (mpm) and install MathWorks products from the OS command line with consistent, repeatable behavior
Install / Use
npx skills add matlab/matlab-agentic-toolkit --skill matlab-install-productsInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AutomationSupported Platforms
Tags
Our assessment of matlab-install-products
matlab-install-products scores 93/100 on our quality scale, 746th of 2,848 Automation skills we index (top 27%).
Its SKILL.md is 23 KB long, well organised into 29 sections with 11 code examples: a thorough specification that gives an agent plenty to work with.
With 1,098 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 18 days ago, so matlab-install-products 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.
matlab-install-products compared with similar skills
All 4 of these similar skills score higher than matlab-install-products; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| matlab-install-products (this skill)by matlab | 93 | 1.1k | 18d ago | SKILL.md |
| Agent-Reachby Panniantong | 100 | 89.8k | 18d ago | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 85.4k | today | MCP Server |
| rufloby ruvnet | 100 | 73.8k | today | MCP Server |
| algorithmic-artby anthropics | 100 | 177.9k | 11d ago | SKILL.md |
Frequently asked questions
- How do I install matlab-install-products?
- Run
npx skills add matlab/matlab-agentic-toolkit --skill matlab-install-products. The install tabs above show the steps for each supported agent. - Which AI agents does matlab-install-products 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 matlab-install-products 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 matlab-install-products still maintained?
- The repository was last updated 18 days ago, so matlab-install-products is actively maintained.
Skill content
View source on GitHubname: matlab-install-products description: "Deterministic workflow to download MATLAB Package Manager (mpm) and install MathWorks products from the OS command line with consistent, repeatable behavior. Use when installing MATLAB, Simulink, toolboxes, or support packages via command line, or setting up scripted installations for CI/CD, containers, or fleet provisioning." license: "https://www.mathworks.com/content/dam/mathworks/license/pmrl/license.md" metadata: author: MathWorks version: "1.5"
Installing MATLAB Products with MATLAB Package Manager (mpm) - Deterministic Protocol
Use this skill when asked to install MathWorks products using MATLAB Package Manager (mpm) from the OS command line.
$ARGUMENTS
When to Use
- User asks to install MATLAB, Simulink, toolboxes, or support packages via the command line
- User wants a scripted, repeatable MATLAB installation (CI/CD, containers, fleet provisioning)
- User asks about mpm, MATLAB Package Manager, or non-interactive MATLAB installs
- User needs to add products to an existing MATLAB installation using mpm
When NOT to Use
- User wants to install via the graphical MATLAB installer or MathWorks website
- User is asking about MATLAB licensing or activation (separate workflow)
- User wants to manage MATLAB Add-Ons from within MATLAB (use the Add-On Manager)
- User needs to install MATLAB Engine API for Python, Java, or C++ (different process)
Non-Negotiable Determinism Contract (follow exactly)
- Follow the steps in Protocol in order. Do not add extra steps or checks.
- Use only the canonical shell for the OS. Do not switch shells.
- Use absolute paths to
mpm/mpm.exe. Never rely on relative paths. - Retry downloads at most once. Otherwise stop and report the error.
- If security software blocks execution: stop and instruct escalation. Do not bypass.
Safety Gate (Windows) — MANDATORY, NO EXCEPTIONS
STOP. Read this entire section before executing ANY Windows step.
-
NEVER use
powershell.exe -Commandfor ANY reason. Bash mangles$, backticks, quotes, arrays, and script blocks before PowerShell sees them. This WILL causeunexpected EOFor syntax errors. -
NEVER create any file with a bash heredoc (
cat > file <<'EOF' ... EOF) or shell redirection (echo ... > file,printf ... > file,>>). This includes quoted heredocs (<<'PS1',<<"EOF"). Do not rationalize an exception: the reason is NOT variable expansion (so "the delimiter is quoted, so it's safe" is wrong). The reasons the ban is absolute are (a) Git Bash rewrites paths, line endings, and encoding as it creates the file, corrupting.ps1parsing, and (b) the Write file tool is the single approved mechanism for creating any file in this protocol — scripts and input files alike. There is no safe heredoc. If you catch yourself reaching forcat,echo,printf,>,>>, or<<to produce a file, STOP and use the Write file tool. -
ALWAYS write
.ps1files using the Write file tool, then invoke with:powershell.exe -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Bypass -File <absolute-script-path> -
Do not emit CMD-only syntax (
if not exist,set VAR=,%USERPROFILE%). Use PowerShell equivalents (Test-Path,$env:USERPROFILE). -
ASCII only in all
.ps1file content. No em dashes (—), en dashes (–), curly quotes, or other non-ASCII characters. They cause PowerShell parse errors (broken string terminators, missing brace errors) when file encoding doesn't preserve them.
If you are about to type powershell.exe -Command — STOP. You are violating this rule. Use the Write file tool to create a .ps1 file instead.
Windows script authoring pattern:
- WRONG:
powershell.exe -Command "$script = @'...(bash corrupts$and heredocs) - WRONG:
cat > C:/Windows/Temp/script.ps1 <<'PS1' ... PS1(bash heredoc — banned even with a quoted'PS1'delimiter) - WRONG:
echo '...' > script.ps1orprintf '...' > script.ps1(shell redirection — banned) - CORRECT: create a unique temp folder, use the Write file tool to write
.ps1files into it, then run with-File
The only Bash tool commands allowed in this protocol are: mkdir -p (create the working folder), powershell.exe ... -File (invoke a script), test -f (verify artifacts), and rm -rf (cleanup). Any Bash command that would create or write file content is a violation — file content comes from the Write file tool, always.
Unique temp folder:
- Before Step 1, create a timestamped working folder using the Bash tool:
- Windows:
mkdir -p "C:/Users/<username>/AppData/Local/Temp/mpm-<YYYYMMDD-HHMMSS>" - Linux/macOS:
mkdir -p "/tmp/mpm-<YYYYMMDD-HHMMSS>"
- Windows:
- Use this folder for ALL generated scripts and input files throughout the protocol
- Because the folder is new, the Write file tool can always create files in it without needing to delete anything first
- Delete the entire folder during the final cleanup step
Windows PowerShell syntax reminders:
- Bad:
if not exist C:\Users\name\Downloads mkdir C:\Users\name\Downloads(CMD syntax) - Good:
if (-not (Test-Path -LiteralPath 'C:\Users\name\Downloads')) { New-Item -ItemType Directory -Path 'C:\Users\name\Downloads' | Out-Null }
Do not ask the user for the exact product name or identifier. Look it up using the appropriate mpm input file from https://www.mathworks.com/products/mpm.html Do not ask the user whether to install dependencies or not. mpm will take care of it. Just install whatever the user asked for, and let mpm do the rest. If a user types the shortname of MATLAB releases, automatically use the correct expanded full name. e.g. 25a is R2025a, 25b is R2025b
Required Inputs (ask only if missing)
- Operating system (Windows, Linux, macOS)
- MATLAB release (for example
R2025b) - Installation destination (absolute path)
- Requested products / toolboxes / support packages
Confirmation Rule
Before executing any steps, always confirm the user's choices:
- Release
- Destination folder
- Products
- Support packages
Ask for confirmation in one message. The user can reply yes to all to confirm everything at once. If they reply with specific changes, update the selections and confirm again.
Display each value to be confirmed in its own new line.
Note at the bottom of the confirmation message: "Required dependencies will be installed automatically by mpm."
Plan Display (after confirmation, before execution)
Once the user confirms their inputs, display a clear installation plan before running any commands. Adapt the template below for the target OS (use forward slashes and /tmp/ for Linux/macOS, omit .ps1 script references, and omit the UAC note). Use this format:
Here's what I'll do:
Working folder: <C:\Users\<username>\AppData\Local\Temp\mpm-YYYYMMDD-HHMMSS>
Step 1 — Download mpm
Check for mpm at <canonical mpm path>
Download from <URL> if not present
Script: <working folder>\mpm_download.ps1
Step 2 — Prepare input file
Download release template for <release> from mathworks.com
Set destination folder: <destination>
Enable products: <comma-separated list>
Add caller=agent to mark this as an agent-driven install
Input file: <working folder>\mpm_input_<releaselower>.txt
Script: <working folder>\mpm_prepare_input.ps1
Step 3 — Run installation
Execute mpm install using the prepared input file
<Windows only: note that elevated permissions (UAC prompt) will be required>
Step 4 — Verify
Confirm MATLAB binary exists: <completion artifact path>
Verify products via: <DESTINATION>/appdata/prodcontents.json
<if support packages requested> Verify support packages via: <SUPPORTPKGROOT>/appdata/prodcontents.json
Delete working folder: <working folder>
<if MATLAB included> Show release notes: https://www.mathworks.com/help/matlab/release-notes.html?startrelease=<RELEASE>&endrelease=<RELEASE>
Resolve all environment variables and shell-specific paths to absolute paths before displaying. Generate the timestamp for the working folder name at plan display time so it is fixed for the entire session. Do not start Step 1 until the user acknowledges the plan (a simple "ok", "go", "yes", or similar is enough).
Official documentation:
- Get mpm: https://www.mathworks.com/help/install/ug/get-mpm-os-command-line.html
- mpm install: https://www.mathworks.com/help/install/ug/mpminstall.html
Execution Style
Important: When executing steps, do not narrate or explain what you are about to do. Just run the commands and report results concisely (success, failure, or error). Reserve commentary for confirmations, the plan display, and error reporting only.
Canonical Shell (used throughout the Protocol)
- Windows: Windows PowerShell (
powershell.exe) - Linux:
bash/sh - macOS:
zshorbash(Apple silicon only; Intel Mac is not supported — stop and inform the user)
Pre-Execution Checklist (verify before EVERY Windows step)
Before running any command in Steps 1–3 on Windows, confirm:
- [ ] The PowerShell script was written using the Write file tool (not
-Command, not heredoc, notecho/printf) - [ ] The script is invoked with
powershell.exe ... -File <path>(not-Command) - [ ] No PowerShell code appears inline in any
bashcommand - [ ] No Bash command contains
<<,>, or>>redirecting into a.ps1or input file (heredoc/redirection is banned even with a quoted delimiter)
If any check fails, STOP and rewrite using the Write file tool.
Protocol (exactly 4 steps)
Step 1 - Ensure mpm exists at canonical path
Canonical locations (resolve to absolute paths before use):
- Windows:
<user home>\Downloads\mpm.exe - Linux:
<user home>/Downloads/mpm - macOS:
<user home>/Downloads/mpm
If the file exists at that path, reuse it. Otherwise download from:
- Windows: https://www.mathworks.com/mpm/win64/mpm
- Linux: https://www.mathworks.com/mpm/glnxa64/mpm
- macOS: https://www.mathworks.com/mpm/maca64/mpm
Windows (PowerShell)
MANDATORY: Use the Write file tool to create this script. NEVER use -Command or heredoc.
- Create the working folder with the Bash tool (use the timestamp fixed at plan display time):
mkdir -p "C:/Users/<username>/AppData/Local/Temp/mpm-YYYYMMDD-HHMMSS"
- Use the Write file tool to write the following content to
<working folder>\mpm_download.ps1:
param(
[Parameter(Mandatory = $true)]
[string]$Destination
)
if (Test-Path -LiteralPath $Destination) {
Write-Host "mpm already present at $Destination"
} else {
Write-Host "Downloading mpm from https://www.mathworks.com/mpm/win64/mpm - this may take a few minutes..."
Invoke-WebRequest -Uri "https://www.mathworks.com/mpm/win64/mpm" -OutFile $Destination -UseBasicParsing
if (-not (Test-Path -LiteralPath $Destination)) { throw "mpm download failed: $Destination" }
Write-Host "mpm downloaded to $Destination"
}
- Run it:
powershell.exe -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Bypass -File "<working folder>\mpm_download.ps1" -Destination "C:\Users\<username>\Downloads\mpm.exe"
Linux/macOS
See reference/linux-macos-steps.md for full shell scripts. Summary: create working folder at /tmp/mpm-YYYYMMDD-HHMMSS, download mpm with curl -fL -o to ~/Downloads/mpm, and chmod +x.
Step 2 - Download and edit the release input file
Always use a release template input file from: https://www.mathworks.com/products/mpm.html
Download the template input file for the requested release, then edit it:
- Uncomment and set
destinationFolderto the requested installation path. - Uncomment each
product.<Name>line for requested products and support packages. - Add
noJRE=trueto the input file (on its own line, afterdestinationFolder). This prevents mpm from bundling a Java Runtime. Only omit this line if the user explicitly requests JRE installation. - Add a
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
89.8kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Scrapling
85.4k🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
ruflo
73.8k🌊 The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, federation, vector RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
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.
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.
