Agent skill

Publishing Tutorials Examples

by ISET in ISET/isetcam

A skill your agent uses when converting an ISETCam tutorial or example .m file into a self-contained HTML file for a wiki page — iePublish, spublishTutorials, spublishExamples, embedding figures or…

MITAuto-check passedAI & LLM Engineering

Install Publishing Tutorials Examples

skills CLI
$ npx skills add ISET/isetcam --skill publishing-tutorials-examples -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ISET/isetcam publishing-tutorials-examples --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ISET/isetcam.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/publishing-tutorials-examples .claude/skills/publishing-tutorials-examples && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
publishing-tutorials-examples
GitHub stars
176
Token cost
~1.4k tokens
SKILL.md length
698 words
Files
1
Skills in repo
6
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when converting an ISETCam tutorial or example .m file into a self-contained HTML file for a wiki page — iePublish, spublishTutorials, spublishExamples, embedding figures or…

  • Works in 6 steps: Edit and run the tutorial or example… → Close unrelated figures and make sure… → Publish the script with iePublish,… → …
  • Converting an ISETCam tutorial
  • SKILL.md covers Publish One File, Publish a Set of Files, Useful Options and Embedded Movies, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Publishing Tutorials Examples is an agent skill from ISET/isetcam. Use when converting an ISETCam tutorial or example .m file into a self-contained HTML file for a wiki page — iePublish, spublishTutorials, spublishExamples, embedding figures or movies, or GitHub Pages/wiki linking.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in AI & LLM Engineering, covering Embeddings. It works with GitHub. The repository describes itself as: Open source version of the original ISET, a complement to ISETBIO. The licence is MIT.

When your agent uses it

  • Converting an ISETCam tutorial
  • Example .m file into a self-contained HTML file for a wiki page — iePublish
  • SpublishTutorials
  • SpublishExamples

Example prompts

  • “/publishing-tutorials-examples”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Edit and run the tutorial or example interactively.
  2. Close unrelated figures and make sure the script runs without manual
  3. Publish the script with iePublish, s_publishTutorials, or
  4. Open the generated HTML locally and inspect the figures, output, and
  5. Commit the source .m file and the generated .html file when the
  6. Link the served HTML file from the relevant wiki page.

What it can do on your machine

Read from SKILL.md and the folder at commit 17146a9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are matlab).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Publishing Tutorials Examples loads about 1.4k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 698 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~62
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ISET/isetcam at commit 17146a9, republished under its MIT licence (© ISET). 698 words, ~1,369 tokens.

