Agent skill

matlab-migrate-settings

Diff MATLAB settings between releases AND update any .m file that configures MATLAB settings to use the correct setting paths for the target release. Use when upgrading MATLAB releases and startup scripts or preference files need path/type updates for the new release.

matlabgithub.com/matlabGitHub ↗
claude-codecodexcopilotNOASSERTION
Install
npx skills add matlab/matlab-agentic-toolkit --skill matlab-migrate-settings --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 3
SKILL.md size: 19 KB
Bundled scripts: none
Version: 1.0
Declared author: MathWorks
Path: skills-catalog/matlab-environment-and-settings/matlab-migrate-settings/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 868
Language: MATLAB

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Diff MATLAB settings between releases and automatically update any .m file that configures MATLAB settings (via .PersonalValue or .TemporaryValue assignments) so that setting paths point to the correct locations in the target release. Works with startup scripts, team preference files, test setup scripts, deployment configs, or any code that programmatically sets MATLAB settings.

How it works

  • Identifies when to use (upgrading MATLAB releases with path updates).
  • Parses an argument list to extract the script path and optional from: and to: releases. If only the script path is provided, auto-detects source/target by inspecting installed MATLAB releases.
  • Performs Phase 0 auto-detection to determine platform, list installed releases, and identify the source release the script targets, then selects the target release (latest by default unless overridden by to:).
  • Reads the specified script to collect all settings references (variable name and full setting path with PersonalValue/TemporaryValue).
  • In a single batch operation, looks up each unique setting key in the target release (preferring HPP path if available; otherwise using SO/DLL), reconstructing the full dotted path for comparison.
  • Classifies each setting as Unchanged, Moved, Renamed, or Removed based on presence and path in the target versus source, including type-change considerations when necessary.
  • Writes a new migrated script file (same directory, with _R<target> appended to the filename) rather than overwriting the original. Applies transformations for each setting, including path changes and value translations when type changes occur, and handles try/catch blocks, version-conditional blocks, and removals per the target release observations.
  • Preserves user intent by keeping original variable names, maintaining documentation statements, and adding % REVIEW: notes only when ambiguous.

When to use it

  • Upgrading MATLAB releases and startup scripts need path updates for the new release.
  • Migrating team preference files or CI configs to a newer MATLAB version.
  • Settings paths have changed between releases (moved, renamed, type-changed, or removed).
  • You need to know what settings changed between two specific MATLAB releases.

What it can touch

  • The script analyzes and rewrites MATLAB .m files that assign PersonalValue or TemporaryValue.
  • It may reference settings()-based configurations and various MATLAB path expressions to update them for the target release.

Caveats

  • License: NOASSERTION
  • If a setting is not found in the target release or has no plausible match, it is marked as Removed or Left for review per the target’s factory settings; exact behavior is determined by target observations.
  • If only the source release is installed and no to: is provided, the tool cannot determine a valid target automatically and requires explicit to: or user input.
From the SKILL.md

# MATLAB Settings Migration Diff MATLAB settings between two releases and automatically update any `.m` file that configures MATLAB settings (via `.PersonalValue` or `.TemporaryValue` assignments) so that setting paths point to the correct locations in the target release. Works with startup scripts, team preference files, test setup scripts, deployment configs, or any code that programmatically sets MATLAB settings. ## When To Use - Upgrading MATLAB releases and startup scripts need path updates for the new release - Migrating team preference files or CI configs to a newer MATLAB version - Settings paths have changed between releases (moved, renamed, type-changed, or removed) - You need to know what settings changed between two specific MATLAB releases ## When Not To Use - The script does not use `settings()` API (no `.PersonalValue` or `.TemporaryValue` assignments) - Both source and target MATLAB releases are not installed on this machine - You want to change MATLAB preferences via the GUI (use Preferences dialog instead) ## Arguments - `<script-path>` — **(required)** Path to any `.m` file that sets PersonalValue/TemporaryValue on MATLAB settings - `[from:R20XXy]` or `[from:/pat

What's inside
Steps it walks through
  1. When To Use
  2. When Not To Use
  3. Arguments
  4. Argument parsing
  5. Phase 0: Auto-detect MATLAB installations (skip if both roots provided)
  6. Step 1: Determine platform
  7. Step 2: Find all installed releases
  8. Step 3: Identify the source release (what the script was written for)
  9. Step 4: Determine the target release
  10. How to execute
  11. Phase 1: Read script + locate factory settings (parallel)
  12. Phase 2: Parse the user's script
  13. Phase 3: Look up ONLY the script's settings in the target (ONE batch command)
  14. Phase 4: Write the migrated script
Ships with 2 files
  • manifest.yaml
  • references/settings-internals.md
Commands it runs
One command to determine platform
uname -s
ls -d /usr/local/MATLAB/R20* 2>/dev/null | sort
ls -d /Applications/MATLAB_R20*.app 2>/dev/null | sort
Windows (from Git Bash / MSYS):
ls -d "/c/Program Files/MATLAB/R20"* 2>/dev/null | sort
Check for hpp source first
ls "$NEW_HPP"/*.hpp 2>/dev/null | head -3
find "<matlab-root>/bin" -path "*factory_settings*" -name "mwmatlab_factory_settings.*" 2>/dev/null
Batch-verify ALL keys AND get their group context in ONE command:
More from matlab-agentic-toolkit
All skills →
About this skill
What does the matlab-migrate-settings skill do?

Diff MATLAB settings between releases AND update any .m file that configures MATLAB settings to use the correct setting paths for the target release. Use when upgrading MATLAB releases and startup scripts or preference files need path/type updates for the new release.

How do I install it?

Run `npx skills add matlab/matlab-agentic-toolkit --skill matlab-migrate-settings --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From matlab/matlab-agentic-toolkit, a repository with 868 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going