Ultracite is a zero-config linting and formatting preset for JavaScript/TypeScript projects.

MITAuto-check passedDevelopment

Install Ultracite

skills CLI
$ npx skills add agustinusnathaniel/nextarter-tailwind --skill ultracite -a claude-code

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

GitHub CLI
$ gh skill install agustinusnathaniel/nextarter-tailwind ultracite --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/agustinusnathaniel/nextarter-tailwind.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/ultracite .claude/skills/ultracite && 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
ultracite
GitHub stars
125
Used in
2 other repos
Token cost
~1.2k tokens
SKILL.md length
433 words
Files
2 (incl. references)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Ultracite is a zero-config linting and formatting preset for JavaScript/TypeScript projects.

  • Works in 4 steps: Linter installation (biome/eslint/oxlint… → Config validity (extends ultracite… → Ultracite in package.json dependencies → …
  • Initializing Ultracite in a project (ultracite init)
  • SKILL.md covers Detecting Ultracite, CLI Commands, Initialization and Code Standards, plus 1 more section
  • Calls bunx and yarn

What it does

Ultracite is an agent skill from agustinusnathaniel/nextarter-tailwind. Ultracite is a zero-config linting and formatting preset for JavaScript/TypeScript projects. Use when: (1) Setting up or initializing Ultracite in a project (ultracite init), (2) Running linting or formatting commands (check, fix, doctor), (3) Writing or reviewing JS/TS code in a project that uses Ultracite — to follow its code standards, (4) Troubleshooting linting/formatting issues, (5) User mentions 'ultracite', 'lint', 'format', 'code quality', or 'biome/eslint/oxlint' in a project with Ultracite installed.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/code-standards.md`).

It sits in Development, covering Linting and formatting. It works with ESLint, TypeScript, JavaScript and Tailwind CSS. The repository describes itself as: battery packed template / boilerplate to initialize PWA ready Next.js app with TailwindCSS & Typescript setup ✨. The licence is MIT.

When your agent uses it

  • Initializing Ultracite in a project (ultracite init)
  • Running linting
  • Formatting commands (check
  • Reviewing JS/TS code in a project that uses Ultracite — to follow its code standards

Example prompts

  • “ultracite”
  • “format”
  • “code quality”
  • “/ultracite”

Workflow steps

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

  1. Linter installation (biome/eslint/oxlint binary available)
  2. Config validity (extends ultracite presets correctly)
  3. Ultracite in package.json dependencies
  4. Conflicting tools (old .eslintrc.*, .prettierrc.* files)

What it can do on your machine

Read from SKILL.md and the folder at commit 22ad8f3. 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
    • yarn

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

  • Network

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

Ultracite loads about 1.2k tokens when it runs, and up to ~2.3k if it reads all its reference files. Until then it costs about 132 tokens; SKILL.md has 433 words of instructions outside code blocks.

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

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

The full file from agustinusnathaniel/nextarter-tailwind at commit 22ad8f3, republished under its MIT licence (© agustinusnathaniel). 433 words, ~1,195 tokens.

Download SKILL.mdSave it as .claude/skills/ultracite/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
ultracite
description
Ultracite is a zero-config linting and formatting preset for JavaScript/TypeScript projects. Use when: (1) Setting up or initializing Ultracite in a project (ultracite init), (2) Running linting or formatting commands (check, fix, doctor), (3) Writing or reviewing JS/TS code in a project that uses Ultracite — to follow its code standards, (4) Troubleshooting linting/formatting issues, (5) User mentions 'ultracite', 'lint', 'format', 'code quality', or 'biome/eslint/oxlint' in a project with Ultracite installed.

Ultracite

Zero-config linting and formatting for JS/TS projects. Supports three linter backends: Biome (recommended), ESLint + Prettier, and Oxlint + Oxfmt.

Detecting Ultracite

Check if ultracite is in package.json devDependencies. Detect the active linter by looking for:

  • biome.jsonc → Biome
  • eslint.config.mjs → ESLint
  • oxlint.config.ts → Oxlint

CLI Commands

bash
# Check for issues (read-only)
bunx ultracite check

# Auto-fix issues
bunx ultracite fix

# Diagnose setup problems
bunx ultracite doctor

# Initialize in a new project
bunx ultracite init

Replace bunx with npx, pnpx, or yarn dlx depending on the package manager.

check and fix accept optional file paths: bunx ultracite check src/index.ts.

Initialization

bunx ultracite init runs an interactive setup. For non-interactive (CI) use, pass flags:

bash
bunx ultracite init \
  --pm bun \
  --linter biome \
  --editors universal \
  --agents claude copilot \
  --frameworks react next \
  --integrations husky lint-staged \
  --quiet

Flags:

  • --pm — npm | yarn | pnpm | bun
  • --linter — biome (recommended) | eslint | oxlint
  • --editors — universal (writes .vscode/settings.json for every VS Code-based editor) | vscode | zed | cursor | windsurf | antigravity | kiro | trae | void | bob | codebuddy
  • --agents — claude | codex | copilot | cline | amp | gemini | cursor-cli + 19 more
  • --frameworks — react | next | solid | vue | svelte | qwik | remix | angular | astro | nestjs
  • --integrations — husky | lefthook | lint-staged | pre-commit
  • --hooks — Enable auto-fix hooks for supported agents/editors
  • --type-aware — Enable type-aware linting (oxlint only)
  • --skip-install — Skip dependency installation
  • --quiet — Suppress prompts (auto-detected when CI=true)

Init creates config that extends Ultracite presets:

jsonc
// biome.jsonc
{ "extends": ["ultracite/biome/core", "ultracite/biome/react"] }

Framework presets available per linter: core, react, next, solid, vue, svelte, qwik, remix, angular, astro, nestjs.

Code Standards

When writing code in a project with Ultracite, follow these standards. For the full rules reference, see references/code-standards.md.

Key rules at a glance:

Formatting is handled by the project's configured linter/formatter. Respect the repository's existing formatter settings instead of forcing one fixed line width, quote style, or trailing comma policy.

Type safety: Use explicit types when they improve clarity. Prefer unknown over any. Use as const for immutable values and rely on type narrowing over blunt assertions.

Show full SKILL.md (171 more words)Show less

Modern JavaScript/TypeScript: Prefer const, destructuring, optional chaining, nullish coalescing, template literals, for...of, and concise arrow functions.

Async and correctness: Always await promises in async functions. Prefer async/await over promise chains. Remove console.log, debugger, and alert from production code.

React and accessibility: Use function components, keep hooks top-level with correct deps, avoid nested component definitions, and use semantic HTML with the right labels, headings, alt text, and keyboard affordances.

Organization, security, performance, and testing: Keep functions focused, prefer early returns, avoid dangerouslySetInnerHTML and eval(), prefer specific imports and top-level regex, and keep tests free of .only and .skip.

Troubleshooting

Run bunx ultracite doctor to diagnose. It checks:

  1. Linter installation (biome/eslint/oxlint binary available)
  2. Config validity (extends ultracite presets correctly)
  3. Ultracite in package.json dependencies
  4. Conflicting tools (old .eslintrc.*, .prettierrc.* files)

Common fixes:

  • Conflicting configs: Delete legacy .eslintrc.* and .prettierrc.* files after migrating to Ultracite
  • Missing dependency: Run bunx ultracite init again or manually add ultracite to devDependencies
  • Rules not applying: Ensure config file extends the correct presets for your framework

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

Files

SKILL.md and 1 other file (references) in .agents/skills/ultracite of agustinusnathaniel/nextarter-tailwind.

  • SKILL.md
  • references/code-standards.md

Open the folder on GitHubat commit 22ad8f3

Used in 2 other repositories

We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in agustinusnathaniel/nextarter-tailwind, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Ultracite 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.

Ultracite compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ultracite this skillagustinusnathaniel/nextarter-tailwind1252 repos~1.2kAutomated safety check: PassMIT
Typescript Rulessoftspark/ai-toolkit179—~2.7kAutomated safety check: NotesApache-2.0
Typescript Tooling MigrationArize-ai/phoenix12k—~2.8kAutomated safety check: PassApache-2.0
Ultracitesecondsky/claude-skills227—~6.5kAutomated safety check: PassMIT
Eslintmanagedcode/dotnet-skills486—~1.5kAutomated safety check: PassMIT
Code Qualityredis/RedisInsight8.9k—~1.2kAutomated safety check: PassCustom licence

Similar skills

  • Typescript Rules

    softspark/ai-toolkit

    TypeScript/JavaScript coding rules: style, patterns, security, testing.

    179 GitHub stars~2.7k tokensUpdated yesterday
    Testing & QAAuto-check: notes
  • Migrate or upgrade TypeScript tooling in the Phoenix monorepo.

    12k GitHub stars~2.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Ultracite

    secondsky/claude-skills

    Ultracite multi-provider linting/formatting (Biome, ESLint, Oxlint).

    227 GitHub stars~6.5k tokensUpdated 11 days ago
    DevelopmentAuto-check passed
  • Eslint

    managedcode/dotnet-skills

    Use ESLint in .NET repositories that ship JavaScript, TypeScript, React, or other Node-based frontend assets.

    486 GitHub stars~1.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Code Quality

    redis/RedisInsight

    Official

    Code-quality standards for RedisInsight: TypeScript strictness, naming conventions (camelCase, PascalCase, UPPERSNAKECASE), linting rules, no any without reason, no !important in styles, and…

    8.9k GitHub stars~1.2k tokensUpdated 5 days ago
    DevelopmentAuto-check passed
  • Port Rule

    web-infra-dev/rslint

    Port a new ESLint core or plugin rule to rslint, including explicitly requested batches.

    461 GitHub stars~1.7k tokensUpdated today
    DevelopmentAuto-check passed

Categories

Questions about Ultracite

What does Ultracite do?

Ultracite is a zero-config linting and formatting preset for JavaScript/TypeScript projects. Ultracite is an agent skill from agustinusnathaniel/nextarter-tailwind. Ultracite is a zero-config linting and formatting preset for JavaScript/TypeScript projects.

When should I use Ultracite?

Ultracite fits situations like: initializing Ultracite in a project (ultracite init); running linting; formatting commands (check; reviewing JS/TS code in a project that uses Ultracite — to follow its code standards.

How do I install Ultracite in Claude Code?

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

How do I install Ultracite in Codex?

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

Can I use Ultracite 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 agustinusnathaniel/nextarter-tailwind --skill ultracite -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ultracite, .gemini/skills/ultracite, .github/skills/ultracite and .opencode/skills/ultracite in your project.

What does Ultracite need to run?

Going by SKILL.md and its folder, Ultracite needs the command-line tools its instructions call (bunx and yarn).

Does Ultracite 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 Ultracite 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 Ultracite use?

Ultracite 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 Ultracite 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. Its references folder adds about 1.1k tokens, read only when the agent opens those files.

What are the alternatives to Ultracite?

Skills that share tags, products or a category with Ultracite: Typescript Rules (softspark/ai-toolkit, 179 stars), Typescript Tooling Migration (Arize-ai/phoenix, 12k stars), Ultracite (secondsky/claude-skills, 227 stars) and Eslint (managedcode/dotnet-skills, 486 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ultracite?

agustinusnathaniel (a GitHub user) maintains it in agustinusnathaniel/nextarter-tailwind, which has 125 GitHub stars. The repository was last updated on September 28, 2026.

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