Pierre Testing and Verification Guide
pierrecomputer/pierre
Chooses the right verification step after a code change in Pierre's monorepo: format and lint, a typecheck, Bun unit tests, snapshots, or Playwright E2E.
A skill your agent uses when you need to write, review, or debug automated tests for applications built on the Jazz framework.
$ npx skills add garden-co/classic-jazz --skill jazz-testing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install garden-co/classic-jazz jazz-testing --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/garden-co/classic-jazz.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/jazz-testing .claude/skills/jazz-testing && 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 "jazz-testing" agent skill from https://github.com/garden-co/classic-jazz/tree/main/.cursor/skills/jazz-testing into .claude/skills/jazz-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jazz-testing", 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/garden-co/classic-jazz/tree/main/.cursor/skills/jazz-testingType 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 garden-co/classic-jazz --skill jazz-testing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install garden-co/classic-jazz jazz-testing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garden-co/classic-jazz.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.cursor/skills/jazz-testing .agents/skills/jazz-testing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "jazz-testing" agent skill from https://github.com/garden-co/classic-jazz/tree/main/.cursor/skills/jazz-testing into .agents/skills/jazz-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jazz-testing", 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 garden-co/classic-jazz --skill jazz-testing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install garden-co/classic-jazz jazz-testing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garden-co/classic-jazz.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.cursor/skills/jazz-testing .cursor/skills/jazz-testing && 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 "jazz-testing" agent skill from https://github.com/garden-co/classic-jazz/tree/main/.cursor/skills/jazz-testing into .cursor/skills/jazz-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jazz-testing", 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/garden-co/classic-jazz.git --path .cursor/skills/jazz-testing--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 garden-co/classic-jazz --skill jazz-testing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install garden-co/classic-jazz jazz-testing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garden-co/classic-jazz.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.cursor/skills/jazz-testing .gemini/skills/jazz-testing && 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 "jazz-testing" agent skill from https://github.com/garden-co/classic-jazz/tree/main/.cursor/skills/jazz-testing into .gemini/skills/jazz-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jazz-testing", 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 garden-co/classic-jazz jazz-testingInstalls 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 garden-co/classic-jazz --skill jazz-testing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/garden-co/classic-jazz.git skills-src && mkdir -p .github/skills && cp -r skills-src/.cursor/skills/jazz-testing .github/skills/jazz-testing && 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 "jazz-testing" agent skill from https://github.com/garden-co/classic-jazz/tree/main/.cursor/skills/jazz-testing into .github/skills/jazz-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jazz-testing", 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 garden-co/classic-jazz --skill jazz-testing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install garden-co/classic-jazz jazz-testing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garden-co/classic-jazz.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.cursor/skills/jazz-testing .opencode/skills/jazz-testing && 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 "jazz-testing" agent skill from https://github.com/garden-co/classic-jazz/tree/main/.cursor/skills/jazz-testing into .opencode/skills/jazz-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jazz-testing", 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.
jazz-testingA skill your agent uses when you need to write, review, or debug automated tests for applications built on the Jazz framework.
Jazz Testing is an agent skill from garden-co/classic-jazz. Use this skill when you need to write, review, or debug automated tests for applications built on the Jazz framework. This skill provides the correct architectural patterns for simulating local-first synchronization and multi-user environments without resorting to invalid mocking strategies.
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/jazz.svelte.ts`).
It sits in Testing & QA, covering Unit testing. It works with React and Svelte. The repository describes itself as: A new kind of database that's distributed across your frontend, containers, serverless functions and its own storage cloud. The licence is MIT.
Read from SKILL.md and the folder at commit 4f90501. 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.
Ships script files (TypeScript), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comjazz.toolsFrom 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.
Jazz Testing loads about 1.6k tokens when it runs, and up to ~3k if it reads all its reference files. Until then it costs about 76 tokens; SKILL.md has 633 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 garden-co/classic-jazz at commit 4f90501, republished under its MIT licence (© garden-co). 633 words, ~1,623 tokens.
.claude/skills/jazz-testing/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.jazz-schema-designjazz-ui-development skill)If you are about to suggest "mocking" any part of the data layer in the user's application, STOP and invoke this skill instead. This skill enforces the use of the official in-memory test sync node.
Testing in Jazz requires understanding identity-based context and authentic synchronization. The framework's collaborative nature means tests must simulate real multi-user scenarios rather than mocking the sync layer.
setupJazzTestSync() to allow authentic data flow between test identitiesThe virtual sync node must be initialized before tests run. It handles data synchronization in-memory and requires no manual cleanup between runs.
Example Setup:
import { setupJazzTestSync } from "jazz-tools/testing";
import { beforeEach, describe } from "vitest";
describe("Jazz Feature Test", () => {
beforeEach(async () => {
await setupJazzTestSync();
});
});Testing in Jazz requires simulating multiple users to verify synchronization and security.
Used to create user accounts linked to the sync node.
AccountSchema: Pass your custom co.account schemaisCurrentActiveAccount: Set to true to automatically log the test runner into this accountcreationProps: Data passed to the account's migration function on creation if requiredUsed to switch between different users within a single test.
.load(id) after switching accounts to load a new CoValue instance with the new permission context for that specific userUI tests must render components and hooks inside a Jazz-aware test harness (e.g. framework-specific render utilities that inject account, connection state, and sync context). In UI tests, assert observable loading state transitions, not internal CoValue mechanics.
Use the jazz-ui-development skill for questions on Jazz integration with React/Svelte.
const account1 = await createJazzTestAccount({ isCurrentActiveAccount: true });
const account2 = await createJazzTestAccount();
// Setup restricted group
const group = co.group().create();
group.addMember(account2, "reader");
const myMap = MyMap.create({ text: "Hi" }, { owner: group });
const mapId = myMap.$jazz.id;
// Switch to reader
setActiveAccount(account2);
// You *must* reload the CoValue with the new active account
const mapAsReader = await MyMap.load(mapId);
// Verify enforcement
expect(() => mapAsReader.$jazz.set("text", "some text")).toThrow();
// Note: myMap.$jazz.set() would *not* throw, as it was loaded with account1 as the active accountrunWithoutActiveAccount(() => {
// Verify that protected actions fail when no account is active
expect(() => co.group().create()).toThrow();
});account1 is the currently active account do not update their local permissions when setActiveAccount(account2) is called; you MUST .load() a new instance of the CoValuesetupJazzTestSync() is calledAccount switching:
Always reload CoValues after setActiveAccount() to get new permission context.
Sync setup:
Call setupJazzTestSync() in beforeEach for all Jazz tests.
UI testing:
Use a framework-specific Jazz test harness built on TestJazzContextManager.
Load these on demand, based on need:
When using an online reference via a skill, cite the specific URL to the user to build trust.
© garden-co, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (references) in .cursor/skills/jazz-testing of garden-co/classic-jazz.
Open the folder on GitHubat commit 4f90501
Jazz Testing 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 |
|---|---|---|---|---|---|---|
| Jazz Testing this skillgarden-co/classic-jazz | 2.5k | — | ~1.6k | Automated safety check: Pass | MIT | |
| Pierre Testing and Verification Guidepierrecomputer/pierre | 6.2k | — | ~608 | Automated safety check: Pass | Apache-2.0 | |
| Svelte Testingspences10/sveltest | 113 | — | ~579 | Automated safety check: Pass | MIT | |
| Effect TStellahq/opensession | 392 | — | ~3.7k | Automated safety check: Pass | MIT | |
| Data Client React Testingreactive/data-client | 2k | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Unit TestsKhan/wonder-blocks | 163 | — | ~4.2k | Automated safety check: Pass | MIT |
pierrecomputer/pierre
Chooses the right verification step after a code change in Pierre's monorepo: format and lint, a typecheck, Bun unit tests, snapshots, or Playwright E2E.
spences10/sveltest
Fix and create Svelte 5 tests with vitest-browser-svelte and Playwright.
tellahq/opensession
Write idiomatic Effect v4 TypeScript verified against the pinned effect@4.0.0-rc.112 source.
reactive/data-client
Test @data-client/react with renderDataHook and mountDataClient - jest unit tests, fixtures, interceptors, MockResolver, mock responses, nock HTTP mocking, fake timers for polling/subscription…
Khan/wonder-blocks
Jest + React Testing Library best practices for Wonder Blocks unit tests.
nightscout/nocturne
A skill your agent uses when writing, editing, or reviewing frontend tests in the Nocturne Web app (src/Web/packages/app).
garden-co/classic-jazz
A skill your agent uses when optimizing Jazz applications for speed, responsiveness, and scalability.
garden-co/classic-jazz
A skill your agent uses when building, debugging, or optimizing Jazz applications.
garden-co/classic-jazz
A skill your agent uses when writing or running performance benchmarks for Jazz packages.
garden-co/classic-jazz
A skill your agent uses when designing data schemas, implementing sharing workflows, or auditing access control in Jazz applications.
garden-co/classic-jazz
Design and implement collaborative data schemas using the Jazz framework.
garden-co/classic-jazz
Generate changeset files for versioning and changelog management in this monorepo.
Categories
A skill your agent uses when you need to write, review, or debug automated tests for applications built on the Jazz framework. Jazz Testing is an agent skill from garden-co/classic-jazz. Use this skill when you need to write, review, or debug automated tests for applications built on the Jazz framework.
Jazz Testing fits situations like: you need to write; debug automated tests for applications built on the Jazz framework.
Run `npx skills add garden-co/classic-jazz --skill jazz-testing -a claude-code`. Or copy the skill folder (.cursor/skills/jazz-testing in garden-co/classic-jazz) into .claude/skills/jazz-testing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add garden-co/classic-jazz --skill jazz-testing -a codex`. Or copy the skill folder (.cursor/skills/jazz-testing in garden-co/classic-jazz) into .agents/skills/jazz-testing 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 garden-co/classic-jazz --skill jazz-testing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jazz-testing, .gemini/skills/jazz-testing, .github/skills/jazz-testing and .opencode/skills/jazz-testing in your project.
Going by SKILL.md and its folder, Jazz Testing needs TypeScript for the scripts in its folder. Our summary lists: Node.js.
SKILL.md names 2 domains. As links in the text: github.com and jazz.tools. 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.
Jazz Testing 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.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Jazz Testing: Pierre Testing and Verification Guide (pierrecomputer/pierre, 6.2k stars), Svelte Testing (spences10/sveltest, 113 stars), Effect TS (tellahq/opensession, 392 stars) and Data Client React Testing (reactive/data-client, 2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
garden-co (a GitHub organization) maintains it in garden-co/classic-jazz, which has 2,534 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on September 7, 2026.
Source: garden-co/classic-jazz on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.