Agent skill

LobeHub Testing Guide

by lobehub in lobehub/lobehub

Explains how to write and run Vitest tests in the LobeHub monorepo: single-file commands, mocking rules, database model tests and regression tests for fixes.

Custom licenceAuto-check passedTesting & QA

Install LobeHub Testing Guide

skills CLI
$ npx skills add lobehub/lobehub --skill testing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install lobehub/lobehub testing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/lobehub/lobehub.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/testing .claude/skills/testing && rm -rf skills-src

Use ~/.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/

Facts

Skill name
testing
GitHub stars
83k
Token cost
~1.6k tokens
SKILL.md length
647 words
Files
6 (incl. references)
Skills in repo
50
Repo updated
First seen
Licence
Custom licence

At a glance

Explains how to write and run Vitest tests in the LobeHub monorepo: single-file commands, mocking rules, database model tests and regression tests for fixes.

  • Works in 4 steps: Prefer vi.spyOn over vi.mock - More… → Test behavior, not implementation details → Regression tests for bug fixes - Include… → …
  • Writing a Vitest test for a new database model or repository
  • SKILL.md covers Quick Reference, Test Categories, Core Principles and UI Library Mocks…, plus 2 more sections
  • Calls bunx and bun

What it does

Tests are run one file at a time with bunx vitest run, because the full test script covers more than 3000 tests and takes around 10 minutes, so it is never run. Webapp, package and desktop tests each live in their own location with their own Vitest config, and database models and repositories must ship with a sibling test file that uses the real database through getTestDB, guards full-text blocks with describe.skipIf, and always checks user isolation.

Core principles favor vi.spyOn over vi.mock, with spies restored in cleanup through vi.restoreAllMocks, and tests that check behavior rather than implementation details. Bug fixes get a regression test that fails without the fix, written first when the failure is easy to reproduce, though pure style or CSS fixes that could only be asserted by matching stylesheet text are skipped. No new component tests are added; complex logic is moved into hooks and tested there.

The base-ui component library is rendered for real rather than mocked, since the Vitest config swaps its motion provider for a static stub. Reference notes cover agent runtime end-to-end tests, database model tests, desktop controller tests, Electron IPC tests and Zustand store action tests.

When your agent uses it

  • Writing a Vitest test for a new database model or repository
  • Adding a regression test alongside a bug fix
  • Diagnosing a failing test without running the whole suite
  • Testing a Zustand store action or a desktop controller

Example prompts

  • “Add tests for the new session repository, including a user isolation case.”
  • “Write a regression test for the pagination bug before fixing it.”
  • “Run only the failing store test file and diagnose why it fails.”

Requirements

  • A checkout of the LobeHub repository with Bun installed

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Prefer vi.spyOn over vi.mock - More targeted, easier to maintain. The root Vitest configs do not restore mocks automatically; restore…
  2. Test behavior, not implementation details
  3. Regression tests for bug fixes - Include a regression test that fails without the fix and passes with it; write the failing test first…
  4. No new component tests - Only update existing React component tests. Complex logic should be extracted into hooks and tested there instead

What it can do on your machine

Read from SKILL.md and the folder at commit 1863542. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • bunx
    • bun

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use bunx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

LobeHub Testing Guide loads about 1.6k tokens when it runs, and up to ~6.4k if it reads all its reference files. Until then it costs about 18 tokens; SKILL.md has 647 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~18
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.4k

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.

Safety

Auto-check passed

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.

SKILL.md

Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 647 words (~1,552 tokens).

name
testing
user-invocable
false

Read the full SKILL.md on GitHub

Files

SKILL.md and 5 other files (references) in .agents/skills/testing of lobehub/lobehub.

  • SKILL.md
  • references/agent-runtime-e2e.md
  • references/db-model-test.md
  • references/desktop-controller-test.md
  • references/electron-ipc-test.md
  • references/zustand-store-action-test.md

Open the folder on GitHubat commit 1863542

Compare with similar skills

LobeHub Testing Guide 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.

LobeHub Testing Guide compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
LobeHub Testing Guide this skilllobehub/lobehub83k—~1.6kAutomated safety check: PassCustom licence
Caliber Testingcaliber-ai-org/ai-setup1.3k—~3.2kAutomated safety check: PassMIT
Test Writing WorkflowiOfficeAI/AionUi33k1 repos~1.2kAutomated safety check: PassApache-2.0
Ckeditor5 TestingTriliumNext/Trilium38k—~3.3kAutomated safety check: PassAGPL-3.0
Designing TestsCloudAI-X/claude-workflow-v21.4k1 repos~1.5kAutomated safety check: PassMIT
Playwright Testingchongdashu/vibejam-starter-pack149—~2.1kAutomated safety check: PassNone

