matlab-build-app
matlab-build-app is a skill in matlab/matlab-agentic-toolkit, last changed 8 Oct 2026. It can run shell commands, reach the network, name web addresses, bundle scripts, pre-approve tools and include files we can't read — read the findings before installing.
Build MATLAB apps from requirements to working code. Asks discovery questions (or skips them when the path is known), recommends UIFigure or UIHTML architecture, identifies layout archetype (Dashboard, Explorer, Tabbed, Wizard, Canvas), produces an implementation plan, and executes the build. For UIFigure apps, optionally serializes as App Designer (.mlapp or plain-text .m + .xml). Use when a user wants to build a MATLAB app, create a GUI, make an interactive tool, build a uifigure app, build a uihtml app, build an App Designer app, build a .mlapp app, build a plain-text App Designer app, or asks which approach to use. Also use when user describes spatial layout needs: dashboard, control panel, sidebar, tabs, wizard, stepper, canvas, workspace.
At a glance
What it can touch
- Runs shell commands
- Reaches the network
- Names web addresses
- Bundles scripts
- Pre-approves tools
- Includes files we can't read
How much a skill can do, not whether it is risky.
Pattern check:5 items to reviewSee them
Install
Each tab says whether it installs commit 032b4b6, the one we checked, or the latest version.
OpenCode also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Goose also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Windsurf (Devin Desktop) also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Zed also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Roo Code also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Factory Droid also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Junie also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Amp also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
No install command here reaches Kiro. Copy the skill's folder into .kiro/skills/ in your project, or ~/.kiro/skills/ for all your projects. matlab/matlab-agentic-toolkit/skills-catalog/matlab-app-building/matlab-build-app (opens in a new tab)
Antigravity also looks in .agents/skills/, so the Any agent steps reach it with This project. For All projects, see where Antigravity looks.
Cline also looks in .claude/skills/, so the Claude Code steps reach it with This project. For All projects, see where Cline looks.
Read these 5 items before installing, starting with Broad tools pre-approved in allowed-tools — SKILL.md:20
Claude Code
Pinned to commit 032b4b6, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/matlab/matlab-agentic-toolkit.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin 032b4b605999b1f4adecaac1efa1c9faad41adf6 &&git -C "$tmp" sparse-checkout set -- skills-catalog/matlab-app-building/matlab-build-app &&git -C "$tmp" checkout -q 032b4b605999b1f4adecaac1efa1c9faad41adf6 &&mkdir -p .claude/skills &&mkdir .claude/skills/matlab-build-app &&cp -R "$tmp"/skills-catalog/matlab-app-building/matlab-build-app/. .claude/skills/matlab-build-app/ &&rm -rf "$tmp"If Claude Code was already running and this created the skills folder, run /reload-skills.
Or install the matlab-app-building plugin it ships in. Installs the latest version, not the one we checked. Installs everything in the plugin, including any hooks, MCP servers and scripts our check doesn't cover.
claude plugin marketplace add matlab/matlab-agentic-toolkit --scope project &&claude plugin install matlab-app-building@matlab-agentic-toolkit --scope projectClaude apps
Pinned to commit 032b4b6, the one we checked.
Skills in the Claude apps belong to your account rather than to a project.
Make matlab-build-app.zip, with the skill folder at the top level:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/matlab/matlab-agentic-toolkit.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin 032b4b605999b1f4adecaac1efa1c9faad41adf6 &&git -C "$tmp" sparse-checkout set -- skills-catalog/matlab-app-building/matlab-build-app &&git -C "$tmp" checkout -q 032b4b605999b1f4adecaac1efa1c9faad41adf6 &&out="$(mktemp -d)" &&cp -R "$tmp"/skills-catalog/matlab-app-building/matlab-build-app "$out"/matlab-build-app &&(cd "$out" && zip -qr - matlab-build-app) > matlab-build-app.zip &&rm -rf "$tmp" "$out"In Claude, open Customize > Skills, select +, then + Create skill > Upload a skill, and choose matlab-build-app.zip.
On Free, Pro and Max plans, turn on Code execution and file creation (Create and edit files in newer settings) under Settings > Capabilities.
Codex
Pinned to commit 032b4b6, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/matlab/matlab-agentic-toolkit.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin 032b4b605999b1f4adecaac1efa1c9faad41adf6 &&git -C "$tmp" sparse-checkout set -- skills-catalog/matlab-app-building/matlab-build-app &&git -C "$tmp" checkout -q 032b4b605999b1f4adecaac1efa1c9faad41adf6 &&mkdir -p .agents/skills &&mkdir .agents/skills/matlab-build-app &&cp -R "$tmp"/skills-catalog/matlab-app-building/matlab-build-app/. .agents/skills/matlab-build-app/ &&rm -rf "$tmp"Codex picks up new skills on its own; restart it if this one does not appear.
Cursor
Pinned to commit 032b4b6, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/matlab/matlab-agentic-toolkit.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin 032b4b605999b1f4adecaac1efa1c9faad41adf6 &&git -C "$tmp" sparse-checkout set -- skills-catalog/matlab-app-building/matlab-build-app &&git -C "$tmp" checkout -q 032b4b605999b1f4adecaac1efa1c9faad41adf6 &&mkdir -p .cursor/skills &&mkdir .cursor/skills/matlab-build-app &&cp -R "$tmp"/skills-catalog/matlab-app-building/matlab-build-app/. .cursor/skills/matlab-build-app/ &&rm -rf "$tmp"Copilot & VS Code
Pinned to commit 032b4b6, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/matlab/matlab-agentic-toolkit.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin 032b4b605999b1f4adecaac1efa1c9faad41adf6 &&git -C "$tmp" sparse-checkout set -- skills-catalog/matlab-app-building/matlab-build-app &&git -C "$tmp" checkout -q 032b4b605999b1f4adecaac1efa1c9faad41adf6 &&mkdir -p .github/skills &&mkdir .github/skills/matlab-build-app &&cp -R "$tmp"/skills-catalog/matlab-app-building/matlab-build-app/. .github/skills/matlab-build-app/ &&rm -rf "$tmp"In a running Copilot CLI session, run /skills reload.
Or install it with gh skill, which also installs the commit we checked. Needs GitHub CLI 2.90 or later.
gh skill install matlab/matlab-agentic-toolkit skills-catalog/matlab-app-building/matlab-build-app/SKILL.md@032b4b605999b1f4adecaac1efa1c9faad41adf6 --agent github-copilot --scope projectGemini CLI
Pinned to commit 032b4b6, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/matlab/matlab-agentic-toolkit.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin 032b4b605999b1f4adecaac1efa1c9faad41adf6 &&git -C "$tmp" sparse-checkout set -- skills-catalog/matlab-app-building/matlab-build-app &&git -C "$tmp" checkout -q 032b4b605999b1f4adecaac1efa1c9faad41adf6 &&mkdir -p .gemini/skills &&mkdir .gemini/skills/matlab-build-app &&cp -R "$tmp"/skills-catalog/matlab-app-building/matlab-build-app/. .gemini/skills/matlab-build-app/ &&rm -rf "$tmp"In a running session, run /skills reload.
Or use Gemini CLI’s own installer. Installs the latest version, not the one we checked.
gemini skills install https://github.com/matlab/matlab-agentic-toolkit.git --path skills-catalog/matlab-app-building/matlab-build-app --scope workspaceAny agent
Pinned to commit 032b4b6, the one we checked.
OpenCode, Goose, Windsurf (Devin Desktop), Zed, Roo Code, Factory Droid, Junie, Amp and Antigravity read .agents/skills in a project.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/matlab/matlab-agentic-toolkit.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin 032b4b605999b1f4adecaac1efa1c9faad41adf6 &&git -C "$tmp" sparse-checkout set -- skills-catalog/matlab-app-building/matlab-build-app &&git -C "$tmp" checkout -q 032b4b605999b1f4adecaac1efa1c9faad41adf6 &&mkdir -p .agents/skills &&mkdir .agents/skills/matlab-build-app &&cp -R "$tmp"/skills-catalog/matlab-app-building/matlab-build-app/. .agents/skills/matlab-build-app/ &&rm -rf "$tmp"Or use the skills CLI from skills.sh. Installs the latest version, not the one we checked. The skills CLI reports installs to skills.sh unless you set DISABLE_TELEMETRY=1.
npx skills@1.7.4 add matlab/matlab-agentic-toolkit --skill matlab-build-appWhat it can touch
From the files and frontmatter at commit 032b4b6. This is how much a skill can do, not whether it is risky.
Pattern check
Pattern check: 5 items to review · commit 032b4b6 · 29 Oct 2026
We checked every text file in this skill, at commit 032b4b6 on 29 Oct 2026, against 45 published patterns such as download-and-run commands, hidden text and credential access. We don't run the skill, we don't read the web pages it points to, and we can't judge everything its instructions might lead an agent to do. In published tests, pattern checks like this one missed most malicious skills. Read the skill before you install it — especially anything it asks you to download or run.
How the check worksReport an incorrect finding
Files we didn't read
- scripts/+module/+backgroundtask/BackgroundTaskModule.p · binary file
- scripts/+module/AppBuilderModule.p · binary file
- scripts/AppDesignerAgentInterface.p · binary file
- scripts/MlappBackend.p · binary file
- scripts/PlainTextBackend.p · binary file
Outside links we did not follow
- https://www.mathworks.com/content/dam/mathworks/license/pmrl/license.md
- https://cdn.jsdelivr.net/npm/chart.js@4.5.1/dist/chart.umd.min.js
- https://cdn
- http://www.w3.org/2001/XMLSchema
- https://cdn.jsdelivr.net/npm/chartjs-adapter-date-fns@3.0.0/dist/chartjs-adapter-date-fns.bundle.min.js
Format check
Each agent reads SKILL.md a little differently. We check the file against each one's published rules; we don't run the skill in any agent.
Agent Skills specPasses with warnings
The open format from agentskills.io, held to what the strictest agents enforce, so one folder loads everywhere.
- Warning
allowed-tools is a list; the spec defines a space-separated string. gh skill publish rejects a list, though Claude Code accepts one. O5
Fix: Write it on one line: allowed-tools: Read Write Edit Bash Grep Glob
- Warning
The body is about 5,031 tokens (approx.); the spec suggests under 5,000. B2
Fix: Move detail into reference files that the agent reads only when needed.
- Note
Reference files over 100 lines with no table of contents at the top: references/app-designer/agent-guide-mlapp.md (327 lines), references/app-designer/agent-guide-plaintext.md (300 lines), references/app-designer/agent-guide-shared.md (540 lines), references/app-designer/background-tasks.md (109 lines), references/app-designer/plaintext/classdef-template.md (356 lines) and 34 more. B5
Fix: Add a short list of the sections at the top of each.
- Warning
Claude CodePasses
Claude Code reads its own extra fields, ignores unknown ones, and still loads a skill whose frontmatter is broken, without its fields.
- Note
The body is about 5,031 tokens (approx.); the spec suggests under 5,000. After compaction Claude Code keeps only the first 5,000 tokens of a skill. B2
Fix: Move detail into reference files that the agent reads only when needed.
- Note
Reference files over 100 lines with no table of contents at the top: references/app-designer/agent-guide-mlapp.md (327 lines), references/app-designer/agent-guide-plaintext.md (300 lines), references/app-designer/agent-guide-shared.md (540 lines), references/app-designer/background-tasks.md (109 lines), references/app-designer/plaintext/classdef-template.md (356 lines) and 34 more. B5
Fix: Add a short list of the sections at the top of each.
- Note
Claude apps & API uploadPasses
Uploading to claude.ai or the Claude API, or packaging with Anthropic's script, accepts only the six spec fields and stops on anything else.
- Note
The description is 754 characters. The claude.ai Help Center says 200 at most, though Anthropic's API docs and validator allow 1,024. D4
Fix: If the claude.ai upload refuses it, trim the description to 200 characters.
- Note
allowed-tools is a list; the spec defines a space-separated string. O5
Fix: Write it on one line: allowed-tools: Read Write Edit Bash Grep Glob
- Note
The body is about 5,031 tokens (approx.); the spec suggests under 5,000. Anthropic's guidance says the same. B2
Fix: Move detail into reference files that the agent reads only when needed.
- Note
Reference files over 100 lines with no table of contents at the top: references/app-designer/agent-guide-mlapp.md (327 lines), references/app-designer/agent-guide-plaintext.md (300 lines), references/app-designer/agent-guide-shared.md (540 lines), references/app-designer/background-tasks.md (109 lines), references/app-designer/plaintext/classdef-template.md (356 lines) and 34 more. B5
Fix: Add a short list of the sections at the top of each.
- Note
OpenAI (Codex & API)Passes
Codex finds SKILL.md by its exact name and needs a description; OpenAI's Skills API checks the frontmatter against the spec and caps uploads.
- Note
allowed-tools is a list; the spec defines a space-separated string. O5
Fix: Write it on one line: allowed-tools: Read Write Edit Bash Grep Glob
- Note
VS Code & CopilotPasses
VS Code reads skills one folder below .github/skills, .claude/skills or .agents/skills and falls back to the folder name when the name is missing or differs; GitHub's Copilot docs require the exact name SKILL.md.
- Note
allowed-tools is a list; the spec defines a space-separated string. O5
Fix: Write it on one line: allowed-tools: Read Write Edit Bash Grep Glob
- Note
SKILL.md
We only show SKILL.md text here when its licence clearly allows it.
Read SKILL.md on GitHub (opens in a new tab)Files
66 files
Show 46 more
More from matlab/matlab-agentic-toolkit
Other Product & project management skills
Same category, most repo stars first.