matlab-projectlisted
Install: claude install-skill matlab/agent-skills-playground
# MATLAB Project — Setup, Conventions, and Build-Script Patterns
A MATLAB Project (`.prj`) is a single file that manages path, tracked artifacts,
shortcuts, derived-output locations, and health checks. This skill covers the
mechanics so every downstream workflow (requirements, architecture, analysis,
anything else) can rely on a predictable project shape.
Domain skills reuse this skill's helpers (`setupProject`, `registerWithProject`)
and conventions (idempotent build scripts, `removeFile` before `delete`,
`runChecks` at the end of `buildAll`). They may override the living-doc
templates with domain-specific versions.
---
## Creating a project
Use [`code/setupProject.m`](code/setupProject.m) to create the project inline
(not as a saved script — the `scripts/` folder doesn't exist yet):
```matlab
setupProject(projectName, projectFolder, subfolders, derivedSubfolders)
```
- `subfolders` — cell array of folders that are created, added as tracked
project files, and placed on the MATLAB path. Callers choose the layout.
- `derivedSubfolders` — cell array of folders for build outputs. Created but
**not tracked**. The first two entries are wired to `SimulinkCacheFolder`
and `SimulinkCodeGenFolder` if supplied, so Simulink cache / codegen stays
out of source control.
Example (MBSE shape):
```matlab
setupProject("MySystem", "C:\work\MySystem", ...
{'requirements','architecture','analysis','verification','scripts'}, ...
{fullfile('derived','cache'), fullfile('der