Skip to main content
ClaudeWave
Skill173 repo starsupdated 24d ago

matlab-generate-course

Interview an instructor and generate a complete MATLAB and Simulink enabled course in IMS Common Cartridge format. Use when the user asks to create a MATLAB course, Simulink course, MATLAB and Simulink curriculum, MATLAB Course Designer-ready course shell, Common Cartridge course package, .imscc export, MATLAB Exercises with validated .m files, or Simulink Exercises with starter and solution model files. Coordinates IDStack, MATLAB Agentic Toolkit, Simulink Agentic Toolkit, matlab-create-course-activity, simulink-create-course-activity, and the existing matlab-generate-grader-assessments skill.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/matlab/agent-skills-playground /tmp/matlab-generate-course && cp -r /tmp/matlab-generate-course/demos/course-generation/skills/matlab-generate-course ~/.claude/skills/matlab-generate-course
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# MATLAB Course Designer

Create a complete MATLAB and Simulink enabled course package through an
instructor interview. The final deliverable is an IMS Common Cartridge `.imscc`
file plus reviewable source artifacts for the instructor.

The generated course must conform to the MATLAB Course Designer organization
model: one course contains one or more ordered modules, and each module contains
one or more ordered learning activities. Preserve this hierarchy in all
intermediate artifacts so future API work can create MATLAB Course Designer
course instances directly. Use the public MATLAB Course Designer documentation
as the source for this hierarchy:
<https://www.mathworks.com/help/matlab-and-simulink-online-courses/matlab-course-designer.html>.

Do not hand-roll workflows that already exist in prerequisite skills:

- Use IDStack for instructional design pipeline work and Common Cartridge export.
- Use the MATLAB Agentic Toolkit for MATLAB activity, code, data, validation, and
  live-script-ready guidance.
- Use the `matlab-create-course-activity` skill to create Course Designer-ready MATLAB
  Exercise folders by wrapping `matlab-generate-grader-assessments` output and validating generated `.m`
  files with MATLAB MCP Server tool calls.
- Use the Simulink Agentic Toolkit for Simulink model activity design, model
  validation, and testing guidance.
- Use the `simulink-create-course-activity` skill to create Course Designer-ready
  Simulink Exercise folders with starter and solution `.slx` files.
- Use the existing `matlab-generate-grader-assessments` skill as the first authoring step for MATLAB
  Exercise component parts, because MATLAB Course Designer MATLAB Exercises are
  structurally close to MATLAB Grader assessment items.

## Input

The user may have provided course context in their request.
If it is missing or too vague, collect the minimum instructor context in Step 1
before generating anything.

## Reference Files

Read these references from the `references/` directory alongside this skill as
needed:

- `references/interview-guide.md` — instructor interview questions and defaults
- `references/instructional-design-research.md` — MATLAB/Simulink-specific
  research rules for objectives, module sequencing, and learning activities
- `references/course-artifact-rules.md` — Course Designer hierarchy, output
  structure, and required files
- `references/matlab-simulink-activity-rules.md` — activity design rules
- `references/common-cartridge-export.md` — export and review rules

Read `references/interview-guide.md`, `references/instructional-design-research.md`,
and `references/course-artifact-rules.md` before starting the instructor
interview.

## Pipeline Overview

```
Step 1: Interview the instructor and capture course constraints
Step 2: Confirm prerequisites and output directory
Step 3: Run or prepare the IDStack design pipeline
Step 4: Add MATLAB and Simulink activity specifications and model artifacts
Step 5: Generate validated MATLAB Exercise artifacts through matlab-create-course-activity
Step 6: Verify native Course Designer activity types and assessment placement
Step 7: Export Common Cartridge through IDStack course-export
Step 8: Write instructor review checklist and final review summary
```

## Step 1: Instructor Interview

Use `references/interview-guide.md`.

Collect only missing information. If the user already supplied a syllabus,
course title, module list, or learning goals, infer what you can and ask targeted
follow-ups.

Required inputs:

- Course title and one-sentence course purpose
- Learner audience and prerequisite knowledge
- Duration, pacing, and module count
- Delivery mode: in person, online, hybrid, self-paced, or lab-supported
- Target persistence format, defaulting to Common Cartridge for MATLAB Course
  Designer review
- MATLAB scope: programming, data analysis, numerical methods, apps, hardware,
  AI, signal processing, controls, or other domain
- Simulink scope: modeling, simulation, control design, physical modeling,
  code generation, verification, or other domain
- Assessment plan: native MATLAB Exercises, Simulink Exercises, readings, and
  videos; Course Designer does not support generic assignments or discussions
- Required products and toolboxes, if known
- Accessibility, academic integrity, and institutional constraints
- Output directory, defaulting to the current working directory

If the course includes MATLAB Exercises, state that `matlab-create-course-activity`
will wrap the `matlab-generate-grader-assessments` skill, validate generated `.m` files with MATLAB MCP
tool calls, split `description.txt` into copy/paste-ready `background.m` and
`task.m` files, then enrich the activity with MATLAB Course Designer authoring
fields such as module placement.

