TDD Workflow
hellangleZ/burn-in-cceverywhere-ralph
A skill your agent uses when writing new features, fixing bugs, or refactoring code.
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…
$ npx skills add ISET/isetcam --skill testing-workflow -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ISET/isetcam testing-workflow --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ISET/isetcam.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/testing-workflow .claude/skills/testing-workflow && rm -rf skills-srcUse ~/.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/
Install the "testing-workflow" agent skill from https://github.com/ISET/isetcam/tree/main/.github/skills/testing-workflow into .claude/skills/testing-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-workflow", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ISET/isetcam/tree/main/.github/skills/testing-workflowType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ISET/isetcam --skill testing-workflow -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ISET/isetcam testing-workflow --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ISET/isetcam.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/testing-workflow .agents/skills/testing-workflow && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "testing-workflow" agent skill from https://github.com/ISET/isetcam/tree/main/.github/skills/testing-workflow into .agents/skills/testing-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-workflow", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ISET/isetcam --skill testing-workflow -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ISET/isetcam testing-workflow --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ISET/isetcam.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/testing-workflow .cursor/skills/testing-workflow && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "testing-workflow" agent skill from https://github.com/ISET/isetcam/tree/main/.github/skills/testing-workflow into .cursor/skills/testing-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-workflow", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ISET/isetcam.git --path .github/skills/testing-workflow--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ISET/isetcam --skill testing-workflow -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ISET/isetcam testing-workflow --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ISET/isetcam.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/testing-workflow .gemini/skills/testing-workflow && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "testing-workflow" agent skill from https://github.com/ISET/isetcam/tree/main/.github/skills/testing-workflow into .gemini/skills/testing-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-workflow", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ISET/isetcam testing-workflowInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ISET/isetcam --skill testing-workflow -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ISET/isetcam.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/testing-workflow .github/skills/testing-workflow && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "testing-workflow" agent skill from https://github.com/ISET/isetcam/tree/main/.github/skills/testing-workflow into .github/skills/testing-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-workflow", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ISET/isetcam --skill testing-workflow -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ISET/isetcam testing-workflow --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ISET/isetcam.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/testing-workflow .opencode/skills/testing-workflow && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "testing-workflow" agent skill from https://github.com/ISET/isetcam/tree/main/.github/skills/testing-workflow into .opencode/skills/testing-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-workflow", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
testing-workflowA 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…
Testing Workflow is an agent skill from ISET/isetcam. Use when running or choosing ISETCam tests after a code change — ieUnitTest, ieTutorialTest, ieExampleTest, ieTestReport, selecting/starting a partial run, the % SkipFile marker, or diagnosing a failing/interrupted test run.
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 Testing & QA, covering Unit testing. The repository describes itself as: Open source version of the original ISET, a complement to ISETBIO. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 17146a9. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Testing Workflow loads about 1.4k tokens when it runs. Until then it costs about 60 tokens; SKILL.md has 673 words of instructions outside code blocks.
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.
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.
The full file from ISET/isetcam at commit 17146a9, republished under its MIT licence (© ISET). 673 words, ~1,427 tokens.
.claude/skills/testing-workflow/SKILL.md (or your agent's skills folder).This guide is for developers who have changed ISETCam and want to check that their work has not broken existing behavior. Most users do not need to run these tests.
Start MATLAB with ISETCam and its subdirectories on the path (see the
matlab-environment-setup skill). A clean MATLAB session is recommended for
tutorial and example tests because those runners reset ISET state and close
figures between scripts.
ISETCam provides three repository-wide runners:
| Runner | Purpose |
|---|---|
ieUnitTest | Run automated function-based unit tests |
ieTutorialTest | Run tutorial scripts as smoke tests |
ieExampleTest | Run example scripts as smoke tests |
During development, begin with the smallest relevant test:
_tests_ directory nearest your change.'selection'.ieUnitTest before sharing or merging a substantial change.This progression usually catches problems faster than beginning with every repository test.
Run all ISETCam unit tests:
results = ieUnitTest;Unit tests are stored in _tests_ directories near the code they protect.
Most areas also provide a focused runner, for example:
results = sceneUnitTest;
results = sensorUnitTest;
results = opticsUnitTest;The returned value is a MATLAB TestResult array. The runner prints a
summary, and the same results can be reported again when needed:
ieTestReport(results,'sceneUnitTest');Prefer colocated function-level tests named test_<functionname>.m when
adding or changing behavior. Good function-level tests cover API/shape
expectations, key behavior or mapping checks, stable golden-value
fingerprints with named tolerances, and important input-validation cases.
Treat isetvalidate as the broader system/regression validation suite when
relevant to a change.
Run an entire suite:
tutorialRun = ieTutorialTest;
exampleRun = ieExampleTest;These runners recursively discover plain-text t_*.m and s_*.m files in
the corresponding directory. Each script runs with fresh ISET state so it
cannot depend on variables or objects created by an earlier script.
selectionUse 'selection' while developing or debugging one tutorial or example:
run = ieTutorialTest('selection','t_cameraIntroduction');
run = ieExampleTest('selection','s_metricsSPD');The selected value may be a script stem, a file name including .m, a path
relative to the tutorial or example directory, or a full path.
startUse 'start' to run the named script and every script after it in the
deterministic, path-sorted execution plan:
run = ieTutorialTest('start','t_cameraIntroduction');This is useful after fixing a failure in a long run. It starts a new run; it does not modify or resume the earlier checkpoint.
Place this marker on its own comment line when a tutorial or example should be discovered but not executed automatically:
% SkipFileWhitespace around the marker is accepted, but the form above is preferred.
Use it sparingly for scripts requiring unavailable data or toolboxes, manual
interaction, excessive runtime, or a documented unresolved failure. The
legacy % UTTBSkip marker remains supported for compatibility with older
files, but new and updated files should use % SkipFile.
Scripts that generate or refresh repository data should instead be named
data_*.m; they are not tutorial or example smoke-test sources (see the
authoring-tutorials-examples skill).
Tutorial and example runners return a run struct containing the planned
files, per-file status, errors, timing, and checkpoint paths. Each file has
status Passed, Failed, or Skipped.
The runner prints a summary automatically. Use ieTestReport to list files
of interest:
ieTestReport(run,'List','failed');
ieTestReport(run,'List',{'failed','skipped'});
ieTestReport(run,'List','all');Each run creates a timestamped directory under local/ containing:
checkpoint.mat — the latest durable run state;progress.log — chronological progress and skip reasons; andplanned-files.txt — the exact execution order.If MATLAB exits before returning a run variable, report directly from the checkpoint or its containing directory:
ieTestReport('/path/to/checkpoint.mat','List','all');
ieTestReport('/path/to/run/directory','List',{'failed','skipped'});A checkpoint whose state remains Running represents a run that did not
finish normally. Its unfinished count and last active file help identify
where investigation should begin. For the schema and internals behind these
checkpoints, see the test-runner-architecture skill.
Re-run the smallest failing unit test, tutorial, or example in a clean
MATLAB session. Check whether the failure depends on external data, optional
toolboxes, graphics, or user interaction before marking it with SkipFile.
Tests should be deterministic and should not require state left by another
test.
© ISET, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .github/skills/testing-workflow of ISET/isetcam.
Open the folder on GitHubat commit 17146a9
Testing Workflow 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Testing Workflow this skillISET/isetcam | 176 | — | ~1.4k | Automated safety check: Pass | MIT | |
| TDD WorkflowhellangleZ/burn-in-cceverywhere-ralph | 112 | 11 repos | ~2.4k | Automated safety check: Pass | None | |
| Testing OpenLogi UIAprilNEA/OpenLogi | 23k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Go Testingcxuu/golang-skills | 170 | 1 repos | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Contractssamchon/nestia | 2.2k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Cohesion Over TestabilityEpicenterHQ/epicenter | 4.8k | — | ~2k | Automated safety check: Pass | Custom licence |
hellangleZ/burn-in-cceverywhere-ralph
A skill your agent uses when writing new features, fixing bugs, or refactoring code.
AprilNEA/OpenLogi
Verifies OpenLogi's native GPUI interface with focused tests, the component gallery and a mock agent, choosing the evidence that fits each change.
cxuu/golang-skills
A skill your agent uses when writing, reviewing, or improving Go test code — including table-driven tests, subtests, parallel tests, test helpers, test doubles, and assertions with cmp.Diff.
samchon/nestia
Defines self-acknowledgments for production declarations and tests.
EpicenterHQ/epicenter
Collapse test-shaped production boundaries while preserving behavior and coverage.
liaohch3/claude-tap
Tests JavaScript embedded in an HTML file in two layers: pytest checks of the logic ported to Python, and Playwright runs in a real browser for the DOM.
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…
ISET/isetcam
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.
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…
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…
ISET/isetcam
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…
Categories
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…. Testing Workflow is an agent skill from ISET/isetcam. Use when running or choosing ISETCam tests after a code change — ieUnitTest, ieTutorialTest, ieExampleTest, ieTestReport, selecting/starting a partial run, the % SkipFile marker, or diagnosing a failing/interrupted test run.
Testing Workflow fits situations like: choosing ISETCam tests after a code change — ieUnitTest; selecting/starting a partial run; the % SkipFile marker; diagnosing a failing/interrupted test run.
Run `npx skills add ISET/isetcam --skill testing-workflow -a claude-code`. Or copy the skill folder (.github/skills/testing-workflow in ISET/isetcam) into .claude/skills/testing-workflow in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ISET/isetcam --skill testing-workflow -a codex`. Or copy the skill folder (.github/skills/testing-workflow in ISET/isetcam) into .agents/skills/testing-workflow in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ISET/isetcam --skill testing-workflow -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/testing-workflow, .gemini/skills/testing-workflow, .github/skills/testing-workflow and .opencode/skills/testing-workflow in your project.
SKILL.md names no scripts, command-line tools or credentials: Testing Workflow is instructions for the agent only.
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.
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.
Testing Workflow is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Testing Workflow: TDD Workflow (hellangleZ/burn-in-cceverywhere-ralph, 112 stars), Testing OpenLogi UI (AprilNEA/OpenLogi, 23k stars), Go Testing (cxuu/golang-skills, 170 stars) and Contracts (samchon/nestia, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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.