Download SKILL.mdSave it as .claude/skills/publishing-tutorials-examples/SKILL.md (or your agent's skills folder).
name
publishing-tutorials-examples
description
Use when converting an ISETCam tutorial or example .m file into a self-contained HTML file for a wiki page — iePublish, s_publishTutorials, s_publishExamples, embedding figures or movies, or GitHub Pages/wiki linking.

Publishing Tutorials and Examples

ISETCam provides iePublish and the s_publish*.m helper scripts for converting MATLAB tutorials and examples into HTML files that can be linked from wiki pages.

The publishing helpers are intended to create self-contained HTML files. Figures are embedded directly in the HTML as base64 images, so the result can be served as one file without copying a companion folder of PNG files.

Publish One File

From a MATLAB session with ISETCam on the path:

matlab
htmlFile = iePublish('tutorials/scene/t_sceneIntroduction.m');
web(htmlFile, '-browser');

For tutorials in a dependent repository, pass the full path to the source script after that repository is on the MATLAB path:

matlab
htmlFile = iePublish(fullfile(isetbioRootPath, ...
    'tutorials', 'cmosaic', 't_cMosaicBasic.m'));

iePublish writes the HTML file next to the source .m file, using the same base name and the .html extension.

Publish a Set of Files

ISETCam provides these batch scripts:

matlab
s_publishTutorials
s_publishExamples

Both scripts call iePublish with imageFormat set to 'inline'. This is the setting that embeds figures in the HTML and makes the output suitable for serving from a web page and linking from a wiki.

The default s_publishTutorials run publishes all known ISETCam tutorial directories. The default s_publishExamples run currently publishes the selected example directory listed in the script; edit sDir in that file to publish a different example subset.

Useful Options

The defaults are chosen for wiki-linkable tutorial output:

matlab
htmlFile = iePublish(sourceFile, ...
    'evalCode', true, ...
    'showCode', true, ...
    'imageFormat', 'inline', ...
    'maxHeight', 512, ...
    'maxWidth', 512);

Common adjustments are:

  • evalCode: Set to false for a quick code-only preview. Figures and command output are only regenerated when this is true.
  • showCode: Set to false when the HTML should show output without source code.
  • maxHeight and maxWidth: Resize embedded figures for more manageable HTML pages.
  • catchError: Leave as true for most publishing runs so one script error does not terminate a batch unexpectedly.
  • stylesheet: Pass a CSS file when a project needs custom HTML styling.

For wiki-linked pages, keep imageFormat set to 'inline'. Other formats, such as 'png', require the external image files to be copied and linked along with the HTML file.

Embedded Movies

Small MP4 movies can be embedded in the generated HTML. Write the movie next to the source file while publishing, then add a prose marker comment with the relative movie file name:

matlab
movieFile = fullfile(fileparts(mfilename('fullpath')), 'exampleMovie.mp4');
ieMovie(movieData, 'vname', movieFile, 'show', false, 'FrameRate', 8);
%%
% iePublishVideo: exampleMovie.mp4

With the default inline publishing mode, iePublish replaces that marker with a self-contained HTML <video> element and deletes the temporary MP4.

Keep %% and % iePublishVideo: ... on separate lines as shown above. Combining them into one %% iePublishVideo: ... cell-title line renders as an HTML heading (<h2>) instead of a paragraph (<p>), and iePublish's marker regex only matches <p> text — the video then silently never gets embedded, with no error to flag it.

Build movie frames from plain numeric data and hand the whole stack to ieMovie directly, rather than rendering a plot and screen-capturing it (getframe, exportgraphics) inside the frame loop. Under publish-driven execution (which iePublish uses), a figure updated and captured mid-loop can come back solid black regardless of the figure's Visible setting — this is an interaction with how publish manages figures, not specific to one script or renderer. If a frame needs annotation (title, colorbar, axis labels) that raw intensity data can't show, render that as a separate static figure outside the movie loop instead of trying to bake it into every video frame. Keep embedded movies short and modest in size so the HTML file stays reasonable.

Show full SKILL.md (163 more words)Show less

The generated files are ordinary HTML and should render correctly when served as HTML, for example from GitHub Pages or another static web server. A GitHub repository blob URL may show the HTML source instead of rendering the page; use a served HTML URL when linking from wiki pages.

  1. Edit and run the tutorial or example interactively.
  2. Close unrelated figures and make sure the script runs without manual input.
  3. Publish the script with iePublish, s_publishTutorials, or s_publishExamples.
  4. Open the generated HTML locally and inspect the figures, output, and links.
  5. Commit the source .m file and the generated .html file when the project tracks published HTML.
  6. Link the served HTML file from the relevant wiki page.

Re-run the publisher whenever the source tutorial or example changes. Embedded figures make the generated HTML self-contained, but they can also make the file large, so use the figure-size options when a script creates large displays.

© ISET, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .github/skills/publishing-tutorials-examples of ISET/isetcam.

Open the folder on GitHubat commit 17146a9

Compare with similar skills

Publishing Tutorials Examples next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Publishing Tutorials Examples compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Publishing Tutorials Examples this skillISET/isetcam176—~1.4kAutomated safety check: PassMIT
Esmfold2JimLiu/science-skills2274 repos~2.5kAutomated safety check: PassApache-2.0
Embeddings via 9Routerdecolua/9router30k—~604Automated safety check: PassMIT
PR Demomikeyobrien/ralph-orchestrator3.2k—~1.3kAutomated safety check: PassMIT
Yas Demo Texttmck-code/yet-another-statusline242—~649Automated safety check: PassBSD-3-Clause
Michel CLI Demo RecorderPackmindHub/packmind317—~3.4kAutomated safety check: PassApache-2.0

Similar skills

  • Esmfold2

    JimLiu/science-skills

    Biohub ESMFold2 / ESMFold2-Fast all-atom co-folding (Candido et al.

    227 GitHub starsUsed in 4 repos~2.5k tokens
    AI & LLM EngineeringAuto-check passed
  • Embeddings via 9Router

    decolua/9router

    Generates vector embeddings through the 9Router /v1/embeddings endpoint, using models from providers such as OpenAI, Gemini, Mistral and Voyage for RAG and semantic search.

    30k GitHub stars~604 tokensUpdated 7 days ago
    AI & LLM EngineeringAuto-check passed
  • PR Demo

    mikeyobrien/ralph-orchestrator

    A skill your agent uses when creating animated demos (GIFs) for pull requests or documentation.

    3.2k GitHub stars~1.3k tokensUpdated 3 days ago
    AI & LLM EngineeringAuto-check passed
  • Yas Demo Text

    tmck-code/yet-another-statusline

    Convert make demo/img statusline snapshots into ANSI-stripped plain text for diffing and PR embedding.

    242 GitHub stars~649 tokensUpdated 3 days ago
    AI & LLM EngineeringAuto-check passed
  • Michel CLI Demo Recorder

    PackmindHub/packmind

    Produce proof-of-execution demos of the Packmind CLI (packmind-cli) as terminal-styled images (colors and formatting preserved exactly), for embedding in a GitHub PR.

    317 GitHub stars~3.4k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Copilot SDK

    github/awesome-copilot

    Official

    Build agentic applications with GitHub Copilot SDK. An agent skill from github/awesome-copilot.

    40k GitHub starsUsed in 5 repos~6.3k tokens
    AI & LLM EngineeringAuto-check passed

More from ISET/isetcam

  • A skill your agent uses when adding, editing, or deciding where to place a file in tutorials/ or examples/, when naming a new t.m, s.m, or data.m script, or when asked about the difference between a…

    176 GitHub stars~810 tokensUpdated 12 days ago
    Auto-check passed
  • A skill your agent uses when setting up or troubleshooting a MATLAB session for this repository — configuring the VS Code MATLAB extension, MATLAB Desktop vs.

    176 GitHub stars~1.3k tokensUpdated 12 days ago
    Auto-check passed
  • Matlab Evaluation

    ISET/isetcam

    A skill your agent uses 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…

    176 GitHub stars~1.2k tokensUpdated 12 days ago
    Auto-check passed
  • A skill your agent uses when modifying the shared ieRunTutorialExampleTests engine, changing the canonical run-record/checkpoint schema, adding a thin tutorial/example test wrapper for a new…

    176 GitHub stars~2.6k tokensUpdated 12 days ago
    Auto-check passed
  • Testing Workflow

    ISET/isetcam

    A skill your agent uses when running or choosing ISETCam tests after a code change — ieUnitTest, ieTutorialTest, ieExampleTest, ieTestReport, selecting/starting a partial run, the % SkipFile marker…

    176 GitHub stars~1.4k tokensUpdated 12 days ago
    Auto-check passed

Works with

Questions about Publishing Tutorials Examples

What does Publishing Tutorials Examples do?

A skill your agent uses when converting an ISETCam tutorial or example .m file into a self-contained HTML file for a wiki page — iePublish, spublishTutorials, spublishExamples, embedding figures or…. Publishing Tutorials Examples is an agent skill from ISET/isetcam.m file into a self-contained HTML file for a wiki page — iePublish, spublishTutorials, spublishExamples, embedding figures or movies, or GitHub Pages/wiki linking.

When should I use Publishing Tutorials Examples?

Publishing Tutorials Examples fits situations like: converting an ISETCam tutorial; example .m file into a self-contained HTML file for a wiki page — iePublish; spublishTutorials; spublishExamples.

How do I install Publishing Tutorials Examples in Claude Code?

Run `npx skills add ISET/isetcam --skill publishing-tutorials-examples -a claude-code`. Or copy the skill folder (.github/skills/publishing-tutorials-examples in ISET/isetcam) into .claude/skills/publishing-tutorials-examples in your project. Claude Code loads it when a task matches its description.

How do I install Publishing Tutorials Examples in Codex?

Run `npx skills add ISET/isetcam --skill publishing-tutorials-examples -a codex`. Or copy the skill folder (.github/skills/publishing-tutorials-examples in ISET/isetcam) into .agents/skills/publishing-tutorials-examples in your project. Codex loads it when a task matches its description.

Can I use Publishing Tutorials Examples in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ISET/isetcam --skill publishing-tutorials-examples -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/publishing-tutorials-examples, .gemini/skills/publishing-tutorials-examples, .github/skills/publishing-tutorials-examples and .opencode/skills/publishing-tutorials-examples in your project.

What does Publishing Tutorials Examples need to run?

SKILL.md names no scripts, command-line tools or credentials: Publishing Tutorials Examples is instructions for the agent only.

Does Publishing Tutorials Examples access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Publishing Tutorials Examples safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Publishing Tutorials Examples use?

Publishing Tutorials Examples is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Publishing Tutorials Examples use?

About 1.4k tokens (SKILL.md is roughly 5.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Publishing Tutorials Examples?

Skills that share tags, products or a category with Publishing Tutorials Examples: Esmfold2 (JimLiu/science-skills, 227 stars), Embeddings via 9Router (decolua/9router, 30k stars), PR Demo (mikeyobrien/ralph-orchestrator, 3.2k stars) and Yas Demo Text (tmck-code/yet-another-statusline, 242 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Publishing Tutorials Examples?

ISET (a GitHub organization) maintains it in ISET/isetcam, which has 176 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on September 25, 2026.

Source: ISET/isetcam on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.