Similar skills

  • Caliber Testing

    caliber-ai-org/ai-setup

    Writes Vitest tests following project patterns: tests/ directories, vi.mock() for module mocking with vi.hoisted() for test-time factories, global LLM mock from src/test/setup.ts, environment…

    1.3k GitHub stars~3.2k tokensUpdated 13 days ago
    Testing & QAAuto-check passed
  • 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.

    33k GitHub starsUsed in 1 repo~1.2k tokens
    Testing & QAAuto-check passed
  • Ckeditor5 Testing

    TriliumNext/Trilium

    Testing CKEditor 5 plugins in the Trilium monorepo. An agent skill from TriliumNext/Trilium.

    38k GitHub stars~3.3k tokensUpdated today
    Testing & QAAuto-check passed
  • Designing Tests

    CloudAI-X/claude-workflow-v2

    Designs and implements testing strategies for any codebase. An agent skill from CloudAI-X/claude-workflow-v2.

    1.4k GitHub starsUsed in 1 repo~1.5k tokens
    Testing & QAAuto-check passed
  • Playwright Testing

    chongdashu/vibejam-starter-pack

    Plan, implement, and debug frontend tests: unit/integration/E2E/visual/a11y.

    149 GitHub stars~2.1k tokensUpdated 5 mo ago
    Testing & QAAuto-check passed
  • Playwright Testing

    chongdashu/vibejam-starter-pack

    Plan, implement, and debug frontend tests: unit/integration/E2E/visual/a11y.

    149 GitHub stars~2.2k tokensUpdated 5 mo ago
    Testing & QAAuto-check passed

More from lobehub/lobehub

All 50 skills in this repo
  • Builds single-file interactive HTML prototypes rendered with the real LobeHub UI components and written as production-style React, so they can later be split into files.

    83k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Verifies a delivery end to end by driving the real product on a CLI, web, desktop or iOS Simulator surface, capturing evidence and publishing a round with the lh CLI.

    83k GitHub stars~9.7k tokensUpdated today
    Auto-check passed
  • Git Worktree Cleanup

    lobehub/lobehub

    Audits stale Git worktrees and branches with a bundled script, classifies each one, and deletes only after you approve the exact candidates.

    83k GitHub stars~2.8k tokensUpdated today
    Auto-check passed
  • Maintains LobeHub's model-backed alint rule set: writing rules, removing false positives against real code, deciding warn versus error and tracking token cost.

    83k GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Guides building LobeHub builtin agent tools, from the manifest and execution runtime to executors, chat UI renders and registry wiring.

    83k GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Explains how LobeHub client code fetches data through services, SWR store hooks and cache keys, and when to avoid useEffect fetching or duplicated state.

    83k GitHub stars~1.7k tokensUpdated today
    Auto-check passed

Categories

Questions about LobeHub Testing Guide

What does LobeHub Testing Guide do?

Explains how to write and run Vitest tests in the LobeHub monorepo: single-file commands, mocking rules, database model tests and regression tests for fixes. Tests are run one file at a time with bunx vitest run, because the full test script covers more than 3000 tests and takes around 10 minutes, so it is never run.skipIf, and always checks user isolation.

When should I use LobeHub Testing Guide?

LobeHub Testing Guide fits situations like: writing a Vitest test for a new database model or repository; adding a regression test alongside a bug fix; diagnosing a failing test without running the whole suite; testing a Zustand store action or a desktop controller.

How do I install LobeHub Testing Guide in Claude Code?

Run `npx skills add lobehub/lobehub --skill testing -a claude-code`. Or copy the skill folder (.agents/skills/testing in lobehub/lobehub) into .claude/skills/testing in your project. Claude Code loads it when a task matches its description.

How do I install LobeHub Testing Guide in Codex?

Run `npx skills add lobehub/lobehub --skill testing -a codex`. Or copy the skill folder (.agents/skills/testing in lobehub/lobehub) into .agents/skills/testing in your project. Codex loads it when a task matches its description.

Can I use LobeHub Testing Guide in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add lobehub/lobehub --skill 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/testing, .gemini/skills/testing, .github/skills/testing and .opencode/skills/testing in your project.

What does LobeHub Testing Guide need to run?

Going by SKILL.md and its folder, LobeHub Testing Guide needs the command-line tools its instructions call (bunx and bun). Our summary lists: A checkout of the LobeHub repository with Bun installed.

Does LobeHub Testing Guide access the network?

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.

Is LobeHub Testing Guide safe to install?

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.

What licence does LobeHub Testing Guide use?

LobeHub Testing Guide has a licence file (the repository's licence) that doesn't match a standard licence. Read it on GitHub before reusing the skill.

How many tokens does LobeHub Testing Guide use?

About 1.6k tokens (SKILL.md is roughly 6.2k 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 4.9k tokens, read only when the agent opens those files.

What are the alternatives to LobeHub Testing Guide?

Skills that share tags, products or a category with LobeHub Testing Guide: Caliber Testing (caliber-ai-org/ai-setup, 1.3k stars), Test Writing Workflow (iOfficeAI/AionUi, 33k stars), Ckeditor5 Testing (TriliumNext/Trilium, 38k stars) and Designing Tests (CloudAI-X/claude-workflow-v2, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains LobeHub Testing Guide?

lobehub (a GitHub organization) maintains it in lobehub/lobehub, which has 83,023 GitHub stars. The repository holds 50 skills in this directory. The repository was last updated on October 7, 2026.

Source: lobehub/lobehub on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.