## Step 2: Prerequisite Check

Before generating the course, verify or ask the user to confirm that these
skills/toolkits are available:

- IDStack skills, especially `needs-analysis`, `learning-objectives`,
  `assessment-design`, `course-builder`, `course-quality-review`,
  `accessibility-review`, `red-team`, and `course-export`.
  IDStack is a third-party open-source project (MIT licensed), available at
  <https://idstack.org/>; it is not bundled with this skill package
- MATLAB MCP Server connected to a licensed MATLAB session; this is the
  verifiable capability that runs all `.m` file and model validation
- MATLAB Agentic Toolkit for MATLAB workflow guidance
- `matlab-create-course-activity` skill for MATLAB Exercise `.m` file validation
- Simulink Agentic Toolkit
- `simulink-create-course-activity` skill for Simulink Exercise model files
- `matlab-generate-grader-assessments` skill from the MATLAB Grader Assessment Item Generator package

If a prerequisite is missing, do not fabricate its output. Explain which part of
the course workflow is blocked, then continue with what remains legitimately
possible: planning artifacts always; MATLAB Exercise generation when
`matlab-create-course-activ
embedded-ai-deploymentSkill

>

agent-skill-authorSkill

Use this skill when the user wants to author, design, scope, or refine an Agent Skill (a SKILL.md file). Trigger phrases include "build a new skill", "design an agent skill", "scope a SKILL.md", "how should I structure this skill", "write a skill for X", "my skill isn't working well", or any request to improve an existing SKILL.md. Walks the user through an empirical, test-first process — probe the agent for real failures, design only for genuine knowledge gaps, iterate against runnable examples, and verify across models.

matlab-projectSkill

Use this skill for any work involving a MATLAB Project (.prj file) — creating a new project, tracking files, managing the project path, configuring Simulink cache and code-generation folders, running project health checks, or writing build scripts that keep the project in sync with the file system. Trigger phrases include "set up a MATLAB project", "create a .prj", "track this file in the project", "project health check", "build script conventions". This skill is the generic foundation; domain-specific skills (e.g. `mbse-workflow`) build on it.

mbse-architectureSkill

Use this skill for the architecture phases of an MBSE workflow in MATLAB, when writing idempotent buildXxx.m scripts that produce a three-layer RFLPV architecture (Functional, Logical, Physical) with interface dictionaries, stereotype profiles, allocation sets, and requirements Implement links. Trigger for defining stereotype properties, functional-to-logical / logical-to-physical allocation, mapping requirements to components via slreq Implement links, or running quantitative roll-up analysis on the architecture. Do NOT trigger for ad-hoc structural edits to an already-built System Composer model (adding one component, rewiring a port) — use `building-simulink-models` with `model_edit` for that. Works alongside the `system-composer` skill for detailed SC API patterns.

mbse-workflowSkill

Use this skill for guided MBSE work in MATLAB — starting a new project, resuming work mid-workflow on an existing project, or answering orientation questions about how the MBSE skills fit together. Trigger when the user says they want to create, start, or set up a new MBSE project; work on a model-based systems engineering / RFLPV project; or asks which skill covers which phase. Walks through phases one at a time — propose → approve → generate → run → confirm. Use proactively whenever someone mentions starting or continuing an MBSE project.

simulink-requirementsSkill

Use this skill for all requirements-related work in a MATLAB MBSE project using the Requirements Toolbox (slreq). Covers creating and populating requirement sets, derivation links, test case requirements, verification coverage, reading and tracing links across requirement sets and models, checking link health, allocating requirements to components (Implement links), and building traceability reports. Trigger when the user asks about slreq API, slreqx files, slmx link files, outLinks/inLinks, traceability matrices, coverage analysis, broken links, or mapping requirements to architecture components. Use proactively for any requirements or traceability task.

system-composerSkill

Use this skill when authoring reusable, idempotent MATLAB scripts that build System Composer architecture models via the architecture-modeling API — `systemcomposer.createModel`, `addComponent`, `addPort`, `setInterface`, `connect(srcPort, dstPort)`, interface dictionaries (.sldd) with `addInterface`/`addElement`, profiles/stereotypes with `Profile.createProfile` and `addStereotype`, or `systemcomposer.allocation.createAllocationSet`. Also trigger when debugging these APIs (connections that don't appear, interfaces that don't resolve, profile save errors, `createAllocationSet` signature-mismatch errors). Do NOT trigger for ad-hoc structural edits to an already-built model (adding one SubSystem, rewiring a port) — use `building-simulink-models` with `model_edit` for that.

matlab-performance-optimizerSkill

Optimize MATLAB code for better performance through vectorization, memory management, and profiling. Use when user requests optimization, mentions slow code, performance issues, speed improvements, or asks to make code faster or more efficient.