vitest-conventions
Conventions for structuring and configuring Vitest test files — concurrency, describe grouping, and the options form for describe/test.
Skill by threeal
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/threeal-vitest-conventions
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/vitest-conventions
What's inside
- Skill name
vitest-conventions- Description
- Conventions for structuring and configuring Vitest test files — concurrency, describe grouping, and the options form for describe/test. TRIGGER - about to write or edit a Vitest test file.
- License
- MIT
- Instructions
- 27 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
## Concurrency
Default to `concurrent: true` for suites and tests that contain async work. Non-concurrent should be the exception there — shared mutable state, an ordering dependency — not the default.
Under Vitest browser mode, leave the option off for tests that render into the DOM; tests that don't touch the page keep the default above.
Why: concurrent tests there run at the same time in the same iframe, sharing one live `document`, so one test's queries can see or miss another's render. The collision surfaces as unrelated-looking timeouts, not an obvious error.
Leave the option off when every test in scope is synchronous.
Why: Vitest runs a concurrent group with `Promise.all`, so tests only overlap at `await` points — a synchronous test runs to completion before the next one starts. The option then has no effect, yet still tells a reader the tests overlap and must not share state.
The same applies to sync I/O in the code under test: it blocks other tests from running while it runs, even in an async test. When writing or editing that code, load `nodejs-conventions`.
## Grouping
Group a function's unit tests under a `describe` named after the function, even when the file currently covers only one function.
Why: keeps the shape consistent as more functions get added later, and test output reads as "function → its cases" from day one.
## Options Form
Prefer the object-options form over chained modifiers, for both `describe` and `test`:
- Correct: `describe(name, { concurrent: true }, fn)`
- Incorrect: `describe.concurrent(name, fn)`
Why: options are easy to extend later (e.g. adding `timeout` or `retry`) without changing the call shape.From threeal/.claude, MIT.
More from threeal/.claude
- 0.587score
lefthook-conventions
threeal
Lefthook (lefthook.dev) git hook manager configuration — hook-level and job-level options, what piped/parallel/fail_on_changes actually do, and this repo's…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
github-writing-conventions
threeal
Conventions for GitHub-facing text — issue and PR narration, screenshots, title casing, cross-repo references, repo descriptions, and repo topics.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
repo-lineage-sync
threeal
Process for catching a threeal repo up with changes its lineage parent made since the last sync — where to start, how to pick and port each change, and when…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
repo-lineage-uniformity
threeal
Keep shared config, docs, and structure uniform across the hierarchy of related threeal repos derived from one another.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
tool-installation-conventions
threeal
Approved install commands for CLI tools per platform, and how to install one mid-task without blocking it.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
writing-claude-md-and-skills
threeal
What belongs in a CLAUDE.md versus a skill, how to write both effectively for Claude as the reader, and how to scope a skill — for home (`~/.claude`) or any…
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
github-release-conventions
threeal
Conventions for GitHub releases — whether a change warrants one, the linked Announcements discussion, title, tag, and release notes format.
SkillAFreshness: A★ 1Claude Code +9 - 0.582score
ordering-conventions
threeal
How to choose where an entry goes when its order doesn't affect behavior — list items, config keys and entries, action inputs, paths, and similar.
SkillAFreshness: A★ 1Claude Code +9 - 0.579score
dependency-conventions
threeal
Conventions for choosing the version of a dependency or tool, in any ecosystem.
SkillAFreshness: A★ 1Claude Code +9 - 0.579score
nodejs-conventions
threeal
Conventions for Node.js source code, such as choosing between sync and async APIs.
SkillAFreshness: A★ 1Claude Code +9 - 0.576score
git-tag-conventions
threeal
Signing for git tags.
SkillAFreshness: A★ 1Claude Code +9 - 0.547score
config-versioning
threeal
Language/framework-agnostic guidance for designing config systems that stay backward compatible across code changes, and for writing config parsers that…
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 23, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/threeal/.claude
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from threeal
- 0.587score
github-writing-conventions
threeal
Conventions for GitHub-facing text — issue and PR narration, screenshots, title casing, cross-repo references, repo descriptions, and repo topics.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
repo-lineage-sync
threeal
Process for catching a threeal repo up with changes its lineage parent made since the last sync — where to start, how to pick and port each change, and when…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
lefthook-conventions
threeal
Lefthook (lefthook.dev) git hook manager configuration — hook-level and job-level options, what piped/parallel/fail_on_changes actually do, and this repo's…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
repo-lineage-uniformity
threeal
Keep shared config, docs, and structure uniform across the hierarchy of related threeal repos derived from one another.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
tool-installation-conventions
threeal
Approved install commands for CLI tools per platform, and how to install one mid-task without blocking it.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
writing-claude-md-and-skills
threeal
What belongs in a CLAUDE.md versus a skill, how to write both effectively for Claude as the reader, and how to scope a skill — for home (`~/.claude`) or any…
SkillAFreshness: A★ 1Claude Code +9
Cite this page
vitest-conventions skill. Agent Mart. https://agentmart.dev/skills/threeal-vitest-conventions (last updated 2026-10-24)