matlab-exclude-files
**matlab-exclude-files** scans a MATLAB toolbox folder to identify development artifacts and temporary files that should not be packaged for end users, then generates a toolbox.ignore file with evidence-based exclusion patterns. Use it before building a toolbox package when no ignore file exists, or to add exclusions for files detected in the toolbox folder that were previously overlooked.
git clone --depth 1 https://github.com/matlab/matlab-agentic-toolkit /tmp/matlab-exclude-files && cp -r /tmp/matlab-exclude-files/skills-catalog/matlab-software-development/matlab-exclude-files ~/.claude/skills/matlab-exclude-filesSKILL.md
# matlab-exclude-files — Ignore File Generator You analyze a MATLAB toolbox folder and suggest which files should be excluded from packaging. You only suggest patterns for files that actually exist — no generic templates or boilerplate. ## When to Use - User asks to create an ignore file or exclude files from packaging - User says "what shouldn't ship?" or "clean up my packaging" - Before `matlab-build-toolbox` when no ignore file exists - After `matlab-assess-toolbox` flags packaging concerns (check 16) ## When NOT to Use - User wants to exclude files from the MATLAB project (not the package) — use project settings - User wants to define the toolbox scope or public API — use `matlab-define-toolbox-api` - A `toolbox.ignore` already fully covers the project — this skill reports "no additional exclusions" ## Inputs - **toolbox_folder**: Path to the toolbox content folder (default: `toolbox/` or current directory) ## Rules - **Read-only until approved**: Never write files without explicit user consent. - **Evidence-based only**: Only suggest patterns for files that actually exist in the scan. NEVER mention or include a pattern if the matching file/folder is not present — not even as "commonly excluded" or "you might also want." If nothing to exclude is found, say so and stop. - **No duplicates**: If `toolbox.ignore` or `package.ignore` already exists, only suggest additions not already covered. - **Respect MATLAB defaults**: NEVER suggest patterns that MATLAB already auto-excludes: `.git/`, `.svn/`, `.buildtool/`, `*.asv`, `resources/project/`, `*.prj`. These must not appear in your suggestions or in the generated ignore file. - **Cite evidence**: For each suggestion, name the specific file(s) found. ## Detectable Patterns Only suggest these if the matching files are found in the scan: | Pattern | Why exclude | Impact | |---------|------------|--------| | `*.DS_Store` | OS metadata, not useful to users | HIGH | | `Thumbs.db` | Windows thumbnail cache | HIGH | | `.vscode/` | VS Code settings | HIGH | | `.idea/` | JetBrains IDE settings | HIGH | | `*.log` | Log files from dev/test runs | HIGH | | `*.orig` | Merge conflict leftovers | HIGH | | `slprj/` | Simulink project cache | HIGH | | `codegen/` | MATLAB Coder generated output | HIGH | | `*.mltbx` | Previously built packages | HIGH | | `tmp/`, `temp/` | Scratch directories | HIGH | | `tests/`, `test/` | Test files (if inside toolbox folder) | MEDIUM | | `buildUtilities/` | Build scripts | MEDIUM | | `buildfile.m` | Build automation (if inside toolbox folder) | MEDIUM | | `*.cpp`, `*.c`, `*.h` | MEX source (when compiled `.mex*` binaries exist) | MEDIUM | | `doc/internal/` | Internal documentation not for end users | MEDIUM | | `CHANGELOG.md`, `CONTRIBUTING.md` | Developer-facing docs | MEDIUM | | `*.mat` in test directories | Test fixtures | MEDIUM | | `.m` files with matching `.p` | Source alongside pcode — excluding protects IP but removes `help` access unless pcode was generated with help preservation | MEDIUM | ## Workflow ### Step 1 — Scan Glob the toolbox folder recursively. Collect all file paths and folder names. ### Step 2 — Check Existing Look for `toolbox.ignore` or `package.ignore` in the folder. If one exists, read it and note which patterns are already covered. ### Step 3 — Detect For each file found in the scan, check if it matches a known ignorable pattern from the table above. Only report matches for files that actually exist. For pcode pairs, check if a `.p` file has a corresponding `.m` file with the same name in the same directory. Exclude from results: - Patterns already covered by an existing ignore file - Patterns already auto-excluded by MATLAB (`.git/`, `.svn/`, `.buildtool/`, `*.asv`, `resources/project/`, `*.prj`) ### Step 4 — Present Only show new suggestions — files that exist, are not already excluded, and should be. Do not list what's already handled or what wasn't found. Do not show internal reasoning, verification notes, or commentary about the detection process. Group suggestions under named category headings: ``` ## Ignore Suggestions — [Toolbox Name] ### OS / IDE Metadata | # | Pattern | Found | Reason | |---|---------|-------|--------| | 1 | *.DS_Store | 3 files | OS metadata not useful to end users | | 2 | .vscode/ | 1 folder | IDE settings | ### Test Infrastructure | # | Pattern | Found | Reason | |---|---------|-------|--------| | 3 | tests/ | 12 files | Test files inside toolbox folder | ### Source Protection | # | Pattern | Found | Reason | |---|---------|-------|--------| | 4 | myFunc.m | paired with myFunc.p | Source alongside pcode — excluding protects IP but removes help text access | ``` If no new suggestions are found, simply state: "No additional exclusions to recommend." For pcode suggestions, include this note: > Excluding `.m` files that have matching `.p` files protects source code from distribution. However, `help functionName` will not work for end users unless the pcode was generated with help preservation (`pcode -inplace` from an .m containing the help block). ### Step 5 — Ask Prompt: which suggestions to include? > A) **All** — include everything suggested > B) **All HIGH** — only HIGH-impact items > C) **Select** — pick specific numbers (e.g., "1, 2, 4") > D) **Skip** — do not create/modify the ignore file ### Step 6 — Write Create or append to `toolbox.ignore` with selected patterns, grouped by category using MATLAB-style comments (`%`). **Note:** In MATLAB R2025a+, `toolbox.ignore` triggers a deprecation warning. If the user prefers, offer to name the file `package.ignore` instead. Example output: ``` % toolbox.ignore % Files excluded from toolbox packaging % OS metadata *.DS_Store % IDE settings .vscode/ % Test files (not distributed to end users) tests/ % Source excluded (distributed as pcode) myFunc.m ``` ## Checkpoint **Yes** — always present suggestions and wait for user selection before writing anything. ## Key Rules - Never sugge
>
Import recorded driving sensor data (GPS, camera, lidar, actor tracks, lanes) into scenariobuilder.* objects (GPSData, CameraData, LidarData, ActorTrackData, Trajectory, laneData) and run preprocessing — synchronize, offset correction, crop, normalizeTimestamps, convertTimestamps. Also: compute actor tracks from lidar when no annotations exist, attach camera/lidar mounting + intrinsics, export to MAT/workspace/timetable/script. Use for raw driving dataset files (KITTI, nuScenes, Waymo, Pandaset, ROS/ROS2 bags, .mat, .csv, .mp4) or driving/vehicle/sensor logs that need wrapping. drivingLogAnalyzer (DLA) is OPT-IN ONLY — invoke only on explicit user request ('DLA', 'open in DLA', 'inspect/explore/analyze the recording') or reported sensor problem (sync drift, timestamp mismatch, overlay misalignment). NEVER auto-launch DLA after wrapping (Rule 0). For 'build scenario / export to RoadRunner / drivingScenario / OpenSCENARIO / Unreal / simulate', hand off to matlab-scenario-builder.
Generate driving scenes, scenarios, road surfaces, and 3D content from already-wrapped scenariobuilder.* sensor data (GPS, camera, lidar, actor tracks) using Scenario Builder for Automated Driving Toolbox. Use to BUILD, EXPORT, or AUGMENT a virtual scenario/scene/map: ego or actor trajectories, trajectory smoothing, OpenCRG road-surface extraction, 3D asset generation, static-object placement, point-cloud georeferencing + elevation, lane-based ego localization, sensor-fusion tracking, scenario-event extraction (cut-ins, hard brakes, near-misses, ADAS disengagements), or export to RoadRunner, drivingScenario, OpenDRIVE, OpenCRG, OpenSCENARIO, or Unreal Engine. Also: log-to-scenario, scenario harvesting, accident/near-miss reconstruction, SOTIF (ISO 21448) and ISO 26262 scenario coverage, USGS-aerial-lidar scene augmentation, traffic-sign placement from camera+lidar logs. NOT for raw-data import or multi-sensor sync/crop/offset/timestamp normalization — route those to matlab-driving-data-importer.
>
>
>
>
Build, modify, and diagram SimBiology models — API reference, helper functions, and layout patterns. Use when constructing or editing models programmatically or visually.