/shared-tooling-biome
Biome v2 unified linter, formatter, and import organizer — single Rust-powered tool replacing ESLint + Prettier with 97% Prettier compatibility and 20x faster performance
$ npx -y skills add agents-inc/skills --skill shared-tooling-biome --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/shared-tooling-biome
Context preview
The summary Claude sees to decide when to auto-load this skill.
Biome v2 unified linter, formatter, and import organizer — single Rust-powered tool replacing ESLint + Prettier with 97% Prettier compatibility and 20x faster performance
SKILL.md
shared-tooling-biome.SKILL.mdname: shared-tooling-biome
description: Biome v2 unified linter, formatter, and import organizer — single Rust-powered tool replacing ESLint + Prettier with 97% Prettier compatibility and 20x faster performance
Biome
> **Quick Guide:** Biome is a unified linter, formatter, and import organizer for JavaScript, TypeScript, JSX, TSX, JSON, CSS, and GraphQL. Single Rust binary replaces ESLint + Prettier with 97% Prettier compatibility. Use `biome.json` for all configuration. Run `biome check --write` to lint, format, and organize imports in one pass. Use `biome ci` in pipelines. > > **Current stable version:** Biome v2.4.x (March 2026). Biome v2 introduced type-aware linting, nested configs, and a revamped import organizer.
---
<critical_requirements>
CRITICAL: Before Using This Skill
> **All code must follow project conventions in CLAUDE.md** (kebab-case, named exports, import ordering, `import type`, named constants)
**(You MUST use `biome.json` or `biome.jsonc` for ALL configuration — Biome does not use JavaScript config files)**
**(You MUST pin Biome to an exact version with `--save-exact` — Biome formatting can change between versions)**
**(You MUST use `biome ci` in CI pipelines, NOT `biome check` — `ci` is read-only with no `--write` flag)**
**(You MUST use `biome check --write` for local development — runs linter, formatter, and import organizer in one pass)**
**(You MUST include `$schema` in biome.json for editor autocompletion and validation)**
</critical_requirements>
---
**Auto-detection:** Biome, biome.json, biome.jsonc, @biomejs/biome, biome check, biome lint, biome format, biome ci, biome-ignore, organizeImports, biome migrate
**When to use:**
- Setting up a unified linter + formatter for JavaScript/TypeScript projects
- Replacing ESLint + Prettier with a single, faster tool
- Greenfield projects wanting zero-config or minimal-config setup
- Large codebases where linting/formatting speed matters
- Configuring import organizing with custom group ordering
- Migrating from ESLint and/or Prettier to Biome
- Setting up CI pipelines with `biome ci`
- Configuring pre-commit hooks with Biome's `--staged` flag
**When NOT to use:**
- Projects requiring ESLint plugins with no Biome equivalent (e.g., custom framework-specific plugins)
- Projects heavily invested in custom ESLint rules that cannot be replicated
- Projects needing Markdown, YAML, or TOML formatting (Biome does not support these yet)
- Runtime code (this is build-time tooling only)
- Git hooks framework setup (Husky/Lefthook configuration is a separate concern)
- TypeScript compiler configuration (`tsconfig.json` is a separate concern)
**Key patterns covered:**
- biome.json configuration with formatter, linter, and assist settings
- Linter rule groups (recommended, all, nursery) and severity levels
- Formatter configuration (indent style, line width, quotes, semicolons)
- Import organizer with custom group ordering
- CLI commands: check, format, lint, ci, migrate
- Migration from ESLint + Prettier
- Git hooks integration (Husky, Lefthook, `--staged` flag)
- CI integration with GitHub Actions and GitLab CI
- Editor integration (VS Code, JetBrains)
- Suppression comments (`biome-ignore`, `biome-ignore-all`, range suppressions)
- Nested configuration for monorepos
- Overrides for file-specific settings
---
Examples
- [Setup & Configuration](examples/core.md) — Installation, biome.json, VS Code, monorepos, framework configs
- [Linting Rules](examples/linting.md) — Rule groups, domains, suppressions, overrides, import ordering
- [Formatting](examples/formatting.md) — Formatter options, Prettier compatibility, option mapping
- [CI & Git Hooks](examples/ci.md) — GitHub Actions, GitLab CI, Husky, Lefthook, staged files
- [Migrating from ESLint/Prettier](examples/migration.md) — Automated migration, rule mapping, package cleanup
**Other resources:**
- [CLI Quick Reference](reference.md) — All CLI commands, flags, and configuration option tables
---
<philosophy>
Philosophy
Biome unifies linting, formatting, and import organizing into a **single tool with a single configuration file**. Built in Rust, it delivers 20x faster performance than ESLint + Prettier while maintaining 97% Prettier compatibility.
**Core principles:**
1. **One tool, one config** — biome.json replaces .eslintrc, prettier.config, and import sorting plugins 2. **Sensible defaults** — Biome works out of the box with recommended rules enabled; zero-config is a valid setup 3. **Speed as a feature** — Rust-powered binary processes large codebases in milliseconds, not seconds 4. **Unified commands** — `biome check --write` runs everything in one pass (lint + format + organize imports) 5. **Safe by default** — Safe fixes apply automatically; unsafe fixes require explicit `--unsafe` flag
</philosophy>
---
<patterns>
Core Patterns
Pattern 1: Basic biome.json Configuration
Every Biome project starts with a `biome.json` at the project root. Use `biome init` to scaffold one, then customize.
# Install Biome (always pin exact version)
npm install --save-dev --save-exact @biomejs/biome
# Create default biome.json
npx @biomejs/biome init
// biome.json — minimal recommended setup
{
"$schema": "https://biomejs.dev/schemas/2.4.7/schema.json",
"vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true },
"formatter": { "indentStyle": "space", "indentWidth": 2, "lineWidth": 100 },
"linter": { "rules": { "recommended": true } },
"assist": {
"enabled": true,
"actions": { "source": { "organizeImports": "on" } },
},
}**Why good:** `$schema` enables editor autocompletion, VCS integration respects `.gitignore`, explicit `indentStyle: "space"` avoids Biome's tab default, recommended rules provide a strong baseline
// BAD: No schema, no VCS, relying on defaults that differ from Prettier
{ "linter": { "enabled": true } }**Why bad:** Missing `$schema` loses au
Read more
name: shared-tooling-biome description: Biome v2 unified linter, formatter, and import organizer — single Rust-powered tool replacing ESLint + Prettier with 97% Prettier compatibility and 20x faster performance
Biome
> **Quick Guide:** Biome is a unified linter, formatter, and import organizer for JavaScript, TypeScript, JSX, TSX, JSON, CSS, and GraphQL. Single Rust binary replaces ESLint + Prettier with 97% Prettier compatibility. Use `biome.json` for all configuration. Run `biome check --write` to lint, format, and organize imports in one pass. Use `biome ci` in pipelines. > > **Current stable version:** Biome v2.4.x (March 2026). Biome v2 introduced type-aware linting, nested configs, and a revamped import organizer.
---
<critical_requirements>
CRITICAL: Before Using This Skill
> **All code must follow project conventions in CLAUDE.md** (kebab-case, named exports, import ordering, `import type`, named constants)
**(You MUST use `biome.json` or `biome.jsonc` for ALL configuration — Biome does not use JavaScript config files)**
**(You MUST pin Biome to an exact version with `--save-exact` — Biome formatting can change between versions)**
**(You MUST use `biome ci` in CI pipelines, NOT `biome check` — `ci` is read-only with no `--write` flag)**
**(You MUST use `biome check --write` for local development — runs linter, formatter, and import organizer in one pass)**
**(You MUST include `$schema` in biome.json for editor autocompletion and validation)**
</critical_requirements>
---
**Auto-detection:** Biome, biome.json, biome.jsonc, @biomejs/biome, biome check, biome lint, biome format, biome ci, biome-ignore, organizeImports, biome migrate
**When to use:**
- Setting up a unified linter + formatter for JavaScript/TypeScript projects
- Replacing ESLint + Prettier with a single, faster tool
- Greenfield projects wanting zero-config or minimal-config setup
- Large codebases where linting/formatting speed matters
- Configuring import organizing with custom group ordering
- Migrating from ESLint and/or Prettier to Biome
- Setting up CI pipelines with `biome ci`
- Configuring pre-commit hooks with Biome's `--staged` flag
**When NOT to use:**
- Projects requiring ESLint plugins with no Biome equivalent (e.g., custom framework-specific plugins)
- Projects heavily invested in custom ESLint rules that cannot be replicated
- Projects needing Markdown, YAML, or TOML formatting (Biome does not support these yet)
- Runtime code (this is build-time tooling only)
- Git hooks framework setup (Husky/Lefthook configuration is a separate concern)
- TypeScript compiler configuration (`tsconfig.json` is a separate concern)
**Key patterns covered:**
- biome.json configuration with formatter, linter, and assist settings
- Linter rule groups (recommended, all, nursery) and severity levels
- Formatter configuration (indent style, line width, quotes, semicolons)
- Import organizer with custom group ordering
- CLI commands: check, format, lint, ci, migrate
- Migration from ESLint + Prettier
- Git hooks integration (Husky, Lefthook, `--staged` flag)
- CI integration with GitHub Actions and GitLab CI
- Editor integration (VS Code, JetBrains)
- Suppression comments (`biome-ignore`, `biome-ignore-all`, range suppressions)
- Nested configuration for monorepos
- Overrides for file-specific settings
---
Examples
- [Setup & Configuration](examples/core.md) — Installation, biome.json, VS Code, monorepos, framework configs
- [Linting Rules](examples/linting.md) — Rule groups, domains, suppressions, overrides, import ordering
- [Formatting](examples/formatting.md) — Formatter options, Prettier compatibility, option mapping
- [CI & Git Hooks](examples/ci.md) — GitHub Actions, GitLab CI, Husky, Lefthook, staged files
- [Migrating from ESLint/Prettier](examples/migration.md) — Automated migration, rule mapping, package cleanup
**Other resources:**
- [CLI Quick Reference](reference.md) — All CLI commands, flags, and configuration option tables
---
<philosophy>
Philosophy
Biome unifies linting, formatting, and import organizing into a **single tool with a single configuration file**. Built in Rust, it delivers 20x faster performance than ESLint + Prettier while maintaining 97% Prettier compatibility.
**Core principles:**
1. **One tool, one config** — biome.json replaces .eslintrc, prettier.config, and import sorting plugins 2. **Sensible defaults** — Biome works out of the box with recommended rules enabled; zero-config is a valid setup 3. **Speed as a feature** — Rust-powered binary processes large codebases in milliseconds, not seconds 4. **Unified commands** — `biome check --write` runs everything in one pass (lint + format + organize imports) 5. **Safe by default** — Safe fixes apply automatically; unsafe fixes require explicit `--unsafe` flag
</philosophy>
---
<patterns>
Core Patterns
Pattern 1: Basic biome.json Configuration
Every Biome project starts with a `biome.json` at the project root. Use `biome init` to scaffold one, then customize.
# Install Biome (always pin exact version) npm install --save-dev --save-exact @biomejs/biome # Create default biome.json npx @biomejs/biome init
// biome.json — minimal recommended setup
{
"$schema": "https://biomejs.dev/schemas/2.4.7/schema.json",
"vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true },
"formatter": { "indentStyle": "space", "indentWidth": 2, "lineWidth": 100 },
"linter": { "rules": { "recommended": true } },
"assist": {
"enabled": true,
"actions": { "source": { "organizeImports": "on" } },
},
}**Why good:** `$schema` enables editor autocompletion, VCS integration respects `.gitignore`, explicit `indentStyle: "space"` avoids Biome's tab default, recommended rules provide a strong baseline
// BAD: No schema, no VCS, relying on defaults that differ from Prettier
{ "linter": { "enabled": true } }**Why bad:** Missing `$schema` loses au
Showing the first part of this file.
The official skills marketplace for Agents Inc. 150+ skills covering everything from React and Prisma to Redis, ElevenLabs, and infrastructure tooling. Pick the skills that match your stack and install them via Claude Code. Need more control?
Repo: agents-inc/skills
Other skills on agents-inc-skills.
- /ai-infrastructure-huggingface-inference
Hugging Face Inference SDK patterns for TypeScript/Node.js — InferenceClient setup, chat completion, text generation, streaming, embeddings, image generation, audio transcription, translation, summarization, and Inference Endpoints
Open skill - /ai-infrastructure-litellm
LiteLLM proxy server setup, TypeScript client patterns via OpenAI SDK, model routing, fallbacks, load balancing, spend tracking, virtual keys, and production deployment
Open skill - /ai-infrastructure-modal
Serverless GPU compute platform for AI model deployment — web endpoints, GPU functions, model serving, and TypeScript client patterns
Open skill - /ai-infrastructure-ollama
Local LLM inference with the Ollama JavaScript client -- chat, streaming, tool calling, vision, embeddings, structured output, model management, and OpenAI-compatible endpoint
Open skill - /ai-infrastructure-replicate
Replicate SDK patterns for TypeScript/Node.js -- client setup, predictions, streaming, webhooks, file handling, model versioning, deployments, and training
Open skill - /ai-infrastructure-together-ai
Together AI SDK patterns for TypeScript — client setup, chat completions, streaming, structured output, function calling, embeddings, image generation, fine-tuning, and OpenAI-compatible endpoints
Open skill

