Skip to main content
ClaudeWave
Skill996 repo starsupdated 9d ago

matlab-read-documentation

Guides the agent to reference official MathWorks Documentation and Help. Determine correct function syntax and workflows from user guides when deeper context is needed. Minimize iterations and repetitive trial and error. Use this skill to: Identify correct syntax and configuration details. Retrieve relevant, version-specific (or release-specific) information from official documentation. Consult user guides when conceptual or workflow context is needed. Apply best practices.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/matlab/matlab-agentic-toolkit /tmp/matlab-read-documentation && cp -r /tmp/matlab-read-documentation/skills-catalog/matlab-core/matlab-read-documentation ~/.claude/skills/matlab-read-documentation
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Use MathWorks Documentation

Systematic methodology for reading live MathWorks documentation. Provides a repeatable four-pass strategy (local catalog → `help` → user guide pages → reference pages) that turns documentation lookup into a predictable, efficient operation. Uses MATLAB's `webread` via MCP to fetch pages, with helper scripts that handle URL discovery, HTML parsing, and content extraction.

## When to Use

- You are answering a "How do I..." question related to MathWorks products and workflows
- You guessed a URL and got 404 — use this skill to discover the correct URL from the index
- You need to find which functions exist for a product or workflow — start with the local function catalog
- You need to verify a function's syntax, arguments, or deprecation status from the authoritative source
- You want to check MathWorks best practices for a specific workflow
- Training-data knowledge is uncertain or potentially out of date for a release-specific API
- The user asks what MathWorks recommends for a specific topic
- You want a systematic approach that finds the RIGHT page (not just A page) in minimal tool calls

## When NOT to Use

- The local `help` command is sufficient — prefer `help function_name` for API syntax; it's faster and always correct for the installed version
- The question is about general MATLAB programming patterns, not product-specific workflows
- You already have the authoritative answer from local `help` or a successfully fetched page

## Fast Paths

Not every task needs the full four-pass strategy. Match the task to the shortest path:

| Task                                 | Fast Path                                                                                                                      | Skip                               |
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------- |
| Release notes / what's new           | Fetch `https://www.mathworks.com/help/{product}/release-notes.md` directly via `webread`, then extract the `## R20XXx` section | Steps 0-2 — no script needed       |
| Known standalone function, need ref page | Use a URL from a prior `extract_page_slugs` call, or construct `baseUrl + "ref/{name}.html"` for simple standalone functions | Steps 0-2 — but URL must come from a verified source, not guessed |
| Know the product, need function list | `get_local_function_list(product)`                                                                                             | Steps 1-4 — no web needed          |
| Unfamiliar API, no idea what exists  | Full four-pass strategy                                                                                                        | Nothing — use all steps            |

### Release notes

Release notes are available as clean markdown at `https://www.mathworks.com/help/{product}/release-notes.md`. Fetch this URL with `webread`, then extract the section between `## R20XXx` and the next `## R` header. No HTML parsing needed. Common product slugs: `matlab`, `simulink`, `ecoder`, `rtw`, `stateflow`, `fixedpoint`, `hdlcoder`.

## Help Center Page Hierarchy

- **Product landing page** — Lists top-level categories with short descriptions. Use to discover section slugs.
- **Intermediate category page** — Links to subcategories with one-line descriptions. No leaf content. Drill deeper.
- **Lowest-level category page** — Contains reference groups (functions, blocks, apps) then links to related topics and examples.
- **Topic pages** (`ug/` or product-specific path) — Conceptual or task-based content explaining how to use a feature.
- **Example pages** — Standalone worked examples with supporting files. May include live scripts, data files, or models.
- **Reference pages** (`ref/` or `slref/`) — Function, block, object, or property reference. Multiple subtypes: function ref, object ref, property list, block ref, app ref.
- **Getting started pages** (`gs/`) — Introductory tutorials for new users of a product.
- **Sequential topics** (STEP 1, 2, 3) indicate a workflow with an intended order.

## Choosing What to Fetch

MathWorks doc has two content layers that serve different purposes:

- **Guide pages** (user guide topics, typically under `ug/`) — Show *which* functions to call and in *what order*. Workflow-oriented. Best for learning a new API or deciding an approach. Note: not all products use `ug/` — some (Simulink, Statistics and Machine Learning) use different subdirectory structures. Always discover via the section index.
- **`ref/` pages** (function/object reference) — Show *exactly how* to call each function: full syntax, argument types, name-value pairs, valid enum values, return types, per-argument examples. Best when you know the function but need its exact signature. Some products use product-specific variants (e.g., Simulink uses `slref/`).

**You typically need both.** The `ug/` page tells you the recipe; the `ref/` page tells you the ingredient specifications. Skipping `ref/` means guessing at property names and argument values — which frequently fails because MathWorks APIs use domain-specific names that aren't intuitive (e.g., `"ArxmlFilePackaging"` not `"FilePackaging"`, `"StopTime"` not `"SimulationDuration"`).

### Page value signals (product-independent)

| Signal | Likely high value | Likely low value |
|---|---|---|
| Slug contains `programmatically`, `program-`, or `command-line` | Yes — always programmatic | — |
| Slug contains `property-map-functions` | Yes — API workflow | — |
| Slug contains `explorer`, `interactively`, `using-...editor` | — | Yes — GUI-only |
| Page type is `ref/` with object or function name | Yes — exact signatures | — |
| Page is very large (>30K) with product that has GUI+programmatic paths | — | Suspect GUI — measure before reading |
| Page under ~1500 chars between `Main Content` and footer | — | Likel
matlab-train-networkSkill

>

matlab-driving-data-importerSkill

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.

matlab-scenario-builderSkill

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.

roadrunner-asset-mappingSkill

>

roadrunner-convert-lanelet2-to-rrhdSkill

>

roadrunner-import-sceneSkill

>

roadrunner-rrhd-authoringSkill

>

matlab-build-simbiology-modelSkill

Build, modify, and diagram SimBiology models — API reference, helper functions, and layout patterns. Use when constructing or editing models programmatically or visually.