Matlab Create Course Activity logo

Matlab Create Course Activity

Organization
matlab
matlab-create-course-activity

Create MATLAB Course Designer MATLAB Exercise learning activities by wrapping the existing matlab-generate-grader-assessments skill, then validating generated solution.m, template.m, and tests.m files with MATLAB MCP Server tool calls. Use when the user asks to create a MATLAB Exercise, MATLAB course activity, Course Designer MATLAB activity, validated MATLAB solution file, or MATLAB Exercise component folder.

Overview

Publishermatlab
Repositoryagent-skills-playground
Skill namematlab-create-course-activity
Stars
179
Forks
32
Bundled files
3
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 3 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by matlab on GitHub. Read the source before you install it.

Installation

Install the Matlab Create Course Activity AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/matlab/agent-skills-playground.git /tmp/agent-skills-playground
mkdir -p .claude/skills
cp -r /tmp/agent-skills-playground/demos/course-generation/skills/matlab-create-course-activity .claude/skills/matlab-create-course-activity
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Matlab Create Course Activity in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Matlab Create Course Activity on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Matlab Create Course Activity is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

MATLAB Course Activity Generator

Create MATLAB Course Designer-ready MATLAB Exercise learning activities. This skill is a wrapper around the existing matlab-generate-grader-assessments skill: use matlab-generate-grader-assessments first to create the shared MATLAB Grader-style component parts, then use MATLAB MCP Server tool calls to validate the generated MATLAB files and add Course Designer authoring metadata.

Input

The user may have provided a module objective or activity idea in their request. If it is missing or too vague, collect missing activity inputs in Step 1.

Reference Files

Read these references from the references/ directory as needed:

  • references/grader-wrapper-workflow.md — how to call and use matlab-generate-grader-assessments
  • references/matlab-validation-rules.md — MATLAB MCP validation workflow
  • references/course-designer-artifacts.md — output folder and metadata rules

Read references/grader-wrapper-workflow.md and references/course-designer-artifacts.md before creating artifacts.

Required Tooling

Use the existing matlab-generate-grader-assessments skill for the initial component generation. Use MATLAB MCP Server calls for validation:

  • detect_matlab_toolboxes for product/toolbox availability
  • check_matlab_code for static analysis of .m files
  • run_matlab_file for runnable scripts, validation drivers, or test harnesses
  • evaluate_matlab_code for targeted checks, path setup, function calls, and MATLAB Exercise test smoke checks

Do not claim a MATLAB Exercise is ready unless the generated MATLAB files have been checked through MATLAB MCP calls or the final output clearly marks validation as partial.

Pipeline Overview

Step 1: Collect activity inputs and Course Designer placement
Step 2: Invoke grader for shared MATLAB Exercise component parts
Step 3: Split description.txt into background.m and task.m
Step 4: Add Course Designer-only authoring fields
Step 5: Validate solution.m, template.m, and tests.m with MATLAB MCP calls
Step 6: Write Course Designer-ready activity metadata and review notes

Step 1: Activity Inputs

Collect only missing information:

  • Course title or course identifier
  • Module title and module order
  • Learning activity title and activity order
  • Module objective and observable learner outcome
  • MATLAB concept: script, function, class, object usage, data analysis, visualization, numerical methods, app workflow, or another domain
  • Assessment purpose: formative, summative, or both
  • Required MATLAB and toolbox products
  • Starter/template expectations
  • Solution behavior
  • Validation requirements
  • Output directory

Default to a Course Designer learning activity type of MATLAB Exercise.

Step 2: Invoke matlab-generate-grader-assessments

Use references/grader-wrapper-workflow.md.

Call or prompt the existing matlab-generate-grader-assessments skill before creating Course Designer metadata. The expected matlab-generate-grader-assessments output is:

  • description.txt
  • template.m
  • solution.m
  • tests.m
  • function_call.m (Function assessment items)
  • supporting_class.m (Object usage assessment items)

Store the matlab-generate-grader-assessments output under:

text
grader-items/module-NN-activity-MM-[slug]/

[slug] is the assessment item's snake_case title with underscores replaced by hyphens. This wrapper placement overrides the generator's standalone {snake_title}/ folder rule.

Do not hand-write these files first. If matlab-generate-grader-assessments is unavailable, stop and report that MATLAB Exercise generation is blocked unless the user explicitly accepts a planning-only fallback.

Step 3: Split Description for Course Designer

Create two plaintext .m files from description.txt for copy/paste into the MATLAB Course Designer web application:

