Interactive Missions is a MATLAB toolbox for learning MATLAB® and Simulink® through guided, hands-on missions. You choose a mission in the MATLAB app, the app prepares a safe workspace, and an agentic tutor named Ada guides you one step at a time.
🧑🎓Want to jump in to learning right away? Start your first mission
🧑🏫Want to know how to author a mission? See Getting Started.
To use this repository, you must have:
- A supported agentic client: Codex, Claude Code, Gemini CLI, GitHub Copilot in VS Code, GitHub Copilot CLI, or use the generic adapter. See the shared author-skill Platform Qualification.
- MATLAB and Simulink versions supported by the toolbox installation. Each mission separately declares its supported MATLAB releases, products, and capabilities; check the selected mission in the app.
- A properly configured Simulink Agentic Toolkit , which installs the MATLAB MCP Server. (Note that you can also choose to configure MATLAB MCP tools while installing the Simulink Agentic Toolkit.)
Install InteractiveMissions.mltbx, then open Interactive Missions from the MATLAB Apps Gallery.
In the app
- Pick a mission card.
- Choose Start Mission to begin a mission. This saves your progress so you can Resume later. If you don't want to track progress, choose Practice instead.
- Choose an agentic client: Codex, Claude Code, Gemini CLI, GitHub Copilot in VS Code, GitHub Copilot CLI, or Generic.
In your terminal or agentic desktop app
- Follow the app's launch steps to change your current folder to the generated learner workspace. The app provides a terminal/CLI instruction, like
cd "C:/Users/<you>/Documents/MATLAB/Interactive-Missions/<mission-name>"If you use a desktop app to launch your agentic client, navigate to that folder in the app. - Start the agentic client from that folder and follow the client-specific launch instruction shown by the app. For example, Codex uses
$mission-tutoring, while other clients use different prompts or workspace instruction files. - For a new regular session, Ada asks how you want to be addressed before beginning.
- The optional Terminal in MATLAB toolbox can make the terminal step easier from inside MATLAB.
The instructions above guide you through setup in MATLAB and your agentic client. After invoking the tutor skill with the appropriate mission-tutoring instruction shown by the app, you will interact with both the agent and MATLAB/Simulink.
- Receive background and instruction
- Ask for hints
- Ask follow-up questions
- Check your work
- Execute the task
- Self-check by running code or models
These roles are described in the following diagram.
Regular mode saves local progress in the learner workspace at .interactive-missions/progress.json. If you begin a mission in regular mode, you can use Resume in the app to pick up where you left off. Resume uses the app cache to find recent active workspaces, verifies the workspace still exists, and reads the workspace-local progress path from the workspace manifest.
Practice mode is for trying a mission freely. It starts without a progress file, and the mission starts from the beginning next time unless the learner asks Ada to save progress. That opt-in request promotes the current workspace to a resumable session.
- Root Inports and Outports teaches how MATLAB workspace data moves through Simulink root ports.
- Continuous and Discrete Time introduces continuous and sampled behavior in Simulink
Open the app catalog for the current mission inventory. The app registers the MathWorks marketplace by default and checks for new revisions at startup. It downloads updated content only when you choose Refresh. If a cache is missing, the app attempts to recover it; if a refresh fails, it keeps the last valid cache.
Install InteractiveMissions.mltbx, then open Interactive Missions from the MATLAB Apps Gallery.
In MATLAB, create a new folder and navigate to it. Then run:
startMissionAuthoring()The command sets up a draft marketplace layout, copies author documentation and skills, and configures the supported agentic client selected in the Command Window. It can also create a first-mission brief. Set the source_url TODO in marketplace/manifest.yaml before publishing or registering the marketplace.
Then, launch your agent from the newly created folder and use create-tutor-mission to begin authoring.
There are 3 skills to help you author missions:
create-tutor-missionto draft mission YAML and optional setup scripts.qa-missionto review learner flow, setup/reset consistency, completion checks, and app metadata.maintain-missionsfor marketplace layout, documentation, and validation maintenance.
You can create a mission based on just a topic and learning outcomes, a topic plus a list of tasks, or a fully written list of tasks and hints that you want to use verbatim. The create-tutor-mission skill will use the information you provide to create mission YAML with all of the required metadata.
To share your missions, push the marketplace to a public or private Git repository. Learners can register an HTTPS, ssh://, or SCP-style SSH clone URL. HTTPS authentication uses the configured Git credential helper; SSH URLs use the configured SSH agent.
src/docs/contains learner-facing Help content, whiledocs/contains author, maintainer, and validation guidance.src/contains MATLAB APIs, the Apps Gallery app entry point, andsrc/appUIHTML assets.marketplace/contains marketplace manifests, mission content, and assets retrieved into the local marketplace cache.src/adapters/andsrc/skills/mission-tutoring/contain installed runtime assets. The app copies the learner tutor skill and selected adapter from these paths when starting a mission.src/author-skills/is the source of truth for author-facing skills and their shared references.buildfile.mdefines thebuildtool packagetask that buildsInteractiveMissions.mltbx.tests/contains static and MATLAB runtime validators.
The license for this toolbox is available in LICENSE.MD.
© Copyright 2026 The MathWorks, Inc.





