Skip to content
Development
Skill

/ultracite

Ultracite multi-provider linting/formatting (Biome, ESLint, Oxlint). Use for v6/v7 setup, provider selection, Git hooks, MCP integration, AI hooks, migrations, or encountering configuration, type-aware linting, monorepo errors.

From plugin
claude-skills
241183 skills42 agents62 commands2 MCP

Claude Code

$ npx -y skills add secondsky/claude-skills --skill ultracite --agent claude-code

SKILL.md

ultracite.SKILL.md
name: ultracite
description: Ultracite multi-provider linting/formatting (Biome, ESLint, Oxlint). Use for v6/v7 setup, provider selection, Git hooks, MCP integration, AI hooks, migrations, or encountering configuration, type-aware linting, monorepo errors.
license: MIT
metadata:
  version: 2.0.0
  dependencies:
    ultracite: latest
    "@biomejs/biome": ">=2.0.0"
    eslint: ">=8.0.0 (when using ESLint provider)"
    oxlint: ">=0.1.0 (when using Oxlint provider)"
  runtime: Node.js v20+
  package_managers:
    - bun (preferred)
    - npm
    - pnpm
    - yarn
  frameworks_supported:
    - React
    - Next.js
    - Vue
    - Svelte
    - Solid
    - Angular
    - Remix
    - Qwik
    - Astro
  git_hook_managers:
    - husky
    - lefthook
    - lint-staged
  editors_supported:
    - VS Code (Biome extension)
    - Cursor
    - Claude Code
    - Zed
    - Cline
    - Windsurf
  keywords:
    - ultracite
    - biome
    - linting
    - formatting
    - code quality
    - eslint replacement
    - prettier replacement
    - typescript strict mode
    - rust linter
    - fast formatter
    - auto-fix
    - git hooks
    - pre-commit
    - husky
    - lefthook
    - lint-staged
    - react linting
    - nextjs linting
    - vue linting
    - svelte linting
    - monorepo linting
    - turborepo
    - AI coding rules
    - cursor rules
    - claude code rules
    - copilot instructions
    - accessibility linting
    - security linting
    - performance linting
    - jsx linting
    - hooks linting
    - migration from eslint
    - migration from prettier
    - biome.jsonc
    - zero config
    - code formatting
    - import sorting
    - unused imports
    - strict equality
    - type safety
    - oxlint
    - oxfmt
    - eslint integration
    - multi-provider
    - provider selection
    - mcp server
    - ai hooks
    - type-aware linting
    - ultracite doctor
    - programmatic usage
    - v6 upgrade
    - v7 upgrade
    - preset migration

Ultracite Skill

**Fast, zero-config linting and formatting for modern JavaScript/TypeScript projects**

Overview

Ultracite is a unified linting and formatting solution that supports multiple providers: **Biome** (default, Rust-based), **ESLint+Prettier+Stylelint**, and **Oxlint+Oxfmt**. It provides framework-specific presets and zero-configuration defaults, replacing traditional ESLint+Prettier setups with a faster, simpler alternative. Ultracite operates invisibly in the background, automatically formatting code and applying fixes on every save.

**Version 7 Changes**: Multi-provider architecture, preset path migration, MCP server support, AI hooks **Version 6 Changes**: Framework-specific presets introduced (React, Next.js, Vue, Svelte, etc.)

Core Goals

1. **Lightning-Fast Performance**: Leverages Biome's Rust implementation for instant linting/formatting 2. **Zero-Config Design**: Ships with 200+ sensible defaults optimized for modern TypeScript development 3. **Simplicity & Invisibility**: Operates with minimal user interaction 4. **Type Safety**: Enforces TypeScript strict mode and comprehensive null/undefined handling 5. **Tool Compatibility**: Works alongside other development tools without conflicts

Key Benefits vs Alternatives

**vs ESLint + Prettier:**

  • 10-100x faster performance (Rust vs JavaScript)
  • Single tool instead of two
  • Zero configuration needed
  • Auto-fixes on save by default
  • Built-in TypeScript strict mode

**vs Biome alone:**

  • 200+ preconfigured rules
  • Framework-specific presets (React, Next.js, Vue, Svelte)
  • AI editor integration (Cursor, Claude Code, Copilot)
  • Git hook integrations
  • Migration tooling

When to Use This Skill

✅ Ideal Projects

Use Ultracite when:

  • Starting a new JavaScript/TypeScript project
  • Building with React, Next.js, Vue, Svelte, or other modern frameworks
  • Working in monorepos (Turborepo, Nx, Lerna)
  • Teams want consistent formatting without bikeshedding
  • Performance is critical (large codebases, CI/CD optimization)
  • Migrating from ESLint + Prettier to a faster solution
  • Using AI coding assistants (Cursor, Claude Code, Windsurf)
  • TypeScript projects requiring strict type safety
  • Projects with accessibility requirements (ARIA, semantic HTML)

⚠️ Consider Alternatives When

**Limited framework support:**

  • Need Angular/Ember-specific rules (Biome support is basic)
  • Require advanced CSS linting (Stylelint still recommended)

**Specialized requirements:**

  • Need specific ESLint plugins not replicated in Biome
  • Require property ordering in CSS (Stylelint feature)
  • Team has extensive custom ESLint configurations

**Legacy projects:**

  • Large codebases with custom ESLint rules (migration effort required)
  • Projects with extensive Prettier customization

**For detailed limitations and workarounds, see**: `references/limitations-and-workarounds.md`

Interactive Components

This skill provides interactive commands and autonomous agents for streamlined workflows:

Commands

  • `/ultracite:doctor` - Validate project setup, check for v6→v7 preset paths, detect conflicts
  • `/ultracite:migrate` - Interactive migration wizard (ESLint/Prettier → Ultracite, v6→v7 upgrade)

Agents

  • `config-validator` - Analyze biome.jsonc for syntax, preset paths, rule conflicts, performance
  • `migration-assistant` - Guide ESLint/Prettier migrations with rule mapping and gap analysis

**See README.md for complete interactive features documentation.**

Choosing a Provider

Ultracite v7 supports three linting providers. Choose based on your needs:

🚀 Biome (Default) - **Recommended for most projects**

  • **Speed**: Fastest (10-100x faster than ESLint)
  • **Setup**: Zero-config with 200+ preset rules
  • **Best for**: New projects, TypeScript-first development, performance-critical builds
  • **Limitations**: Fewer rules than ESLint, basic CSS/SCSS support

🔧 ESLint + Prettier + Stylelint - **Recommended for maximum compatibility**

  • **Speed**: Slower but mature ecosystem
Read more
@secondsky
Ships withclaude-skills

145 production-ready skills for Claude Code CLI 🔌 Platform / Harness Support These plugins ship as Claude Code marketplace plugins (.claude-plugin/ manifests) and Codex CLI plugins (.codex-plugin/ manifests).

241183 skills42 agents2 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
241
Star history of secondsky/claude-skills on GitHub, a chart by star-history.com

Other skills on claude-skills.

aceternity-ui

aceternity-ui

100+ animated React components (Aceternity UI) for Next.js with Tailwind. Use for hero sections, parallax, 3D effects, or…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills13d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react4d252k
@facebook@facebookInstall Skill

Questions about ultracite.

Which coding agents can use ultracite?
ultracite installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.