Per the MATLAB Course Designer documentation for creating MATLAB Exercises: https://www.mathworks.com/help/matlab-and-simulink-online-courses/ug/create-matlab-exercise-using-matlab-course-designer.html

  • The Background field sets the context for the task, explains the learning objective, and provides high-level information learners need to complete the task.
  • The Task field provides the instructions learners follow to complete the task, including specific instructions such as which functions or variable names to use.

Treat background.m and task.m as plain-text field transport files, not executable MATLAB scripts. Preserve the text exactly as it should be pasted into Course Designer. Do not prefix prose with % solely to make the files valid MATLAB code.

Split workflow:

  1. Read description.txt once and mark each paragraph as context, objective, prerequisite, instruction, deliverable, constraint, self-check, or grading detail.
  2. Put only context, purpose, learning objective, and necessary high-level prerequisite information in background.m.
  3. Put concrete learner instructions, ordered task steps, deliverables, required variable/function/file names, constraints, expected outputs, and self-check prompts in task.m.
  4. Move implementation details out of background.m and into task.m.
  5. Move broad conceptual exposition out of task.m unless it is needed to understand a specific instruction.
  6. If description.txt has no clear boundary, create a concise background from the opening context and put the full actionable prompt in task.m.
  7. Keep hidden-test details, reference solution details, and grading mechanics out of both files unless they are intentionally learner-facing.
  8. Do not modify the original description.txt; keep it in the matlab-generate-grader-assessments source folder.

Quality check:

  • background.m should still make sense if read before seeing the task steps.
  • task.m should be actionable without duplicating the full background.
  • Both files should be ready to paste into Course Designer text fields without cleanup.

Step 4: Add Course Designer Fields

Create the Course Designer MATLAB Exercise activity from the matlab-generate-grader-assessments output. Add fields that are needed by MATLAB Course Designer but not generated by the first-pass component workflow:

  • background.m and task.m copy/paste fields
  • Module placement and learning activity order
  • Estimated time
  • Prerequisite context
  • Required products and toolboxes
  • Learner setup notes
  • Course Designer persistence notes
  • Optional Common Cartridge placement notes

Step 5: Validate MATLAB Files

Use references/matlab-validation-rules.md.

At minimum:

  • Confirm solution.m, template.m, and tests.m exist.
  • Run check_matlab_code on solution.m, template.m, and tests.m only. background.m and task.m are plain-text copy/paste fields, not valid MATLAB code, and must not be linted.
  • Execute or smoke-test solution.m when runnable.
  • Validate tests.m syntax and MATLAB Exercise assess calls where possible.
  • Confirm the learner template preserves the expected names and scaffold.
  • Write all results to validation-report.md.

When execution is not possible because the generated item requires MATLAB Grader runtime functions, run static checks and targeted syntax checks, then mark runtime validation as partial.

Step 6: Course Designer Activity Artifacts

Use references/course-designer-artifacts.md.

Write these files in the activity folder:

  • activity.md
  • background.m
  • task.m
  • instructor-notes.md
  • validation-report.md
  • course-designer-activity.json
  • grader-source.md, the reference file that maps the activity to its grader-items/ source folder and component files (see references/course-designer-artifacts.md)

The course-designer-activity.json file is the import-oriented sidecar for future Course Designer API work. It must include course, module, learning activity, background.m, task.m, MATLAB file, product, validation, and matlab-generate-grader-assessments source metadata.

Output Rules

  • The final answer must list the activity folder, matlab-generate-grader-assessments source folder, metadata path, and validation report path.
  • Do not claim validation passed unless the MATLAB MCP checks passed.
  • If validation is partial, state exactly which checks were deferred.
  • Preserve the Course Designer hierarchy: course -> module -> learning activity.
  • Keep the matlab-generate-grader-assessments output intact and record any Course Designer-only additions separately.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Matlab Create Course Activity AI skill do?

Create MATLAB Course Designer MATLAB Exercise learning activities by wrapping the existing matlab-generate-grader-assessments skill, then validating generated solution.m, template.m, and tests.m files with MATLAB MCP Server tool calls. Use when the user asks to create a MATLAB Exercise, MATLAB course activity, Course Designer MATLAB activity, validated MATLAB solution file, or MATLAB Exercise component folder.

Why use Matlab Create Course Activity on TypingMind?

Because you install it once and use it with any model. Matlab Create Course Activity is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Matlab Create Course Activity in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/matlab/agent-skills-playground/tree/main/demos/course-generation/skills/matlab-create-course-activity. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Matlab Create Course Activity?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Matlab Create Course Activity?

As many as you like. As long as a model supports skills, you can use Matlab Create Course Activity with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Matlab Create Course Activity AI skill free?

It is published on GitHub by matlab. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