Test Writing Workflow
iOfficeAI/AionUi
Sets the test-writing workflow for the repository: risk-first scenario lists, behavior-focused Vitest tests, a full run before each commit and a coverage target.
Choose and run the appropriate eXeLearning checks for a diff, including the final code gates or guidance-only validation.
$ npx skills add exelearning/exelearning --skill verify-change -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install exelearning/exelearning verify-change --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/exelearning/exelearning.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/verify-change .claude/skills/verify-change && 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 "verify-change" agent skill from https://github.com/exelearning/exelearning/tree/main/.agents/skills/verify-change into .claude/skills/verify-change/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-change", 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/exelearning/exelearning/tree/main/.agents/skills/verify-changeType 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 exelearning/exelearning --skill verify-change -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install exelearning/exelearning verify-change --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/exelearning/exelearning.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/verify-change .agents/skills/verify-change && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "verify-change" agent skill from https://github.com/exelearning/exelearning/tree/main/.agents/skills/verify-change into .agents/skills/verify-change/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-change", 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 exelearning/exelearning --skill verify-change -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install exelearning/exelearning verify-change --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/exelearning/exelearning.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/verify-change .cursor/skills/verify-change && 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 "verify-change" agent skill from https://github.com/exelearning/exelearning/tree/main/.agents/skills/verify-change into .cursor/skills/verify-change/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-change", 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/exelearning/exelearning.git --path .agents/skills/verify-change--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 exelearning/exelearning --skill verify-change -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install exelearning/exelearning verify-change --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/exelearning/exelearning.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/verify-change .gemini/skills/verify-change && 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 "verify-change" agent skill from https://github.com/exelearning/exelearning/tree/main/.agents/skills/verify-change into .gemini/skills/verify-change/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-change", 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 exelearning/exelearning verify-changeInstalls 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 exelearning/exelearning --skill verify-change -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/exelearning/exelearning.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/verify-change .github/skills/verify-change && 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 "verify-change" agent skill from https://github.com/exelearning/exelearning/tree/main/.agents/skills/verify-change into .github/skills/verify-change/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-change", 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 exelearning/exelearning --skill verify-change -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install exelearning/exelearning verify-change --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/exelearning/exelearning.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/verify-change .opencode/skills/verify-change && 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 "verify-change" agent skill from https://github.com/exelearning/exelearning/tree/main/.agents/skills/verify-change into .opencode/skills/verify-change/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-change", 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.
verify-changeChoose and run the appropriate eXeLearning checks for a diff, including the final code gates or guidance-only validation.
Verify Change is an agent skill from exelearning/exelearning. Choose and run the appropriate eXeLearning checks for a diff, including the final code gates or guidance-only validation.
Its SKILL.md is about 680 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. It works with Vitest. The repository describes itself as: eXeLearning is an AGPL-licensed free/libre tool to create and publish open educational resources. The licence is AGPL-3.0.
Read from SKILL.md and the folder at commit 319b5d2. 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.
Shell commands in SKILL.md call:
makebungitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
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.
Verify Change loads about 676 tokens when it runs. Until then it costs about 34 tokens; SKILL.md has 297 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 exelearning/exelearning at commit 319b5d2, republished under its AGPL-3.0 licence (© exelearning). 297 words, ~676 tokens.
.claude/skills/verify-change/SKILL.md (or your agent's skills folder).Inspect git status, staged/unstaged changes and the diff against the PR base. Read Makefile,
package.json, bunfig.toml, vitest.config.mts and the affected CI workflows before quoting a command.
Keep validation isolated from other worktrees' ports, databases and shared temporary directories.
| Change | First check | Additional evidence |
|---|---|---|
src/, backend scripts or Electron JS | Colocated bun test <spec> | Changed success/error paths and cleanup |
public/app/, browser libraries/iDevices | bun x vitest run <test.js> | Round-trip or DOM behavior; do not run under Bun test |
src/db/ | Query/migration/helper specs | Every supported dialect for dialect-sensitive behavior |
src/shared/export/ | Export/provider/renderer specs | ZIP contents, manifests, browser and server paths |
| Yjs/WebSocket | Server Bun + client Vitest specs | Separate-user collaboration fixture, late join/reconnect |
| Static/embedding/preview | Capabilities/bridge/preview tests | Static E2E and host save/load flow |
| Workflows | actionlint on changed YAML | Triggers, token permissions, untrusted-input handling |
| Architecture docs | make architecture-check | Tracking IDs and links; no generated index |
| Agent guidance only | Frontmatter, relative links, diff -r .agents/skills .claude/skills (no symlinks) | Referenced paths/commands, archive exclusions, upstream provenance |
The mandatory gates are the Definition of Done in AGENTS.md. A focused test passing
does not replace them. Use Firefox as well for browser-specific changes, and follow the existing
TypeScript iDevice's Vitest harness rather than switching runners. Inspect the actual coverage
reports/Codecov patch result, not just an aggregate percentage. make test-unit covers Bun only;
make test-frontend runs Vitest and make test-coverage runs both.
For documentation/skill-only changes, executable-line coverage and application E2E are not applicable.
Validate instructions against actual source and commands instead. Changed workflow/package logic still
needs its syntax/behavior check. Never run make package merely to validate guidance: it changes versions
and can publish depending on its arguments/environment.
Report required checks with pass/fail/not-run and reasons. Separate environment failures from product failures using evidence; fix relevant failures without weakening gates or changing unrelated dependencies.
© exelearning, AGPL-3.0. 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 .agents/skills/verify-change of exelearning/exelearning.
Open the folder on GitHubat commit 319b5d2
Verify Change 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 |
|---|---|---|---|---|---|---|
| Verify Change this skillexelearning/exelearning | 146 | — | ~676 | Automated safety check: Pass | AGPL-3.0 | |
| Test Writing WorkflowiOfficeAI/AionUi | 33k | 1 repos | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| Vitestsupabase/supabase | 111k | 12 repos | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Test GuardamElnagdy/guard-skills | 1.3k | 2 repos | ~2.1k | Automated safety check: Pass | MIT | |
| Control UI E2Eopenclaw/openclaw | 392k | — | ~2.9k | Automated safety check: Pass | MIT | |
| Adding LLM MCP ToolsTriliumNext/Trilium | 38k | — | ~2.5k | Automated safety check: Pass | AGPL-3.0 |
iOfficeAI/AionUi
Sets the test-writing workflow for the repository: risk-first scenario lists, behavior-focused Vitest tests, a full run before each commit and a coverage target.
supabase/supabase
Vitest API and config reference (Jest-compatible) — mocking with vi., spies, fake timers, coverage configuration, fixtures, snapshots, and test filtering.
amElnagdy/guard-skills
Reviews newly written or edited tests against nine rules that cut test bloat, such as mock-heavy checks and near-duplicate cases, before they are committed.
openclaw/openclaw
A skill your agent uses when designing, testing, fixing, or extending the OpenClaw Control UI GUI, including UI stress-test galleries with feedback inputs, Vitest + Playwright end-to-end checks…
TriliumNext/Trilium
A skill your agent uses when adding, changing, or reviewing an LLM/MCP tool in Trilium (the defineTools definitions under packages/trilium-core/src/services/llm/tools/ —…
leonardomso/33-js-concepts
Generates Vitest tests for every runnable code example on a JavaScript concept documentation page, following a four-phase extraction and conversion process.
exelearning/exelearning
Write or debug repository Playwright specs, including isolated projects, preview frames and multi-user fixtures.
exelearning/exelearning
Change vanilla JavaScript UI modules in public/app/, including DOM state, events and localization.
exelearning/exelearning
Add or change source-level localized strings using (), c() or the Nunjucks trans filter; not catalog extraction.
exelearning/exelearning
Create or modify an eXeLearning iDevice, including edition/export data, legacy compatibility, assets, TypeScript bundles and teardown.
exelearning/exelearning
Change eXeLearning shared document mutations, WebSocket rooms, snapshots, reconnects or concurrent editing behavior.
exelearning/exelearning
Add or change external REST API v1 endpoints and their documented authentication/authorization contracts.
Works with
Categories
Choose and run the appropriate eXeLearning checks for a diff, including the final code gates or guidance-only validation. Verify Change is an agent skill from exelearning/exelearning. Choose and run the appropriate eXeLearning checks for a diff, including the final code gates or guidance-only validation.
Verify Change fits situations like: testing & QA work in your project.
Run `npx skills add exelearning/exelearning --skill verify-change -a claude-code`. Or copy the skill folder (.agents/skills/verify-change in exelearning/exelearning) into .claude/skills/verify-change in your project. Claude Code loads it when a task matches its description.
Run `npx skills add exelearning/exelearning --skill verify-change -a codex`. Or copy the skill folder (.agents/skills/verify-change in exelearning/exelearning) into .agents/skills/verify-change 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 exelearning/exelearning --skill verify-change -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/verify-change, .gemini/skills/verify-change, .github/skills/verify-change and .opencode/skills/verify-change in your project.
Going by SKILL.md and its folder, Verify Change needs the command-line tools its instructions call (make, bun and git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. 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.
Verify Change is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 676 tokens (SKILL.md is roughly 2.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 Verify Change: Test Writing Workflow (iOfficeAI/AionUi, 33k stars), Vitest (supabase/supabase, 111k stars), Test Guard (amElnagdy/guard-skills, 1.3k stars) and Control UI E2E (openclaw/openclaw, 392k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
exelearning (a GitHub organization) maintains it in exelearning/exelearning, which has 146 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 7, 2026.
Source: exelearning/exelearning on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.