Agent skill

Tooling Setup

by MadAppGang in MadAppGang/claude-code

A skill your agent uses when setting up new projects or updating tool configurations.

MITAuto-check: notesTesting & QA

Install Tooling Setup

skills CLI
$ npx skills add MadAppGang/claude-code --skill tooling-setup -a claude-code

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

GitHub CLI
$ gh skill install MadAppGang/claude-code tooling-setup --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/MadAppGang/claude-code.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/frontend/skills/tooling-setup .claude/skills/tooling-setup && 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
tooling-setup
GitHub stars
284
Token cost
~1.2k tokens
SKILL.md length
174 words
Files
1
Skills in repo
69
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when setting up new projects or updating tool configurations.

  • Works in 5 steps: Vite + React 19 + React Compiler → TypeScript (strict + bundler mode) → Biome (formatter + linter) → …
  • Setting up new projects
  • SKILL.md covers 1. Vite + React 19 + React…, 2. TypeScript (strict +…, 3. Biome (formatter + linter) and 4. Environment Variables, plus 5 more sections
  • Calls pnpm and npx

What it does

Tooling Setup is an agent skill from MadAppGang/claude-code. Use when setting up new projects or updating tool configurations. Configures Vite, TypeScript, Biome, and Vitest for React 19 projects. Covers build configuration, strict TypeScript setup, linting/formatting, and testing infrastructure.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Linting and formatting and Unit testing. It works with TypeScript, React, Vitest and Vite. The repository describes itself as: claude code plugins marketplace. The licence is MIT.

When your agent uses it

  • Setting up new projects
  • Updating tool configurations

Example prompts

  • “/tooling-setup”

Requirements

  • Node.js

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Vite + React 19 + React Compiler
  2. TypeScript (strict + bundler mode)
  3. Biome (formatter + linter)
  4. Environment Variables
  5. Testing Setup (Vitest)

What it can do on your machine

Read from SKILL.md and the folder at commit 6097ad4. 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:

    • pnpm
    • npx

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

  • Network

    No URLs in SKILL.md. Its commands use pnpm and npx, 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

Tooling Setup loads about 1.2k tokens when it runs. Until then it costs about 63 tokens; SKILL.md has 174 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~63
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:98
    // .env.local (not committed)

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

The full file from MadAppGang/claude-code at commit 6097ad4, republished under its MIT licence (© MadAppGang). 174 words, ~1,195 tokens.

Download SKILL.mdSave it as .claude/skills/tooling-setup/SKILL.md (or your agent's skills folder).
name
tooling-setup
description
Use when setting up new projects or updating tool configurations. Configures Vite, TypeScript, Biome, and Vitest for React 19 projects. Covers build configuration, strict TypeScript setup, linting/formatting, and testing infrastructure.
updated
2026-01-20
keywords
vite, typescript, biome, vitest, build-config, tooling, react-compiler, testing

Tooling Setup for React 19 Projects

Production-ready configuration for modern frontend tooling with Vite, TypeScript, Biome, and Vitest.

1. Vite + React 19 + React Compiler

typescript
// vite.config.ts
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

export default defineConfig({
  plugins: [
    react({
      babel: {
        // React Compiler must run first:
        plugins: ['babel-plugin-react-compiler'],
      },
    }),
  ],
})

Verify: Check DevTools for "Memo ✨" badge on optimized components.

2. TypeScript (strict + bundler mode)

json
// tsconfig.json
{
  "compilerOptions": {
    "target": "ES2020",
    "module": "ESNext",
    "moduleResolution": "bundler",
    "jsx": "react-jsx",
    "verbatimModuleSyntax": true,
    "isolatedModules": true,
    "strict": true,
    "noUncheckedIndexedAccess": true,
    "exactOptionalPropertyTypes": true,
    "noFallthroughCasesInSwitch": true,
    "types": ["vite/client", "vitest"]
  },
  "include": ["src", "vitest-setup.ts"]
}

Key Settings:

  • moduleResolution: "bundler" - Optimized for Vite
  • strict: true - Enable all strict type checks
  • noUncheckedIndexedAccess: true - Safer array/object access
  • verbatimModuleSyntax: true - Explicit import/export

3. Biome (formatter + linter)

bash
npx @biomejs/biome init
npx @biomejs/biome check --write .
json
// biome.json
{
  "formatter": { "enabled": true, "lineWidth": 100 },
  "linter": {
    "enabled": true,
    "rules": {
      "style": { "noUnusedVariables": "error" }
    }
  }
}

Usage:

  • npx biome check . - Check for issues
  • npx biome check --write . - Auto-fix issues
  • Replaces ESLint + Prettier with one fast tool

4. Environment Variables

  • Read via import.meta.env
  • Prefix all app-exposed vars with VITE_
  • Never place secrets in the client bundle
typescript
// Access environment variables
const apiUrl = import.meta.env.VITE_API_URL
const isDev = import.meta.env.DEV
const isProd = import.meta.env.PROD

// .env.local (not committed)
VITE_API_URL=https://api.example.com
VITE_ANALYTICS_ID=UA-12345-1

5. Testing Setup (Vitest)

typescript
// vitest-setup.ts
import '@testing-library/jest-dom/vitest'

// vitest.config.ts
import { defineConfig } from 'vitest/config'
import react from '@vitejs/plugin-react'

export default defineConfig({
  plugins: [react()],
  test: {
    environment: 'jsdom',
    setupFiles: ['./vitest-setup.ts'],
    coverage: { reporter: ['text', 'html'] }
  }
})

Setup Notes:

  • Use React Testing Library for DOM assertions
  • Use MSW for API mocks (see tanstack-query skill for MSW patterns)
  • Add types: ["vitest", "vitest/jsdom"] for jsdom globals in tsconfig.json

Run Tests:

bash
npx vitest                    # Run in watch mode
npx vitest run               # Run once
npx vitest --coverage        # Generate coverage report

Package Installation

bash
# Core
pnpm add react@rc react-dom@rc
pnpm add -D vite @vitejs/plugin-react typescript

# Biome (replaces ESLint + Prettier)
pnpm add -D @biomejs/biome

# React Compiler
pnpm add -D babel-plugin-react-compiler

# Testing
pnpm add -D vitest @testing-library/react @testing-library/jest-dom
pnpm add -D @testing-library/user-event jsdom
pnpm add -D msw

# TanStack
pnpm add @tanstack/react-query @tanstack/react-router
pnpm add -D @tanstack/router-plugin @tanstack/react-query-devtools

# Utilities
pnpm add axios zod

Project Scripts

json
{
  "scripts": {
    "dev": "vite",
    "build": "tsc --noEmit && vite build",
    "preview": "vite preview",
    "test": "vitest",
    "test:run": "vitest run",
    "test:coverage": "vitest --coverage",
    "lint": "biome check .",
    "lint:fix": "biome check --write .",
    "format": "biome format --write ."
  }
}

IDE Setup

VSCode Extensions:

  • Biome (biomejs.biome)
  • TypeScript (built-in)
  • Vite (antfu.vite)

VSCode Settings:

json
{
  "editor.defaultFormatter": "biomejs.biome",
  "editor.formatOnSave": true,
  "[typescript]": {
    "editor.defaultFormatter": "biomejs.biome"
  },
  "[typescriptreact]": {
    "editor.defaultFormatter": "biomejs.biome"
  }
}
  • core-principles - Project structure and best practices
  • react-patterns - React 19 specific features
  • testing-strategy - Advanced testing patterns with MSW

© MadAppGang, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/frontend/skills/tooling-setup of MadAppGang/claude-code.

Open the folder on GitHubat commit 6097ad4

Compare with similar skills

Tooling Setup 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.

Tooling Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Tooling Setup this skillMadAppGang/claude-code284—~1.2kAutomated safety check: NotesMIT
Vitestjezweb/claude-skills1.1k—~3kAutomated safety check: PassMIT
Vite Plus ConventionsGoldziher/ai-rulez158—~567Automated safety check: PassMIT
Effect TStellahq/opensession392—~3.7kAutomated safety check: PassMIT
Ha Frontend Testinghome-assistant/frontend5.7k—~1.7kAutomated safety check: PassApache-2.0
Eslint Vitest Rule Testerantfu-collective/eslint-vitest-rule-tester142—~1.3kAutomated safety check: PassMIT

Similar skills

  • Vitest

    jezweb/claude-skills

    Set up Vitest testing in any project — detects type (Cloudflare Workers, React, Node, library), generates vitest.config.ts, test setup, utilities, and a sample test.

    1.1k GitHub stars~3k tokensUpdated 3 days ago
    Testing & QAAuto-check passed
  • Vite Plus Conventions

    Goldziher/ai-rulez

    vite+ unified TypeScript toolchain conventions: the vp CLI for package/node management, oxlint/oxfmt, type-aware linting, vitest, rolldown/tsdown bundling, task caching, and migration.

    158 GitHub stars~567 tokensUpdated today
    DevelopmentAuto-check passed
  • Effect TS

    tellahq/opensession

    Write idiomatic Effect v4 TypeScript verified against the pinned effect@4.0.0-rc.112 source.

    392 GitHub stars~3.7k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Ha Frontend Testing

    home-assistant/frontend

    Home Assistant frontend testing and validation workflow. An agent skill from home-assistant/frontend.

    5.7k GitHub stars~1.7k tokensUpdated today
    Testing & QAAuto-check passed
  • Eslint Vitest Rule Tester

    antfu-collective/eslint-vitest-rule-tester

    Help users test ESLint rules with Vitest, supporting snapshot testing and custom assertions

    142 GitHub stars~1.3k tokensUpdated 29 days ago
    Testing & QAAuto-check passed
  • Typescript Testing

    ComposioHQ/composio

    Select and run TypeScript SDK verification for packages, examples, type checks, linting, builds, Vitest suites, Effect v4 CLI tests, and runtime E2E tests.

    30k GitHub stars~222 tokensUpdated today
    Testing & QAAuto-check passed

More from MadAppGang/claude-code

All 69 skills in this repo
  • API Spec Analyzer

    MadAppGang/claude-code

    Analyzes API documentation from OpenAPI specs to provide TypeScript interfaces, request/response formats, and implementation guidance.

    284 GitHub starsUsed in 1 repo~2.7k tokens
    Auto-check passed
  • Content Brief

    MadAppGang/claude-code

    Content brief template and creation methodology for SEO-optimized content.

    284 GitHub starsUsed in 1 repo~959 tokens
    Auto-check passed
  • Context Detection

    MadAppGang/claude-code

    A skill your agent uses when detecting project technology stack from files/configs/directory structure, auto-loading framework-specific skills, or analyzing multi-stack fullstack projects (e.g…

    284 GitHub stars~5.4k tokensUpdated 6 mo ago
    Auto-check passed
  • Content Optimizer

    MadAppGang/claude-code

    On-page SEO optimization techniques including keyword density, meta tags, heading structure, and readability.

    284 GitHub starsUsed in 1 repo~694 tokens
    Auto-check passed
  • Keyword Cluster Builder

    MadAppGang/claude-code

    Techniques for expanding seed keywords and clustering by topic and intent.

    284 GitHub starsUsed in 1 repo~674 tokens
    Auto-check passed
  • Serp Analysis

    MadAppGang/claude-code

    SERP analysis techniques for intent classification, feature identification, and competitive intelligence.

    284 GitHub starsUsed in 1 repo~1k tokens
    Auto-check passed

Categories

Questions about Tooling Setup

What does Tooling Setup do?

A skill your agent uses when setting up new projects or updating tool configurations. Tooling Setup is an agent skill from MadAppGang/claude-code. Use when setting up new projects or updating tool configurations.

When should I use Tooling Setup?

Tooling Setup fits situations like: setting up new projects; updating tool configurations.

How do I install Tooling Setup in Claude Code?

Run `npx skills add MadAppGang/claude-code --skill tooling-setup -a claude-code`. Or copy the skill folder (plugins/frontend/skills/tooling-setup in MadAppGang/claude-code) into .claude/skills/tooling-setup in your project. Claude Code loads it when a task matches its description.

How do I install Tooling Setup in Codex?

Run `npx skills add MadAppGang/claude-code --skill tooling-setup -a codex`. Or copy the skill folder (plugins/frontend/skills/tooling-setup in MadAppGang/claude-code) into .agents/skills/tooling-setup in your project. Codex loads it when a task matches its description.

Can I use Tooling Setup 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 MadAppGang/claude-code --skill tooling-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tooling-setup, .gemini/skills/tooling-setup, .github/skills/tooling-setup and .opencode/skills/tooling-setup in your project.

What does Tooling Setup need to run?

Going by SKILL.md and its folder, Tooling Setup needs the command-line tools its instructions call (pnpm and npx). Our summary lists: Node.js.

Does Tooling Setup access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Tooling Setup safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Tooling Setup use?

Tooling Setup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Tooling Setup use?

About 1.2k tokens (SKILL.md is roughly 4.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Tooling Setup?

Skills that share tags, products or a category with Tooling Setup: Vitest (jezweb/claude-skills, 1.1k stars), Vite Plus Conventions (Goldziher/ai-rulez, 158 stars), Effect TS (tellahq/opensession, 392 stars) and Ha Frontend Testing (home-assistant/frontend, 5.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Tooling Setup?

MadAppGang (a GitHub organization) maintains it in MadAppGang/claude-code, which has 284 GitHub stars. The repository holds 69 skills in this directory. The repository was last updated on March 15, 2026.

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