iset/isetcam/matlab-evaluation

Claude Code and agent skill by iset/isetcam

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Use when running, testing, or publishing MATLAB .m scripts from ISETCam or the local Psych 221 teaching repository in a non-interactive MATLAB session, including locating MATLAB, setting paths, converting live scripts, or invoking iePublish.

Install

npx vskill@latest install iset/isetcam/matlab-evaluation

SKILL.md

MATLAB Evaluation Workflow

Repository layout

Use the repository that owns the source file. Do not assume that Psych 221 uses ISETCam's tutorial or example directory structure.

RepositoryRootRunnable source and support files
ISETCam~/Documents/MATLAB/isetcamtutorials/, examples/, and the supporting source tree; iePublish.m is in utility/.
Psych 221~/Documents/MATLAB/teach/psych221Class tutorial .m files at the repository root; their .mlx sources in livescripts/; additional support material in trainingdata/, slides/, and projects/.

Psych 221 provides psych221RootPath.m at its root. Add the Psych 221 root and its subdirectories to the MATLAB path when running its tutorials because they can rely on local helper functions or data:

matlab
psychRoot = fullfile(getenv('HOME'), 'Documents', 'MATLAB', 'teach', 'psych221');
addpath(genpath(psychRoot));
rmpath(fullfile(psychRoot, 'livescripts'));

Keep livescripts/ off the runtime path. Its .mlx source files can otherwise shadow same-stem converted .m scripts elsewhere in Psych 221.

Do not look for psych221/tutorials/, psych221/examples/, psych221/data/, psych221/utility/, run_all_scripts.sh, or publish_scripts.sh; they are not part of this repository.

Find MATLAB

MATLAB is not necessarily on the shell PATH. Discover installed releases and use an app bundle executable:

bash
ls /Applications | rg '^MATLAB_R'
/Applications/MATLAB_R2026a.app/bin/matlab -batch "disp(version)"

Prefer the newest installed release unless the user specifies another one. Use -batch rather than -r: it exits automatically and reports an uncaught MATLAB error through the process exit status.

Run a script in batch mode

Use absolute paths for the script and both repository roots. -batch inherits the shell working directory, so do not rely on a relative script path unless the working directory was deliberately selected.

bash
/Applications/MATLAB_R2026a.app/bin/matlab -batch "\
isetRoot = fullfile(getenv('HOME'), 'Documents', 'MATLAB', 'isetcam'); \
psychRoot = fullfile(getenv('HOME'), 'Documents', 'MATLAB', 'teach', 'psych221'); \
addpath(genpath(isetRoot)); \
addpath(genpath(psychRoot)); \
rmpath(fullfile(psychRoot, 'livescripts')); \
run(fullfile(psychRoot, 'ImageFormation_01a.m'))"

For ISETCam-only code, add ISETCam rather than Psych 221 unless the script actually requires Psych 221 support files. Before executing an unfamiliar script, inspect it for deliberate interactive calls such as pause, input, keyboard, or waitfor.

Convert a Psych 221 Live Script

Keep the .mlx source in psych221/livescripts/ and write its plain-text .m conversion into the Psych 221 root:

matlab
sourceFile = fullfile(psychRoot, 'livescripts', 'ImageFormation_01a.mlx');
targetFile = fullfile(psychRoot, 'ImageFormation_01a.m');
matlab.internal.liveeditor.openAndConvert(sourceFile, targetFile);

Do not write converted files back into livescripts/ unless explicitly asked. Verify that each .mlx source has a non-empty same-stem .m file at the Psych 221 root.

Publish HTML with ISETCam

iePublish is an ISETCam utility. It accepts a plain-text .m file and writes self-contained HTML beside that source file; it does not publish an .mlx file and it does not write into isetcam/docs/ by default.

For a Psych 221 tutorial, add both repositories to the path and pass the full path to the converted root-level script:

matlab
isetRoot = fullfile(getenv('HOME'), 'Documents', 'MATLAB', 'isetcam');
psychRoot = fullfile(getenv('HOME'), 'Documents', 'MATLAB', 'teach', 'psych221');
addpath(genpath(isetRoot));
addpath(genpath(psychRoot));
rmpath(fullfile(psychRoot, 'livescripts'));
htmlFile = iePublish(fullfile(psychRoot, 'ImageFormation_01a.m'), ...
'imageFormat', 'inline');

Use evalCode, showCode, maxHeight, maxWidth, and catchError as needed. Set evalCode to false only for a code-only preview; execute the tutorial when figures and output must be regenerated. s_publishTutorials and s_publishExamples are ISETCam batch helpers for ISETCam's own source directories, not a publisher for the Psych 221 root-level tutorials.

Verify the session

Confirm expected functions before evaluating or publishing:

matlab
which iePublish
which psych221RootPath

Check the MATLAB process exit status and inspect generated HTML locally when publishing. Keep generated HTML next to the .m source unless the user asks to move it elsewhere.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
171
Repository forks
59
7-day trend score
26

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/iset/isetcam/matlab-evaluation/badge)](https://verified-skill.com/skills/iset/isetcam/matlab-evaluation)

Something wrong with this skill or its page? Tell us.