test | Skill Performance & Reviews | TopRankSkills

TopRank Skills

Home / Skills / tools / test

test

maintained by brsbl

star 9 account_tree 1 verified_user MIT License
bolt View GitHub

name: test description: Runs lint, type check, tests, and visual verification. Auto-detects tools. Use when running tests, linting, type checking, or writing tests. argument-hint: <run | write | browser | all> [staged | branch] model: opus

Arguments: $ARGUMENTS

Command Behavior
run Lint + type check + run tests
write Generate tests, then run pipeline
browser Visual verification
all run + browser combined

Scope (optional, default: branch):

Scope Command
branch git diff main...HEAD --name-only
staged git diff --cached --name-only

Run Mode

1. Detect Tools

Config Tool Command
package.json + vitest Vitest npx vitest run
package.json + jest Jest npx jest
package.json + "test" npm npm test
pyproject.toml pytest pytest
Cargo.toml cargo cargo test
go.mod go go test ./...
.eslintrc* / eslint.config.* ESLint npx eslint .
biome.json Biome npx biome check .
tsconfig.json TypeScript npx tsc --noEmit

2. Setup (if missing)

# JS/TS test runner
npm install -D vitest

# JS/TS linter
npm install -D eslint @eslint/js

# JS/TS types
npm install -D typescript && npx tsc --init

# Python
pip install pytest ruff mypy

3. Run Pipeline

# 1. Lint
npx eslint . --fix  # or: npx biome check . --write

# 2. Type check
npx tsc --noEmit    # or: mypy .

# 3. Test
npx vitest run      # or: pytest, cargo test, go test ./...

Fix errors, re-run until all pass.


Write Mode

1. Get Changed Files

git diff main...HEAD --name-only  # branch scope
git diff --cached --name-only     # staged scope

Filter to source files (exclude tests, configs, docs).

2. Launch Test Writers

Hand off files to test-writer subagents. They determine testability and write tests.

Files Subagents
1-3 1
4-8 2-3
9+ 3-5
// Task tool
{
  subagent_type: "test-writer",
  prompt: "Write tests for: [file list]. Runner: vitest. Convention: *.test.ts"
}

3. Run Pipeline

Same as Run Mode step 3.


Browser Mode

Visual verification using browser automation. See /browser skill for full API.

import { connect, waitForPageLoad } from '../otto/lib/browser/client.js'

const client = await connect({ headless: true })
const page = await client.page('test')

// Determine URL from package.json scripts or running processes
await page.goto(url)  // e.g., http://localhost:5173
await waitForPageLoad(page)
await page.screenshot({ path: '.otto/test-screenshots/page.png' })

// Interact using ARIA snapshot refs
const snapshot = await client.getAISnapshot('test')
const btn = await client.selectSnapshotRef('test', 'e3')
await btn.click()

await client.disconnect()

After completing browser verification, remove screenshots:

rm -rf .otto/test-screenshots

All Mode

  1. Run Mode (lint, type check, test)
  2. Browser Mode (visual verification)
  3. Report results

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!

Skill Details

GitHub Stars 9
GitHub Forks 1
Created Mar 2026
Last Updated 3 months ago
tools tools ide plugins

Related Skills

writing-skills
chevron_right
codex
chevron_right
smart-illustrator
chevron_right
collaborating-with-codex
chevron_right
code-review-router
chevron_right

Build your own?

Join 12,000+ developers contributing to the Claude ecosystem.