Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add andresquirogadev/skillsense --skill vitestgit clone --depth 1 https://github.com/andresquirogadev/skillsenseWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/andresquirogadev/skillsense/vitest)<a href="https://agentmods.dev/skills/andresquirogadev/skillsense/vitest"><img src="https://agentmods.dev/badge/skills/andresquirogadev/skillsense/vitest/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/andresquirogadev/skillsense/vitest"><img src="https://agentmods.dev/badge/skills/andresquirogadev/skillsense/vitest.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.00549 |
| Opus 5.5 | $0.00000 | $0.00220 |
| Sonnet 5.5 | $0.00000 | $0.00110 |
| Haiku 4.5 | $0.00000 | $0.00055 |
Grade A, and why
vitest scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 49 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Vitest Skill
You are writing tests with Vitest. Apply these conventions.
Test Structure
- Use
describefor grouping related tests; useit(ortest) for individual cases. - Follow Arrange-Act-Assert (AAA) — keep each test focused on a single behavior.
- Write test descriptions that read as specifications:
it('returns 404 when user is not found'). - Colocate test files next to source files (
foo.test.ts) or put them in atests/directory — be consistent.
Assertions
- Use Vitest's built-in
expectwith chainable matchers:.toBe(),.toEqual(),.toMatchObject(),.rejects.toThrow(). - Use
toEqualfor deep equality of objects/arrays; usetoBeonly for primitive equality and reference checks. - Use
toMatchInlineSnapshot()ortoMatchSnapshot()for complex output — update withvitest --update-snapshots.
Mocking
- Mock modules with
vi.mock('module-name')at the top of the file — Vitest hoists these automatically. - Mock individual functions with
vi.fn()orvi.spyOn(object, 'method'). - Restore mocks after each test: use
vi.restoreAllMocks()inafterEach, or setrestoreMocks: truein config. - Stub globals with
vi.stubGlobal('fetch', vi.fn())— note thatvi.stubGlobalis not hoisted. - Use
vi.useFakeTimers()to controlsetTimeout,setInterval, andDate.
Async Tests
- Always
awaitpromises in tests — unawaited rejections may be silently swallowed. - Use
await expect(fn()).rejects.toThrow('message')for expected rejections. - Use
vi.runAllTimersAsync()with fake timers to drain the async queue.
Setup & Teardown
- Use
beforeEach/afterEachfor per-test setup/teardown. - Use
beforeAll/afterAllfor expensive shared setup (database connections, temp servers). - Clean up temp files and resources in
afterEach— tests must be side-effect-free.
Configuration (vitest.config.ts)
export default defineConfig({
test: {
globals: true, // no need to import describe/it/expect
environment: 'node', // or 'jsdom' for DOM tests
coverage: { provider: 'v8', reporter: ['text', 'lcov'] },
},
});
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 49 lines · 0 tokens per session scan A f62020021dea
vitest is a skill published in the GitHub repository andresquirogadev/skillsense (2 stars, last pushed 6mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 549 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
ralphctl-debugging-and-error-recovery
Systematic root-cause debugging. Use when tests fail, builds break, something that worked before broke, or behaviour does not match expectations — when you need to figure out what broke and why. Follow stop-the-line → reproduce → localize → reduce → root-cause → guard-with-regression-test → verify, not guessing; the…
test-value
Improve test value and feedback cost when auditing slow, flaky, redundant or brittle tests; choosing tests during implementation; or reviewing test changes before a commit or PR. Keep ordinary implementation and pre-commit use scoped to the affected behavior, not a repository-wide audit.
go-testing
Trigger: Go tests, go test coverage, Bubbletea teatest, golden files. Apply focused Go testing patterns.
unit-test-generator
Automatically generate unit tests based on source code, supporting multiple languages and testing frameworks.
migrate-xunit-to-xunit-v3
Migrate .NET test projects from xUnit.net v2 to xunit.v3 and fix v3 breaks. Use for package/CPM conversion, OutputType=Exe, preserving the VSTest or MTP runner (including projects currently using YTest.MTP.XUnit2), incompatible TFMs, async void tests, string-to-Type attributes, custom Fact/Theory/BeforeAfterTest…
crap-score
Calculates CRAP (Change Risk Anti-Patterns) for a named .NET method, class, or file. USE FOR: explicit CRAP calculation or coverage-and-complexity risk within that named target, including which tests to prioritize. DO NOT USE FOR: project-wide coverage/CRAP, plateaus, or project-wide blockers/priorities…